Zabbix监控客户端及实现邮件、微信报警

网友投稿 260 2022-11-09

Zabbix监控客户端及实现邮件、微信报警

zabbix服务端部署可参考:agent端这里我启动了一台IP为192.168.171.134的服务器,来用于充当agent端

[root@agent /]# mkdir /zabbix # 个人习惯,可忽略 [root@agent /]# cd /zabbix/ [root@agent /]# rz [root@agent zabbix]# tar zxf zabbix-3.2.1.tar.gz [root@agent zabbix]# cd zabbix-3.2.1/ [root@agent zabbix-3.2.1]# useradd -M -s /sbin/nologin zabbix [root@agent zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install [root@agent zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ [root@agent /]# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd [root@agent /]# sed -i 's/PIDFILE=\/tmp\/$BINARY_NAME.pid/PIDFILE=$BASEDIR\/logs\/$BINARY_NAME.pid/g' /etc/init.d/zabbix_agentd [root@agent /]# chmod +x /etc/init.d/zabbix_agentd [root@agent /]# sed -i 's/# PidFile=\/tmp\/zabbix_agentd.pid/PidFile=\/usr\/local\/zabbix\/logs\/zabbix_agentd.pid/g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# sed -i 's/LogFile=\/tmp\/zabbix_agentd.log/LogFile=\/usr\/local\/zabbix\/logs\/zabbix_agentd.log/g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# sed -i 's/Server=127.0.0.1/Server=192.168.171.133/g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# sed -i 's/# ListenPort=10050/ListenPort=10050/g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# sed -i 's/ServerActive=127.0.0.1/ServerActive=192.168.171.133/g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# sed -i 's/Hostname=Zabbix server/Hostname=192.168.171.134/g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# sed -i 's/# Timeout=3/Timeout=15/g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# sed -i 's/# Include=\/usr\/local\/etc\/zabbix_agentd.conf.d\//Include=\/usr\/local\/zabbix\/etc\/zabbix_agentd.conf.d\//g' /usr/local/zabbix/etc/zabbix_agentd.conf [root@agent /]# egrep -v '^$|^#' /usr/local/zabbix/etc/zabbix_agentd.conf PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid LogFile=/usr/local/zabbix/logs/zabbix_agentd.log Server=192.168.171.133 ListenPort=10050 ServerActive=192.168.171.133 Hostname=192.168.171.134 Timeout=15 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ [root@agent /]# mkdir -p /usr/local/zabbix/logs # 创建日志存放路径 [root@agent /]# chown -R zabbix:zabbix /usr/local/zabbix/ # 赋予权限 [root@agent /]# /etc/init.d/zabbix_agentd start # 启动agent Reloading systemd: [ OK ] Starting zabbix_agentd (via systemctl): [ OK ]

#复制Zabbix提供的MySQL监控脚本 [root@agent /]# cd /zabbix/zabbix-3.2.1/conf/zabbix_agentd/ [root@agent zabbix_agentd]# cp userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/ [root@agent zabbix_agentd]# cd /usr/local/zabbix/etc/ [root@agent etc]# cat > .my.cnf << EOF > [client] > host=192.168.171.134 > user=test > password=123.com > socket=/usr/local/mysql/mysql.sock > EOF [root@agent etc]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/ [root@agent zabbix_agentd.conf.d]# sed -i 's/mysql -N/\/usr\/local\/bin\/mysql -N/g' userparameter_mysql.conf [root@agent zabbix_agentd.conf.d]# sed -i 's/mysql -V/\/usr\/local\/bin\/mysql -V/g' userparameter_mysql.conf [root@agent zabbix_agentd.conf.d]# sed -i 's/mysqladmin ping/\/usr\/local\/bin\/mysqladmin ping/g' userparameter_mysql.conf [root@agent zabbix_agentd.conf.d]# sed -i 's/HOME=\/var\/lib\/zabbix/HOME=\/usr\/local\/zabbix\/etc\//g' userparameter_mysql.conf [root@agent zabbix_agentd.conf.d]# /etc/init.d/zabbix_agentd restart Restarting zabbix_agentd (via systemctl): [ OK ] [root@agent /]# mysql -u root -p123 mysql> grant all on *.* to test@'192.168.171.%' identified by '123.com';

Zabbix-servre端测试是否可以采集到agent端的MySQL状态:

[root@zabbix /]# zabbix_get -s 192.168.171.134 -p 10050 -k "mysql.status[Uptime]" 643 #在server端执行上述命令可以看到的数字,就是数据库相关的状态

[root@zabbix /]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL [root@zabbix ~]# tar zxf /zabbix/sendEmail-v1.56.tar.gz -C /usr/src/ [root@zabbix ~]# cp /usr/src/sendEmail-v1.56/sendEmail /usr/local/bin/ [root@zabbix ~]# chown zabbix:zabbix /usr/local/bin/sendEmail [root@zabbix ~]# vim /usr/local/bin/sendEmail if (! IO::Socket::SSL->start_SSL($SERVER)) { #切到1906行,修改为上述所示

#在zabbix-server端上配置 [root@zabbix /]# cd /usr/local/zabbix/share/zabbix/alertscripts/ [root@zabbix alertscripts]# vim SendEmail.sh #!/bin/bash to=$1 subject=$2 body=$3 /usr/local/bin/sendEmail -o tls=auto -f 848369866@qq.com -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu 848369866@qq.com -xp wrsxyidhdokobdah -m "$body" #各项解释如下: # /usr/local/bin/sendEmail:命令主程序; # -f from@126.com :发件人邮箱 # -t to@126.com :收件人邮箱 # -s smtp.126.com :发件人邮箱的 smtp 服务器 # -u "我是邮件主题" :邮件的标题 #-o message-content-type=html:邮件内容的格式,html 表示它是 html 格式 # -o message-charset=utf8:邮件内容编码 # -xu from@126.com:发件人邮箱的用户名 # -xp WEE78@12l$ #发件人邮箱授权码(就是我刚刚生成的那个授权码) # -m "我是邮件内容" :邮件的具体内容 #测试是否可以成功发送邮件 [root@zabbix alertscripts]# sh SendEmail.sh 848369866@qq.com test 123456 Mar 06 18:04:11 zabbix sendEmail[4604]: Email was sent successfully!

#在agent服务器进行以下操作 [root@agent ~]# /etc/init.d/zabbix_agentd stop #关闭agent进程

查看企业ID、部门ID、用户账号等信息:

服务器:{HOST.NAME}发生:{TRIGGER.NAME}故障 告警主机:{HOST.NAME} 告警地址:{HOST.IP} 监控项目:{ITEM.NAME} 监控取值:{ITEM.LASTVALUE} 告警等级:{TRIGGER.SEVERITY} 当前状态:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 事件ID:{EVENT.ID}

#在agent进行以下操作,以便模拟故障 [root@agent ~]# /etc/init.d/zabbix_agentd stop

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:各首脑齐齐出手,VR行业标准有望统一
下一篇:GitLab+Jenkins+Maven+Tomcat 实现自动集成、打包、部署
相关文章

 发表评论

暂时没有评论,来抢沙发吧~