zabbix监控k8s

zabbix监控k8s

参考资料

现状我已经部署了zabbix-server,但是没有在k8s部署zabbix-agent

zabbix-agent和zabbix-proxy的区别

  • Zabbix 代理默认以 DaemonSet 的形式部署在所有集群节点上,以被动模式监控各个节点主机资源,使用“Linux by Zabbix agent”模板。
  • Zabbix 代理以单副本的 Deployment 形式(默认)以活动模式安装在集群中。它从 Kubernetes API、kube-state-metrics 端点和 Zabbix 代理收集数据。所有收集的数据都会先在本地缓存,然后再传输到代理所属的外部 Zabbix 服务器 ,用于监控

安装步骤

  • 添加仓库
helm repo add zabbix-chart-7.0  https://cdn.zabbix.com/zabbix/integrations/kubernetes-helm/7.0
  • 将图表 zabbix-helm-chart 的默认值导出到文件 $HOME/zabbix_values.yaml:
helm show values zabbix-chart-7.0/zabbix-helm-chart > $HOME/zabbix_values.yaml
  • env.ZBX_SERVER_HOST 文件 $HOME/zabbix_values.yaml 中的环境变量更改为用于监控且可由 Zabbix 代理访问的 Zabbix 服务器的地址。例如我的zabbix-server的地址是192.168.1.100,那么我需要将 env.ZBX_SERVER_HOST 改为 192.168.1.100

  • 列出集群的命名空间

kubectl get namespaces
  • 如果集群中不存在命名空间监控,请创建命名空间monitoring
kubectl create namespace monitoring
  • 在 Kubernetes 集群中部署图表 zabbix-helm-chart 到命名空间 monitoring
helm install zabbix zabbix-chart-7.0/zabbix-helm-chart  --dependency-update -f $HOME/zabbix_values.yaml -n monitoring
  • 获取服务帐户名称。如果使用其他版本名称。
kubectl get serviceaccount -n monitoring
  • 获取为服务帐户自动创建的令牌TOKEN:
kubectl get secret -n monitoring zabbix-agent -o jsonpath='{.data.token}' | base64 -d

这样就安装了zabbix-agent和zabbix-proxy.

zabbix-server配置

创建zabbix-proxy

  • administration -> proxies -> create proxy ->proxy name: zabbix-proxy
  • zabbix-proxy是默认值,无需修改.直接保存即可.等待一会,zabbix-proxy的状态变成online.

创建node监控

  • 选择模板Kubernetes nodes by HTTP
image.png
  • 在 宏 - 继承及主机 宏 中,修改两个宏:
{$KUBE.API.URL}
{$KUBE.API.TOKEN}
image.png

创建集群监控

选择模板Kubernetes cluster state by HTTP,其他的都是一样的配置.
我必须很悲伤的告诉你,虽然每一步都正常,但是由于我的监控指标显示7283个,可能触发了zabbix的bug,所有指标都正常的情况下,zabbix没有图标显示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容