工作中会遇到服务异常停止的状况,针对这些问题,做了一个服务状态的监控。
例如时间同步服务 NTP,异常停止,没有告警系统是个很危险的状况。
本文采用:
shell脚本+自定义监控zabbix 实现短信告警
脚本如下:
#!/bin/bash
# Confirm OS Version
unset OS_VERSION
uname -r | grep el5 > /dev/null && OS_VERSION=el5
uname -r | grep el6 > /dev/null && OS_VERSION=el6
uname -r | grep el7 > /dev/null && OS_VERSION=el7
# Begin check
if [ "$OS_VERSION" = "el5" -o "$OS_VERSION" = "el6" ];then
pidof ntpd &> /dev/null
if [ $? -ne 0 ];then
ntpd_service_status=false ##可以将这里的值定义一个变量,做为参数,自定义
到监控项中
echo "ntpd_service_status $ntpd_service_status"
echo "DOWN"
echo "Check [ntp service status]... FAILED"
else
ntpd_service_status=true
# echo "UP"
fi
elif [ "$OS_VERSION" = "el7" ];then
pidof chronyd &> /dev/null
if [ $? -ne 0 ];then
ntpd_service_status=false
echo "DOWN"
echo "Check [chrony service status]... FAILED"
else
ntpd_service_status=true
echo "UP"
fi
fi
zabbix 脚本传参存放路径
**yum安装的**
/usr/lib/zabbix/alertscripts/
在写一个简单的传参脚本
#!/bin/bash
addressee=$1
theme=$2
content=$3
echo "$addressee" >> /tmp/test.txt
echo "$addressee" >> /tmp/test.txt
echo "$addressee" >> /tmp/test.txt
为了验证zabbix是否调用脚本,写了一个echo 生活实验环境没有公司的阿里大鱼可用,思路一样
zabbix报警媒介设置

配置动作

配置用户--报警媒介

配置到主机,手动触发告警。