zabbix5.x版本添加自定义监控+263邮件报警

两台服务器

zabbix服务端(10.51.52.224)

安装zabbix-server zabbix-agent

 

zabbix客户端(10.51.52.223)

安装zabbix-agent

 

 

一、服务器脚本准备

在zabbix页面添加自定义监控前,需要在服务器上添加配置文件和监控脚本

cd /etc/zabbix
mkdir zabbix_agentd.d
cd zabbix_agentd.d

vim check_service.conf
UserParameter=check.service.[*],/bin/sh /script/check_service.sh $1

#解释check.service.[*],里面的[*]指代后面写入监控项$1,
#比如下文的check.service.[activemq],
#activemq这个监控项会写在/script/check_service.sh 的脚本里面

#修改zabbix_agentd配置文件
vim /etc/zabbix/zabbix_agentd.conf
#添加或放开
Include=/etc/zabbix/zabbix_agentd.d/*.conf  #包括自定义配置
UnsafeUserParameters=1  #打开自定义监控


#编写监控脚本
vim /script/check_service.sh
#!/bin/sh

case $1 in

    user-web)
    echo `ps aux | grep java | grep user-web | grep -v grep | wc -l`
    ;;

    user-service)
    echo `ps aux | grep java | grep user-service | grep -v grep | wc -l`
    ;;

    activemq)
    echo `ps -ef |grep /opt/activemq |grep -v grep |wc -l`
    ;;

    MHA)
    echo `/usr/bin/masterha_check_status -conf=/etc/mha_master/mha.cnf | grep PING_OK | wc -l`
    ;;

    keepalived)
    echo `systemctl status keepalived | grep "active (running)" | wc -l`
    ;;

esac

监控脚本里面的每一个选项都是一个监控项

 

 

二、zabbix控制台添加监控

 

下面以添加 activemq 监控项为例

1.创建主机项

  省略 

2.创建监控项

 zabbix5.x版本添加自定义监控+263邮件报警

 

 

 

3.创建触发器

zabbix5.x版本添加自定义监控+263邮件报警

 

zabbix5.x版本添加自定义监控+263邮件报警

 

 设置条件(最后一次检测值不等于1时触发报警)

zabbix5.x版本添加自定义监控+263邮件报警

 

设置后如下图:

 zabbix5.x版本添加自定义监控+263邮件报警

 

 

 

 4.添加图形(也可不加)

zabbix5.x版本添加自定义监控+263邮件报警

 

 

 

zabbix5.x版本添加自定义监控+263邮件报警

 

 

图形展示如下

zabbix5.x版本添加自定义监控+263邮件报警

 

 

添加监控在页面的操作就算结束了

 

服务器监控项测试(测试值为1)

zabbix5.x版本添加自定义监控+263邮件报警

 

 

注意:测试这里有个坑

监控脚本里面原来写的是:

/usr/bin/sh /opt/activemq/bin/activemq status |grep "is running" |wc -l

这个在服务器命令行测试时能拿到正确返回值1,但是使用zabbix_get测试却始终为0(原因一直没找到),

获取的测试结果不正确,zabbix监控页面也就拿不到正确值

 

所以后面就改用下面监控ps进程的方式,不用activemq自带的脚本监控

ps -ef |grep /opt/activemq |grep -v grep |wc -l

 

 

 三、添加邮件报警

在zabbix_server.conf中找到默认邮件报警脚本路径,如下:

AlertScriptsPath=/usr/lib/zabbix/alertscripts

进入该目录(本次使用的是263邮箱,其他邮箱道理一样)

提前安装sendEmail

cd /usr/lib/zabbix/alertscripts

vim mail.sh

#!/bin/bash
SMTP_server='smtp.xxx.com.cn:465'    # SMTP服务器
username='danny.zhang@xxx.com.cn'     # 用户名
password='xxx'             # 密码(此处为邮箱客户端授权码)
from_email_address='danny.zhang@xxx.com.cn' # 发件人Email地址
to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数
message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数
message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数

# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"

# 转换邮件内容为GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"

# 发送邮件
sendEmail='/usr/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312

 

zabbix页面添加

zabbix5.x版本添加自定义监控+263邮件报警

 

 zabbix5.x版本添加自定义监控+263邮件报警

 

 

添加动作:

zabbix5.x版本添加自定义监控+263邮件报警

 

zabbix5.x版本添加自定义监控+263邮件报警

 

 

 zabbix5.x版本添加自定义监控+263邮件报警

 

 

 OK

 

上一篇:tomcat各版本和jsp、jstl、servlet的依赖关系(转)


下一篇:全球及中国塑料包装行业发展方向与应用前景调研报告2022版