批量监控服务器服务是否正常

  • 来源:网络
  • 更新日期:2020-06-24

摘要:工作中会遇到服务异常停止的状况,针对这些问题,做了一个服务状态的监控。

工作中会遇到服务异常停止的状况,针对这些问题,做了一个服务状态的监控。

例如时间同步服务 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报警媒介设置

 


 


 

配置动作


 

 


 

配置用户--报警媒介

 

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


 

 

新网虚拟主机