granafa 添加zabbix插件和接入zabbix数据源
grafana简介
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。
grafana七大特点
- 可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志。
- 报警:可视化地为最重要的指标定义警报规则。Grafana将持续评估它们,并发送通知。
- 通知:警报更改状态时,它会发出通知。接收电子邮件通知。
- 动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部。
- 混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源。
- 注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记。
- 过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://dl.grafana.com/oss/release/grafana-8.2.0-1.x86_64.rpm
--2021-10-08 10:17:41-- https://dl.grafana.com/oss/release/grafana-8.2.0-1.x86_64.rpm
正在解析主机 dl.grafana.com (dl.grafana.com)... 151.101.54.217, 2a04:4e42:6::729
正在连接 dl.grafana.com (dl.grafana.com)|151.101.54.217|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:66080608 (63M) [application/x-redhat-package-manager]
正在保存至: “grafana-8.2.0-1.x86_64.rpm”
grafana-8.2.0-1.x 100%[=============>] 63.02M 9.48MB/s 用时 9.0s
2021-10-08 10:17:51 (6.97 MB/s) - 已保存 “grafana-8.2.0-1.x86_64.rpm” [66080608/66080608])
[root@localhost src]# yum -y install grafana-8.2.0-1.x86_64.rpm
······
已安装:
grafana-8.2.0-1.x86_64
完毕!
[root@localhost src]# systemctl daemon-reload
[root@localhost src]# systemctl start grafana-server
[root@localhost src]# systemctl enable grafana-server
Synchronizing state of grafana-server.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
[root@localhost src]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:3000 *:*
一、plugins 的存放目录
grafana的默认插件存放目录:/var/lib/grafana/plugins
若要修改plugins的默认存放目录,需修改以下两个文件:
[root@node1 src]# more /etc/init.d/grafana-server
PLUGINS_DIR=/var/lib/grafana/plugins
[root@node1 src]# vi /etc/grafana/grafana.ini
;plugins = /var/lib/grafana/plugins
二、查看当前已安装的插件:
[root@node1 src]# grafana-cli plugins ls
installed plugins:
grafana-piechart-panel @ 1.3.3
Restart grafana after installing plugins . <service grafana-server restart>
[root@node1 src]# grafana-cli plugins install alexanderzobnin-zabbix-app
三、查看能安装的插件:
1、通过命令查看:
[root@node1 src]# grafana-cli plugins list-remote
id: abhisant-druid-datasource version: 0.0.5
id: aceiot-svg-panel version: 0.0.8
id: ae3e-plotly-panel version: 0.3.3
id: agenty-flowcharting-panel version: 0.9.0
id: aidanmountford-html-panel version: 0.0.1
id: akumuli-datasource version: 1.3.11
id: alexanderzobnin-zabbix-app version: 4.1.4
id: alexandra-trackmap-panel version: 1.2.5
id: andig-darksky-datasource version: 1.0.1
2、登录grafana官网查看:
访问 grafana.com 主页,点击plugins
例如,选择zabbix的插件安装:
四、安装插件:
1、在线安装:
grafana-cli plugins install alexanderzobnin-zabbix-app
速度很慢,建议选择离线安装;
2、离线安装:
进入grafna 官网的plugins 页面,找到zabbix对应的插件,点击 Installation,点击下面的download the .zip file 即离线下载,
下载后上传到linux虚拟机上:
https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app/?tab=installation
之后 unzip 该压缩包,并mv 解压后的文件夹到 plugins 数据目录 /var/lib/grafana/plugins/:
[root@node1 src]# unzip alexanderzobnin-zabbix-app-4.1.4.zip
[root@node1 src]# mv alexanderzobnin-zabbix-app /var/lib/grafana/plugins/
五、验证:检查是否安装成功:
[root@node1 src]# grafana-cli plugins ls
installed plugins:
alexanderzobnin-zabbix-app @ 4.1.4
grafana-piechart-panel @ 1.3.3
Restart grafana after installing plugins . <service grafana-server restart>
六、重启服务生效:
[root@node1 src]# systemctl restart grafana
七、登录grafana 的web页面,进行配置:
1、配置zabbix插件生效
点击 plugins ,找到zabbix,点击enable
2、增加DataSource:
选择zabbix 类型的:
url填zabbix服务器的地址:
数据源配置:type=Zabbix、url、Zabbix 的账号、Zabbix 的密码。
url 格式为:http://ip:8081/api_jsonrpc.php
grafana 面板
在 Dashboards 中新建一个面板。
把 Panel data source 数据源改成 zabbix 数据源。
可用内存设置面板中参数如下:
Group=Linux servers (这个参数在 zabbix 设置过)
Host=zabbix-agent-service-a
Application=Memory
Item=Available memory
grafana 使用模版
在 https://grafana.com/dashboards 中提供很多第三方模版 , 使用 Dashboard Servers Linux 这个模版
复制模版的 id
配置模版信息
最终在一个面板中展示了当前 CPU、内存等,相对原始的数据展示更加直观。
结语
Linux 服务器监控在实际工作中大部分是运维的工作,随着测试工程师的职责越来越广了,测试运维这个岗位也会在以后的工作中慢慢展开。
另外像测试组自己的服务器和在压测中使用的压测机器,也可以搭建监控系统来监控数据。