之前提到了 Grafana 的安装部分,本文将对数据源进行探讨。
正文
本文将演示三种数据源,分别是 Zabbix,Prometheus,夜莺。
本文环境
- Grafana 8.3.4
- CentOS 7.9
Zabbix
Zabbix 数据源接入需要安装第三方插件,名称为 alexanderzobnin-zabbix-app,这个插件可以在 Grafana 官网入口找到。
安装方法
1、命令行方式(通过 grafana-cli)
代码语言:javascript复制grafana-cli plugins install alexanderzobnin-zabbix-app
代码语言:javascript复制systemctl restart grafana-server
2、直接下载安装包,版本号以 github 上为主,截止发文日期,版本号为4.2.4,拷贝到 /var/lib/grafana/plugins
,目录下并解压,然后重启 grafana 服务即可,如果没有 unzip 功能,可以在线安装。
yum -y install unzip #可选
wget https://github.com/alexanderzobnin/grafana-zabbix/releases/download/v4.2.4/alexanderzobnin-zabbix-app-4.2.4.zip
mv alexanderzobnin-zabbix-app-4.2.4.zip /var/lib/grafana/plugins
unzip alexanderzobnin-zabbix-app-4.2.4.zip
systemctl restart grafana-server
3、grafana 首页直接安装(最新版本才有),在插件页搜索 zabbix,都选择 all,点击进去可以在线安装,如下图。
启用插件
入口路径为:Configuration –> Plugins 在搜索栏输入 zabbix
添加数据源
入口路径为:Configuration –> Data sources Zabbix 数据源界面需要注意的是 URL 部分,前端的地址 api_jsonrcp.php,前端地址白话来说就是在浏览器访问 Zabbix 的地址。本文 zabbix 就是纯 IP 访问。Zabbix API details 部分需要填写的字段为 Username 和 Password ,该用户需要有权限访问相关资源。最后点击 Save & test。
Prometheus
Promethues 对接相对简单,默认情况下自带 Prometheus 源,在添加源首页即可看到 Prometheus 。
配置源
点击进入 Prometheus 后,需要填写的和 Zabbix 稍微有点区别,当然我这里指的是默认情况下,需要填写的部分为 URL,默认为http://prometheus的ip:9090,既可以点击测试了。
出图
选择 Prometheus 源,和 zabbix 不一样的是 Prometheus 的监控项为 PromQL 语句,如果用习惯了 Zabbix 的朋友,可能会有点不太习惯,但是这种方式做聚合计算非常方便,这里以 node_memory_MemAvailable_bytes{job="local"}
为例(查看可用内存大小,单位已经设置为字节)。
夜莺
这里仅指 NTVM 架构,也就是 Nightingale Telegraf VictorMetrics,而 NTP(Nightingale Telegraf Prometheus) 架构沿用接入 Prometheus 部分即可
由于 VictorMetrics 完全兼容 Prometheus 语法,所以对接 grafana 同样采用 Prometheus 源即可。
配置源
选择 Prometheus 源后,需要填写的 URL 部分的端口号需要调整,不再是 9090,而是 8428,当然具体看自身环境判断(本文为 8428),在夜莺的 server.conf 配置里查看。(在 Reader 部分),最后点击测试。
出图
和 Prometheus 一样,监控项也是通过 PromQL 语句实现,这里以 mem_available{ident="kasar03.novalocal"}
为例(查看可用内存大小,单位已经设置为字节),由于我采用的是 NTVM 架构,而且 Prometheus 配置文件配置了远程写,所以这里同样也可以查看 Prometheus 的指标。
写在最后
三种数据源到这里已经接入完毕,整体来看 Zabbix 数据源出图更加便捷,只不过需要安装额外插件,而且在这过程会遇到一些未知问题,而夜莺和 Prometheus 的源接入更加简单,但监控项的语法相对比较麻烦,鱼和熊掌不可兼得。