一、批量在服务端向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邮件告警
### --- 配置邮件报警,必须有哪些必备的组件,操作和步骤:
~~~ 发送邮件的服务器(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}
### --- 对http服务器进行压测
[root@localhost ~]# while sleep 1;do ab -c 1000 -n 10000 http://127.0.0.1/done
四、环境说明:
### --- 环境说明:
~~~ 192.168.1.59为zabbix_server服务器
~~~ 192.168.1.80为docker容器下运行zabbix-agent-nginx
### --- 自己定义一个脚本,配置触发器,检测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监控字段:
### --- 后面的结果可以传递给key值
[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"
[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 //在服务端调用key值
1
五、在front-web平台添加主机,监控项,触发器。
1、配置 ——> 主机 ——> 选中192.168.1.80 ——> 创建监控项(图一)
2、此刻没有nginx的图形,
### --- 此刻没有nginx的图形,
~~~ 配置 ——> 主机 ——> 选中192.168.1.80 ——> 图形 ——> 创建图形(图二)
~~~ ——> 检测 ——> 图形 ——> 可以查看到有nginx关键词监控(显示数据是1)
### --- 可以在该目录下更改welcome字段的数量来测试监控数据。
[root@557c120d5b48 nginx]# vim /usr/share/nginx/html/index.html
3、此刻还是不会报警,我们需配置触发器:
### --- 此刻还是不会报警,我们需配置触发器:
~~~ 配置 ——> 主机 ——> 选中192.168.1.80 ——> 创建触发器
~~~ 当nginx中welcome的值为0的时候,就会触发告警,收到邮件。