- A+
目录
本文通过自定义监控Nginx来说明自动移
1. zabbix自定义item
需求:监控nginx的存活状态方法
1.
yum -y install nginx
2.
##/etc/zabbix/zabbix_agentd.conf Include=/etc/zabbix/zabbix_agentd.d/*.conf #<== 包含此路径下的配置 UnsafeUserParameters=0 #<== 是否允许使用特殊字符(1允许,0不允许),这里改为1
3.
[root@linux-node2 ~]# systemctl start nginx [root@linux-node2 ~]# netstat -lntup|grep 80 tcp 00 0.0.0.0:80 0.0.0.0:* LISTEN 36957/nginx: master tcp6 00 :::80 :::* LISTEN 36957/nginx: master ##获取nginx的状态 [root@linux-node2 ~]# curl --head http://127.0.0.1 HTTP/1.1 200 OK Server: nginx/1.12.2 Date: Thu, 23 Nov 2017 01:49:12 GMT Content-Type: text/html Content-Length: 3700 Last-Modified: Wed, 18 Oct 2017 08:08:18 GMT Connection: keep-alive ETag: "59e70bf2-e74" Accept-Ranges: bytes ##判断nginx是否存活命令(返回1则表示nginx存活) curl -I -s http://127.0.0.1|grep '200 OK'|wc -l
4.
[root@linux-node2 ~]# cd /etc/zabbix/zabbix_agentd.d/ [root@linux-node2 zabbix_agentd.d]# vim zabbix-nginx.conf #<== 这里的名字自定义即可 UserParameter=nginx-alive,curl -I -s http://127.0.0.1|grep '200 OK'|wc -l
说明:
UserParameter= |
nginx-alive |
, |
curl -I -s http://127.0.0.1|grep '200 OK'|wc -l |
关键字,不能变动 |
键值(自定义) |
逗号分隔符 |
shell命令(这里shell命令取的值传给的是我们定义的键值) |
5.
systemctl restart zabbix-agent.service
6. 测试
##在服务端使用zabbix_get命令模拟发送一个数据给agent,看它有没有返回值 [root@linux-node1 ~]# zabbix_get -s 192.168.56.12 -k nginx-alive 1 #<== 如果你在服务端使用zabbix-get能获取到键值,就说明你配置的是成功的。
7. zabbix-web
我们在linux-node2上面创建item
创建监控项(item):
填写监控项配置:
到这里然后点击下方Add/添加即可
到了这里我们怎么确定到底加没加上呢?可以到最新数据一栏里面查看
操作步骤:检测中 ===> 最新数据
到这里就算成功添加一个item了!!!
2. 创建触发器
我们创建item的原因就是如果Nginx挂掉就发送报警,所以这里我们还要配置一个触发器然后才可引发报警
这里我们还是选择linux-node2进行创建,如下点击触发器并创建
编辑配置触发器:
以上操作完成后,我们就可以测试模拟Nginx挂掉(关闭Nginx)看是否报警,回到zabbix监控查看报警情况
[root@linux-node2 ~]# systemctl stop nginx
报警页面如下:
邮箱也发送成功
到这里触发器就算配置成功啦!