zabbix3

发布时间:2019-08-26 07:19:02编辑:auto阅读(1658)

    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=<key>[*],<command>

    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

关键字