zabbix6.0邮件报警配置

1.前提:Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常。这里服务端zabbix6.0机器部署在192.168.0.102机器上,客户端部署在192.168.0.103机器上。

zabbix6.0邮件报警配置_第1张图片

 zabbix6.0邮件报警配置_第2张图片

 2.在zabbix_server机器上部署mailx邮箱

命令:yum -y install mailx

编辑配置文件

vim /etc/mail.rc 在文件末尾添加,红色圈圈内容,这里设置自己的QQ邮箱作为发送者,密码在邮箱里面开通授权码,不是QQ密码!

zabbix6.0邮件报警配置_第3张图片

 echo "邮件内容内容" | mail -s "邮件主题" [email protected]

 QQ邮箱截图

zabbix6.0邮件报警配置_第4张图片

发送成功,代表邮箱搭建成功

 3.编写zabbix动作脚本(自己取名),找到对应的zabbix 安装路径,在share 里面

vim sendmail.sh

zabbix6.0邮件报警配置_第5张图片

 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
 echo "${messages}" | mailx -s "${subject}" $1 >>/tmp/sendmail.log
~                                                                

 授权

touch /tmp/sendmail.log
 
chmod 777 /tmp/sendmail.log
 
chown zabbix:zabbix sendmail.sh
 
chmod +x sendmail.sh

vim /usr/local/zabbix/etc/zabbix_server.conf

添加一行:这个路径对应上面添加脚本的绝对路径,根据实际情况配置!

 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

zabbix6.0邮件报警配置_第6张图片

 

zabbix6.0邮件报警配置_第7张图片

 运行一下命令,验证发送脚本

/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh [email protected] "邮件主题" "邮件内容"

如图三个命令都显示发送成功,主题和内容之间的空格,不然都归类成主题,内容为空

 zabbix6.0邮件报警配置_第8张图片

 4.zabbix页面设置报警媒介类型,如图,不同版本,不同位置,参考~zabbix6.0邮件报警配置_第9张图片

 zabbix6.0邮件报警配置_第10张图片

指定报警用户(zabbix内置用户),也可以新建用户

zabbix6.0邮件报警配置_第11张图片 鼠标点击【用户名称】,进入到新页面,点击报警媒介,如图

zabbix6.0邮件报警配置_第12张图片

 配置如图zabbix6.0邮件报警配置_第13张图片

 下一步:设置动作

zabbix6.0邮件报警配置_第14张图片

 zabbix6.0邮件报警配置_第15张图片

 zabbix6.0邮件报警配置_第16张图片

 填写已有的【触发器】,如果没有触发器,得新建一个,再回来动作这里设置,如果需要自定义脚本监控,此篇文章下面再讲,监控redis服务!

zabbix6.0邮件报警配置_第17张图片

 设置上面动作,设置操作(就是这动作的具体内容),这里恢复操作和更新操作,最好也设置!代表告警解除也发送邮件

zabbix6.0邮件报警配置_第18张图片

 操作设置如图

zabbix6.0邮件报警配置_第19张图片

 下图供参考,按上图设置也行zabbix6.0邮件报警配置_第20张图片

 到此,我们的监控发送邮件告警,部署完成。先看效果。

测试: 修改server_agentd客户端机器名

zabbix6.0邮件报警配置_第21张图片

 zabbix6.0邮件报警配置_第22张图片zabbix6.0邮件报警配置_第23张图片

 扩充篇:自定义shell脚本监控redis状态

1.在被监控主机上(zabbix_agentd),找到zabbix_agentd.conf配置文件

vim /usr/local/zabbix/etc/zabbix_agentd.conf

在文件末尾添加一行以下代码:(快捷方式切换到文件末尾:shift+g)

UserParameter=redis.status,sh /usr/local/check/check_redis_status/bin/check.sh

 zabbix6.0邮件报警配置_第24张图片

 注意:脚本路径和名字得对应上,而且还是绝对路径,不能写相对路径。

保存文件,重启zabbix_agentd服务。

vim /usr/local/check/check_redis_status/bin/check.sh

#!/bin/bash

##############################################################此脚本判断redis状态是否存活#############################################

#获取当前脚本所在路径
path_dir_shell="$(cd "$(dirname "${BASH_SOURCE[0]}")"&&pwd)"
#echo "当前脚本所在路径:$path_dir_shell"

path_dir_two=$(dirname "${path_dir_shell}")
#echo "脚本的上一层目录:$path_dir_two"

#读取redis配置文件信息
source ${path_dir_two}/conf/server.conf
#echo "服务器IP:$host,redis端口:$port"
#登陆redis
#string=`redis-cli -h $host -p $port set test 测试`
status=`ps aux|grep redis |awk '{print $1}'|grep redis`
redis-cli -h $host -p $port set test 测试 1>/dev/null 2>/dev/null
a=`redis-cli -h $host -p $port get  test` 1>/dev/null 2>/dev/null

if [ -z $status ];then
 echo "0"
else
#  echo "aux初步判断服务正常"
      if [ -z $a ];then
          echo "0"
      else
          echo "1"
      fi

      redis-cli -h $host -p $port del test 1>/dev/null 2>/dev/null

fi 

zabbix6.0邮件报警配置_第25张图片

 这脚本写得不太好,还需要修改,因为返回错误的时候会出现,redis服务正常,返回1.

 接下来去到zabbix_server web 页面创建监控项。

这里的键值:要和上面 zabbix_agent.conf里面的键值对应。获取对应的值。

 zabbix6.0邮件报警配置_第26张图片

点击【测试】

zabbix6.0邮件报警配置_第27张图片

zabbix6.0邮件报警配置_第28张图片

获取不到,则之前的zabbix.conf配置和reids脚本配置错误,或者服务器通讯异常。zabbix6.0邮件报警配置_第29张图片

 

 

 

 点击【创建触发器】zabbix6.0邮件报警配置_第30张图片

 输入名称,添加添加,选择监控项zabbix6.0邮件报警配置_第31张图片

 zabbix6.0邮件报警配置_第32张图片

 点击更新即可,然后重复上述,动作就能加入邮件告警信息了。zabbix6.0邮件报警配置_第33张图片

 题外:

nmcli connection modify ens33 ipv4.addresses 192.168.129.57 ipv4.gateway 192.168.129.2  ipv4.dns 114.114.114.114 ipv4.method manual connection.autoconnect yes       

systemctl restart network

测试邮件

echo "邮件内容内容" | mail -s "邮件主题" [email protected]

你可能感兴趣的:(运维,分布式)