批量監控服務器服務是否正常

工做中會遇到服務異常中止的情況,針對這些問題,作了一個服務狀態的監控。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

wKioL1lEnwDAtgGDAACCVy3M5mo197.png



配置動做


wKioL1lEpPbi4dCvAACWDdfB5Ds651.png


配置用戶--報警媒介

wKiom1lEqHjzeP3IAACFYjTAvw8629.png-wh_50

配置到主機,手動觸發告警。

相關文章
相關標籤/搜索