2-28 使用zabbix监控私有信息-邮件报警

Posted 喝茶等下班

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2-28 使用zabbix监控私有信息-邮件报警相关的知识,希望对你有一定的参考价值。

1. 如果可用性ZBX那里一直不变绿,可以用如下命令先检查一下连通性:
[root@xuegod13 ~]# cd /usr/local/zabbix/bin/
[root@xuegod13 bin]# ./zabbix_get -s 192.168.31.14 -p10050 -k system.uname
Linux xuegod14 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64

2.监控apache服务

2.1 在xuegod14上安装apache服务

[root@xuegod14 ~]# yum -y install httpd

修改配置文件

[root@xuegod14 ~]# cd /etc/httpd/conf/
[root@xuegod14 conf]# vim httpd.conf
#在349行,添加如下内容
350 <location /server-status>
351     SetHandler server-status
352     Order allow,deny
353     Allow from 127.0.0.1 192.168.31.0/24
354 </location>
[root@xuegod14 conf]# service httpd restart
Redirecting to /bin/systemctl restart httpd.service

访问如下页面

2.2 接下来,我们要做的就是让我们的zabbix访问到这个server-status

#注意,因为可能直接访问github访问不了,需要修改hosts文件,注意,宿主机也需要如下修改
[root@xuegod14 opt]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.13 xuegod13

# GitHub520 Host Start
140.82.112.25                 alive.github.com
140.82.113.25                 live.github.com
185.199.108.154               github.githubassets.com
140.82.113.21                 central.github.com
185.199.108.133               desktop.githubusercontent.com
185.199.108.153               assets-cdn.github.com
185.199.108.133               camo.githubusercontent.com
185.199.108.133               github.map.fastly.net
199.232.69.194                github.global.ssl.fastly.net
140.82.114.4                  gist.github.com
185.199.108.153               github.io
140.82.112.4                  github.com
140.82.114.5                  api.github.com
185.199.108.133               raw.githubusercontent.com
185.199.108.133               user-images.githubusercontent.com
185.199.108.133               favicons.githubusercontent.com
185.199.108.133               avatars5.githubusercontent.com
185.199.108.133               avatars4.githubusercontent.com
185.199.108.133               avatars3.githubusercontent.com
185.199.108.133               avatars2.githubusercontent.com
185.199.108.133               avatars1.githubusercontent.com
185.199.108.133               avatars0.githubusercontent.com
185.199.108.133               avatars.githubusercontent.com
140.82.112.9                  codeload.github.com
52.216.165.51                 github-cloud.s3.amazonaws.com
52.217.45.68                  github-com.s3.amazonaws.com
52.216.184.179                github-production-release-asset-2e65be.s3.amazonaws.com
52.216.133.99                 github-production-user-asset-6210df.s3.amazonaws.com
52.217.128.49                 github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153               githubstatus.com
64.71.168.201                 github.community
185.199.108.133               media.githubusercontent.com

# Update time: 2021-05-28T12:34:32+08:00
# Star me GitHub url: https://github.com/521xueweihan/GitHub520
# GitHub520 Host End
[root@xuegod14 conf]# cd /opt
[root@xuegod14 opt]# wget https://github.com/lorf/zapache/archive/master.zip
#解压
[root@xuegod14 opt]# unzip master.zip 
Archive:  master.zip
24a764b2e224f9b8d0a6bc94dcadd7568b2fe650
   creating: zapache-master/
  inflating: zapache-master/README.md  
  inflating: zapache-master/httpd-server-status.conf.sample  
  inflating: zapache-master/userparameter_zapache.conf.sample  
  inflating: zapache-master/zapache  
  inflating: zapache-master/zapache-template-active.xml  
  inflating: zapache-master/zapache-template.xml 
[root@xuegod14 zapache-master]# ls
httpd-server-status.conf.sample  README.md  userparameter_zapache.conf.sample  zapache  zapache-template-active.xml  zapache-template.xml
[root@xuegod14 zapache-master]# cp zapache /usr/local/bin/
[root@xuegod14 zapache-master]# cp userparameter_zapache.conf.sample /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_zapache.conf
[root@xuegod14 zapache-master]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@xuegod14 zabbix_agentd.conf.d]# ls
userparameter_zapache.conf
[root@xuegod14 zabbix_agentd.conf.d]# vim userparameter_zapache.conf
#修改第6行为
UserParameter=zapache[*],/usr/local/bin/zapache \\$1

2.3 修改配置文件

[root@xuegod14 zabbix_agentd.conf.d]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
#264 取消前面的注释符号,修改路径添加zabbix(路径原来没有zabbix)
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@xuegod14 zabbix_agentd.conf.d]# /etc/init.d/zabbix_agentd restart
Restarting zabbix_agentd (via systemctl):                  [  确定  ]

2.4 导入模板文件

