Home > IT > [script] Tinag.sh – Monitoring up – down status

[script] Tinag.sh – Monitoring up – down status

October 31, 2008

Xin giải thích ngay ý nghĩa của scipt này: Nó sẽ monitor một host nào đó, nếu host đó thay đổi trạng thái từ UP -> DOWN hoặc từ DOWN -> UP thì notify mình. Thế thôi!

Ô! vậy sao không dùng Nagios?

Còn cái tên – tại sao lại là Tinag? Tina G à? Không! Xin giải thích nguồn gốc để bạn được hiểu và cũng để trả lời cả hai câu hỏi trên:

Số là sở làm của mình không có server riêng cho IT – (don’t ask me why, I’m not keeping the answer). Lúc đầu thì dùng Nagios trên VMware ăn nhờ ở đậu trên một máy vốn không phải là khỏe khoắn gì. Sau đó thì được một server IBM – nhưng …là đồ shared từ engineers, và dĩ nhiên là nó sống không thọ trên một lãnh địa mà có 2,3 chúa. Chính vì vậy mà tác giả buồn buồn ngồi viết chơi cái script này, chỉ làm mỗi việc kiểm tra up down stattus như Nagios, và đặt tên là Tiny Nagios hay tinag.sh là thế

#!/bin/bash
HOST=$1
IP=`nslookup $1 | tail -2|grep Address | awk ‘{print $2}’`
if [ $? -ne 0 ] ; then
echo “can not resolve hostname!”
exit 1
fi

STAT=UP
UD=`ping -c 5 $1 -q|grep received|awk {‘print $4’}`
if [ $UD -lt 3 ]; then
STAT=DOWN
fi
FLAG=0
while [ 1 ]
do
sleep 60
DATE=`date +%Y%m%d_%H%M`
UD=`ping -c 5 $1 -q|grep received|awk {‘print $4’}`
if [ $UD -lt 3 ] && [ $STAT = UP ]; then
FLAG = 1
STAT = DOWN
fi
if [ $UD -ge 3 ] && [ $STAT = DOWN ]; then
FLAG=1
STAT=UP
fi

if [ $FLAG -eq 1 ]; then
echo “$DATE – $HOST – $IP : $STAT” |mail -s “Tinag Report: $HOST is $STAT” fongthai@zenezas.com
FLAG=0
fi
done

%d bloggers like this: