heartbeat+drbd监控脚本(自动发现问题,并邮件通知)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了heartbeat+drbd监控脚本(自动发现问题,并邮件通知)相关的知识,希望对你有一定的参考价值。
生成环境有一些服务器是heartbeat+drbd做的高可用,但是有时候由于各种原因会产生问题(比如脑裂),而且没有及时发现。所以做了脚本是对heartbeat、drbd服务状态进行监控、对drbd分区挂载目录进行监控,现分享如下。
脚本的执行原理可能并不好(先判断当前服务器是哪个主机名,然后将另外一台的IP、端口、密码赋值给变量,然后将本机和远程的heartbeat、drbd和挂载目录状态输出到不同的文件,最后进行相应的逻辑与或或运算,如果有问题邮件通知),希望高人指点:
#!/bin/bash #author:gxm #date:2018-05-15 #version:1.1 #运行脚本前请先修改相关参数,比如7-13、220-224、227-231、252行信息 HOSTNAME1="drbd1.db.com" HOSTNAME2="drbd2.db.com" MOUNTDIR="/store" MAILFROM="[email protected]" SMTPSERVER="smtp.163.com" SMTPUSER="[email protected]" SMTPPASSWD="123456" CURRDATE=$(date "+%Y-%m-%d %H:%M:%S") DRBD_HALOG=/var/log/drbd_ha.log CURRENTHOST_HEARTBEAT_STATUS=/tmp/currenthost_heartbeat_status.txt OTHERHOST_HEARTBEAT_STATUS=/tmp/otherhost_heartbeat_status.txt CURRENTHOST_DRBD_DETAILED=/tmp/currenthost_drbd_detailed.txt OTHERHOST_DRBD_DETAILED=/tmp/otherhost_drbd_detailed.txt CURRENTHOST_DISK=/tmp/currenthost_disk.txt OTHERHOST_DISK=/tmp/otherhost_disk.txt #退出脚本 function force_exit() { echo "$CURRDATE: 脚本意外退出!" | tee -a $DRBD_HALOG echo exit 1; } # 输出日志提示 function output_notify() { echo $CURRDATE:$1 | tee -a $DRBD_HALOG } # 输出错误提示 function output_error() { echo "$CURRDATE:[ERROR] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" | tee -a $DRBD_HALOG echo "$CURRDATE:[ERROR] "$1 | tee -a $DRBD_HALOG echo "$CURRDATE:[ERROR] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" | tee -a $DRBD_HALOG } #颜色函数 function echo_colour() { if [ $1 -eq 0 ] then echo -e $CURRDATE:"