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