配置-模板-导入-选择文件-选择下载的master.zip解压后的路径的文件-即zapache-template.xml-导入

2.5 模板和主机进行关联

配置-主机-xuegod14-模板-选择-勾选Template App Apache Web Server zapache-选择-添加-更新
\\
进行查看
监测中-最新数据-主机:输入xuegod14-应用集-选择-点击Apache Web Server-应用-勾选选项-显示堆叠数据图

3. 监控mysql

3.1 在主服务器上授权

mysql> grant usage on *.* to zabbix@% identified by 123456;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

3.2 到客户端拷贝模板,并修改配置文件

[root@xuegod14 ~]# cp /usr/local/src/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@xuegod14 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
#265行打开并把264注释掉,只能同时打开1个
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

3.3 创建mysql连接配置文件

[root@xuegod14 ~]# cd /usr/local/zabbix/etc/
[root@xuegod14 etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@xuegod14 etc]# vim my.cnf
[mysql]
host=localhost
user=zabbix
password=123456
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
host=localhost
user=zabbix
password=123456
socket=/var/lib/mysql/mysql.sock

3.4 修改刚才拷贝的模板文件

[root@xuegod14 etc]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
#第5行、15行、17行的HOME=/var/lib/zabbix改成HOME=/var/lib/zabbix/etc
[root@xuegod14 etc]# /etc/init.d/zabbix_agentd restart
Restarting zabbix_agentd (via systemctl):                  [  确定  ]

3.5 web页面需要的操作

配置
配置-主机-xuegod14-模板-选择-勾选Template DB MySQL-选择-添加-更新

查看
监测中-最新数据-主机已经选择好(xuegod14)-应用集-选择-MySQL-应用-随便勾选(如MySQL slow queries/MySQL status/MySQL uptime)-显示堆叠数据图

4 Zabbix邮件报警配置

邮件服务可以使用系统自带的邮件服务来发送邮件或者使用其他邮件服务调用第三方邮件来发送警告邮件
这里演示如何调用第三方邮件服务来发送邮件:

4.1 第一步:首先安装mailx组件并配置好能够通过三方邮箱发送邮件

[root@xuegod13 ~]# yum install mailx

然后编辑mailx的配置文件

[root@xuegod13 ~]# vi /etc/mail.rc
#在最末尾添加如下信息
set from=xuegodzabbix@163.com
set smtp=smtp.163.com
set smtp-auth-user=xuegodzabbix@163.com
set smtp-auth-password= #你的密码 注意:此为163邮箱设置的客户端授权密码
set smtp-auth=login 
#测试发送
[root@xuegod13 ~]# echo "zabbix test for xuegod linux 1903"|mailx -s "zabbix test message" 
 xxx@qq.com

能收到邮件,证明没问题。

4.2 在zabbix服务端写邮件发送脚本:

[root@xuegod13 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@xuegod13 alertscripts]# vim sendmail.sh
#!/bin/bash
messages=`echo $3 | tr \\r\\n \\n`
subject=`echo $2 | tr \\r\\n \\n`
echo "$messages" | mailx -s "$subject" $1 >>/tmp/sendmail.log 2>&1
[root@xuegod13 alertscripts]# chmod +x sendmail.sh
[root@xuegod13 alertscripts]# chown zabbix.zabbix sendmail.sh

4.3 修改主配置文件,让服务读取到这个脚本:

[root@xuegod13 alertscripts]# cd /usr/local/zabbix/etc/
[root@xuegod13 etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d
[root@xuegod13 etc]# vim zabbix_server.conf
修改:
# AlertScriptsPath=$datadir/zabbix/alertscripts
下添加一行,如下
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

测试用脚本发送邮件

[root@xuegod13 etc]# /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh xxx@qq.com "hello world zabbix" "hello world linux"

能正常收到,没问题!

4.4 在页面设置

管理-报警媒介类型-
页面添加:


ALERT.SENDTO
ALERT.SUBJECT
ALERT.MESSAGE
很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。
这是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。
在2.x版本不存在这个问题,默认会传3个参数。


内容如下
动作
名称:Action-Email

操作
默认接收人:故障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


恢复操作
默认接收人:已恢复!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



测试,关闭 zabbix 客户端服务 zabbix_agentd
[root@xuegod14 ~]# /etc/init.d/zabbix_agentd stop 结果:
延迟比较大,大概要5-10分钟
可以在日志看送达状态:

以上是关于2-28 使用zabbix监控私有信息-邮件报警的主要内容,如果未能解决你的问题,请参考以下文章

05zabbix邮件报警

Zabbix实战之运维篇Zabbix监控平台的邮件报警配置

zabbix的各种报警机制实战

分布式监控系统Zabbix-3.0.3-完整安装记录-邮件报警部署

zabbix实现邮件报警

Zabbix监控 之sendEmail脚本邮件报警配置