Zabbix的高级应用
1.展示接口:
(1)graph:
simple graph:每个Item对应的展示图形;
custom graph:创建一个融合了多个simple graph的单个graph;
(2)screen:
把多个custom graph整合于一个屏幕进行展示;
(3)slide show:
将多个screen以幻灯片的方式进行轮流展示;
(1)graph
创建两个item对入站出站的字节数进行监控
1.png
基于入站监控,可以直接克隆一个出站监控,只需要把in改为out即可。
然后在hosts里面点击Graphs,创建新的graph。
2.png
3.png
创建好了,查看graphs可以看到四个监控项,放到了同一张graph里面。
4.png
(2)screen
新建两个graph
5.png
6.png
在screens里面创建新的screen,然后Edit screen,添加新的graph,即可看到多张graph展示在同一个screen上面。
7.png
8.png
(3)slide show
如果监控的项目太多,一个screen装不下,可以将多个screen以幻灯片的方式进行轮流展示
创建slide shows,添加两个screen。
9.png
查看slide shows可以看到两个screen每隔5秒,切换一次,如下两张图。
10.png
11.png
2.模板(Template)
一系列配置的集合,它可以方便地快速部署在某个监控对象上,并且支持重复使用;
模板可以继承的,即:在创建模板时,可以链接其他模板;
模板的应用方法:link,unlink,unlink and clear
创建模版
12.png
在模版中创建一个application监控nginx service
为了监控nginx状态,在nginx的主配置文件的server中添加location监控nginx的状态值。
1
2
3
4
[root@zrs2 ~]# vim /etc/nginx/nginx.conf
location /status {
stub_status on;
}
重启服务,查看状态
1
2
3
4
5
6
[root@zrs2 ~]# systemctl restart nginx.service
[root@zrs2 ~]# curl 172.16.1.4/status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
监控nginx的状态,需要item的key,默认的没有,需要自定义参数UserParameters
3.自定义参数(UserParameters)
在zabbix-agent端的配置文件中,通过UserParameter指令定义的key;
UserParameter=
nginx自定义参数示例:
1
2
3
4
5
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://172.16.1.4/status | awk '/^Active/{print $NF}'
UserParameter=nginx.accepts,curl -s http://172.16.1.4/status | awk '/^[[:space:]]+[0-9]/{print $1}'
UserParameter=nginx.handled,curl -s http://172.16.1.4/status | awk '/^[[:space:]]+[0-9]/{print $2}'
UserParameter=nginx.requests,curl -s http://172.16.1.4/status | awk '/^[[:space:]]+[0-9]/{print $3}'
保存退出,重启服务
[root@zrs2 zabbix_agentd.d]# systemctl restart zabbix-agent.service
在server端查看,可以不用eno查看状态,直接用第二种方法就能获取值
1
2
3
4
5
6
7
8
9
10
[root@zrs1 ~]# zabbix_get -s 172.16.1.4 -k net.if.in[eno16777736,bytes]
278746802
[root@zrs1 ~]# zabbix_get -s 172.16.1.4 -k nginx.active
1
[root@zrs1 ~]# zabbix_get -s 172.16.1.4 -k nginx.accepts
3
[root@zrs1 ~]# zabbix_get -s 172.16.1.4 -k nginx.handled
4
[root@zrs1 ~]# zabbix_get -s 172.16.1.4 -k nginx.requests
5
创建新的item项,可以输入刚才自定义的key,如下
13.png
再创建一个nginx监控项,key的值任然是之前创建的,由于这个数值是不断增长的,需要在preprocessing里面改为Change per second
14.png
根据accepts监控,直接克隆一个handled和一个requests
15.png
16.png
可以为这几个item创建一个graph
17.png
重新创建一个监控nginx的host,把之前的host删除
18.png
然后在Templates里面添加应用之前创建的模版
19.png
可以看到,之前创建的4个item和一个graph都已经应用了
20.png