IoT 边缘集群基于 Kubernetes Events 的告警通知实现

打印 上一主题 下一主题

主题 511|帖子 511|积分 1533

背景

边缘集群(基于 树莓派 + K3S) 需要实现基本的告警功能。
边缘集群限制


  • CPU/内存/存储 资源紧张,无法支撑至少需要 2GB 以上内存和大量存储的基于 Prometheus 的完整监控体系方案(即使是基于 Prometheus Agent, 也无法支撑) (需要避免额外的存储和计算资源消耗)
  • 网络条件,无法支撑监控体系,因为监控体系一般都需要每 1min 定时(或每时每刻)传输数据,且数据量不小;

    • 存在 5G 收费网络的情况,且访问的目的端地址需要开通权限,且按照流量收费,且因为 5G 网络条件,网络传输能力受限,且不稳定(可能会在一段时间内离线);

关键需求

总结下来,关键需求如下:

  • 实现对边缘集群异常的及时告警,需要知道边缘集群正在发生的异常情况;
  • 网络:网络条件情况较差,网络流量少,只只能开通极少数目的端地址,可以容忍网络不稳定(一段时间内离线)的情况;
  • 资源:需要尽量避免额外的存储和计算资源消耗
方案

综上所诉,采用如下方案实现:
基于 Kubernetes Events 的告警通知
架构图


技术方案规划


  • 从 Kubernetes 的各项资源收集 Events, 如:

    • pod
    • node
    • kubelet
    • crd
    • ...

  • 通过 kubernetes-event-exporter 组件来实现对 Kubernetes Events 的收集;
  • 只筛选 Warning 级别 Events 供告警通知(后续,条件可以进一步定义)
  • 告警通过 飞书 webhook 等通信工具进行发送(后续,发送渠道可以增加)
实施步骤

手动方式:
在边缘集群上,执行如下操作:
1. 创建 roles

如下:
[code]cat

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

风雨同行

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表