工做中會遇到服務異常中止的情況,針對這些問題,作了一個服務狀態的監控。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
配置動做
配置用戶--報警媒介
配置到主機,手動觸發告警。