NO.A.0006——zabbix-server邮件告警/nginx字段监控
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NO.A.0006——zabbix-server邮件告警/nginx字段监控相关的知识,希望对你有一定的参考价值。
一、批量在服务端向client端发布命令:
//在zabbix服务端批量向client发送命令查看agent的进程:
[root@localhost ~]# ansible zabbix -m shell -a " ps -ef |grep zabbix_agent"
[root@localhost ~]# ansible zabbix -m shell -a "/etc/init.d/zabbix_agentd start"
[root@localhost ~]# vim /etc/ansible/ansible.cfg 编辑配置文件。
command_warnings = False
host_key_checking = False
二、zabbix-agent邮件告警
1、配置邮件报警,必须有哪些必备的组件,操作和步骤:
发送邮件的服务器(SMTP):
发送邮件的发件件人
接收邮件的收件人
发送邮件的标题,内容信息
满足触发器才发送邮件(服务异常,宕机)
配置E-mail电子邮件告警:
1>配置发件服务器和发件人
告警 ——> 报警媒介类型 ——> E-mail配置(图一)
图一
2>配置收件人
配置 ——> 用户 ——> Admin ——> 报警媒介(图二)
图二
3>发送邮件的标题,内容信息、满足触发器才发送邮件(服务异常,宕机)
配置 ——> 动作 ——> 触发器 ——> Report problems to Zabbix administrators ——> 动作(图三) ——> 操作(图四) ——> 恢复操作(图五)
图三
图四
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
图五
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
[root@localhost ~]# while sleep 1;do ab -c 1000 -n 10000 http://127.0.0.1/done //对http服务器进行压测
三、环境:
192.168.1.59为zabbix_server服务器
192.168.1.80为docker容器下运行zabbix-agent-nginx
1、自己定义一个脚本,配置触发器,检测nginx服务:监控关键词:所以网站监控关键词证明网页没有被篡改。
//在docker容器下运行一个nginx服务:
[root@localhost ~]# docker run -tid --net=none --name=centos7-nginx
> --privileged=true centos7-ssh:zabbix-agent /sbin/init
[root@localhost ~]# pipework br0 centos7-nginx 192.168.1.80/24@192.168.1.1
[root@localhost ~]# docker exec -it centos7-nginx /bin/bash
//安装nginx:
[root@localhost ~]# yum install epel-release -y
[root@localhost ~]# ll /etc/yum.repos.d/|grep -aw epel
[root@localhost ~]# yum install -y nginx
[root@localhost ~]# curl 192.168.1.80 //在zabbix server服务端测试
[root@localhost ~]# curl 192.168.1.80 |grep -oi welcome //查看有没有welcome字段
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4057 100 4057 0 0 1190k 0 --:--:-- --:--:-- --:--:-- 1980k
Welcome
[root@localhost ~]# curl -s 192.168.1.80 |grep -oi welcome //静默模式,可以用-s给盖掉
Welcome
[root@localhost ~]# curl -s 192.168.1.80 |grep -oic "welcome"
//反馈值为1;表示nginx这个页面关键词有这个代码1个,是2表示有2个。
1 //监控关键词证明我们网站代码没有被篡改。
//在客户端配置zabbix_agent nginx监控字段:
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=192.168.1.59
ServerActive=192.168.1.59
Hostname=192.168.1.80
UserParameter=check_nginx_word,/usr/bin/curl -s 192.168.1.80 |grep -oic "welcome"
//后面的结果可以传递给key值
[root@557c120d5b48 ~]# /etc/init.d/zabbix_agentd restart
[root@localhost bin]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.80 -k check_nginx_word
1 //在服务端调用key值
在front-web平台添加主机,监控项,触发器。
2、配置 ——> 主机 ——> 选中192.168.1.80 ——> 创建监控项(图一)
图一
3、此刻没有nginx的图形,
配置 ——> 主机 ——> 选中192.168.1.80 ——> 图形 ——> 创建图形(图二) ——> 检测 ——> 图形 ——> 可以查看到有nginx关键词监控(显示数据是1)
图二:
可以在该目录下更改welcome字段的数量来测试监控数据。
[root@557c120d5b48 nginx]# vim /usr/share/nginx/html/index.html
4、此刻还是不会报警,我们需配置触发器:
配置 ——> 主机 ——> 选中192.168.1.80 ——> 创建触发器
当nginx中welcome的值为0的时候,就会触发告警,收到邮件。
以上是关于NO.A.0006——zabbix-server邮件告警/nginx字段监控的主要内容,如果未能解决你的问题,请参考以下文章