工做中会遇到服务异常中止的情况,针对这些问题,作了一个服务状态的监控。shell
例如时间同步服务 NTP,异常中止,没有告警系统是个很危险的情况。bash
本文采用:ide
shell脚本+自定义监控zabbix 实现短信告警blog
脚本以下:ip
#!/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 脚本传参存放路径
get
**yum安装的**同步
/usr/lib/zabbix/alertscripts/it
在写一个简单的传参脚本io
#!/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报警媒介设置class
配置动做
配置用户--报警媒介
配置到主机,手动触发告警。