使用 iKuai Exporter 监控爱快的网络情况

使用 iKuai Exporter 监控爱快的网络情况

爱快软路由有非常完善的监控功能,但因为是爱快自己的体系,很不灵活,只能满足基本的使用,没法在 Prometheus 里使用,想要做些告警的功能就更不行了。

再加上最近跑网心云的虚机挂了几天才发现,搞一套内网的监控告警体系迫在眉睫了。对于家庭内网的监控告警,有几个需求需要满足:

  1. 能统计每天设备的流量
  2. 能对公网在线状态进行监控告警
  3. 能对设备的在线状态进行监控告警
阅读更多

使用 JWT 实现会话认证

基于 JWT 来实现 Token 认证很简单,相对复杂的签名认证算法都已经封装到工具包里,使用起来很容易。

而真正造成 JWT 的应用困难其实是在适应业务上,并不是所有业务都适合原生的 JWT 特性。我们很多时候选型使用 JWT 看重的是其无状态和校验方便的优点,但在实际的业务场景中经常是要 Revoke 功能的。

如果要实现 Token 的 Revoke 那 Token 会变成有状态,这让人使用起来非常纠结。 我都有状态了为啥还要用 JWT?直接生成一个 ID 存 Redis 不更简单?直接用 Redis 缓存有效性来控制 Token 的有效性,失效删除就好了。

最终选择使用 JWT 作为 Token 主要是基于以下考虑:

  1. JWT 实现完善,有丰富的开发工具包;
  2. 不需要自己再设计一套 Token 结构和校验算法;
  3. 可以利用 JWT 进行前置验证(JWT 正确性、是否超时失效),避免每次都查询缓存;
  4. JWT 可以基于 Payload 存储数据,使用很灵活,可以提供保存一些数据在 Token 中避免查询;
  5. JWT 签名方法很丰富,能满足以后演进的需要,能实现一处签发,多处验证。
阅读更多