概述
在某些情况下,Metrics 监控的 2 大顶流:
- Zabbix: 用于非容器的虚拟机环境
- Prometheus: 用于容器的云原生环境
是共存的。但是在这种情况下,统一监控展示就不太方便,本文介绍利用 Grafana 对接 Zabbix, 来作为统一监控展示端。Let's go!
在这里,主要是用到了 alexanderzobnin/grafana-zabbix 开源项目。
Grafana-Zabbix 功能亮点
Grafana-Zabbix 是 Grafana 的一个插件,允许可视化来自 Zabbix 的监控数据,并创建用于分析指标和实时监控的仪表板。 该项目的主要目标是扩展 Zabbix 的监控数据可视化功能,并提供快速、强大的方法来创建仪表板。
Grafana 与 Grafana-Zabbix 插件相结合,可以创建很棒的仪表板。 Grafana-Zabbix 有如下的功能亮点:
- 丰富的绘图功能;
- 使用 Regex 选择多个指标;
- 使用模板 (template) 变量 (variableds) 创建交互式和可重用的仪表板;
- 在带有注释 (Annotations) 的图形上显示事件
- 使用指标处理函数(平均值 Avg、中值 Median、最小值 Min、最大值 Max、乘 Multiply、汇总 Summarize、时移 Time shift、别名 Alias)转换和调整数据
- 在同一仪表板或面板中混合来自多个数据源的指标
- 在 Grafana 中创建告警
- 使用 Problems 面板显示 triggers
- 在官方库中发现和共享仪表板
快速演示
接下来我们进行一个快速演示,所有资源都安装在 K8s 中。
- (前提)安装 K3s
- 安装 Grafana
- 安装 Zabbix
- 在 Grafana 上安装 Grafana-Zabbix 插件并启用
- 在 Grafana 上配置 DB 数据源和 Zabbix 数据源
- 在 Grafana 上导入 Zabbix 仪表板并查看监控效果
- (可选)在 Grafana 上基于 Zabbix 指标配置告警
安装 K3s
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyunccnblogs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
安装完成后执行以下命令查看运行状态:
sudo systemctl status k3s.service
kubectl get node
kubectl get addons -A
安装 Grafana
使用 Helm 安装:
# 添加 Grafana repo
helm repo add grafana https://grafana.github.io/helm-charts
# 安装
helm upgrade --install my-release grafana/grafana -n grafana --create-namespace --set persistence.enabled=true --set service.type=NodePort
这里为了后续使用方便加了 2 个参数:
persistence.enabled=true
数据持久化,重启不丢失service.type=NodePort
方便通过 NodePort 直接访问 Grafana UI
安装 Zabbix
为了图省事,也直接将 Zabbix 安装在 K3s 中。
但是