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/[email protected]
[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的时候,就会触发告警,收到邮件。

猜你喜欢

转载自blog.51cto.com/15005403/2552364