Помню когда покупал эту флешку думал, как недорого она стоит, а сейчас кажется какой ужас:)
Собственно говоря, почему я полез в старые гарантийки!? Потому, что столкнулся с поговоркой "Что воняет и горит? Это карточка Палит".
воскресенье, 23 февраля 2014 г.
вторник, 18 февраля 2014 г.
Скрипт для мониторинга состояни системы (для мониторинга Zabbix)
Необходимо постоянно следить за состоянием параметров системы, конечно в крутых инсталляциях для этого используется специальные решения, Но что делать, если вы используете простую материнку и еще более простые жесткие диски? Приходится колхозить свой огород.
Своей версией такого огорода решил поделится с общественностью.
#!/bin/bash
SERVER="HostNode";
/usr/bin/sensors >/tmp/sensors
/usr/sbin/smartctl --all /dev/sda >/tmp/sda_smart
/usr/sbin/smartctl --all /dev/sdb >/tmp/sdb_smart
/usr/sbin/smartctl --all /dev/sdc >/tmp/sdc_smart
/usr/sbin/smartctl --all /dev/sdd >/tmp/sdd_smart
/usr/sbin/smartctl --all /dev/sde >/tmp/sde_smart
A=`cat /tmp/sensors | grep "CPU FAN" | cut -d"R" -f1 | cut -d":" -f2`
echo $SERVER" system.cpu.fan "$A
B=`cat /tmp/sensors | grep "CPU Temp" | cut -d"+" -f2 | cut -d"C" -f1 | sed -e "s/\W*$//g"`
echo $SERVER" system.cpu.temp "$B
C=`cat /tmp/sensors | grep "MB Temp" | cut -d"+" -f2 | cut -d"C" -f1 | sed -e "s/\W*$//g"`
echo $SERVER" system.aux.temp "$C
DRIVES="sda sdb sdc sdd sde"
for drive in $DRIVES ; do
FILE="/tmp/$drive"
FILE+="_smart"
A=`grep Model: $FILE | cut -d":" -f2 |sed 's/^\s*//g;'`
echo $SERVER" system.$drive.Model "$A
A=`grep Temperature_Celsius $FILE | sed 's/\s\+/ /g;' | cut -d" " -f10`
echo $SERVER" system.$drive.Temperature_Celsius "$A
A=`grep Hardware_ECC_Recovered $FILE | sed 's/\s\+/ /g;' | cut -d" " -f4`
echo $SERVER" system.$drive.Hardware_ECC_Recovered "$A
A=`grep Raw_Read_Error_Rate $FILE | cut -d"x" -f2 | cut -d" " -f4`
echo $SERVER" system.$drive.Raw_Read_Error_Rate "$A
A=`grep Raw_Read_Error_Rate $FILE | sed 's/\s\+/ /g;' | cut -d" " -f11`
echo $SERVER" system.$drive.Raw_Read_Error_Rate_RAW "$A
A=`grep Raw_Read_Error_Rate $FILE | sed 's/\s\+/ /g;' | cut -d" " -f10`
echo $SERVER" system.$drive.Raw_Read_Error_Rate_WHEN "$A
A=`grep Power_On_Hours $FILE |sed 's/\s\+/ /g;' | cut -d" " -f11`
echo $SERVER" system.$drive.Power_On_Hours "$A
A=`grep Reallocated_Sector_Ct $FILE |sed 's/\s\+/ /g;' | cut -d" " -f11`
echo $SERVER" system.$drive.Reallocated_Sector_Ct "$A
done
Это скрипт для CRON его нужно периодически запускать и отправлять данные в Zabbix с помощью пакетного загрузчика zabbix_sender.
Конечно, все ключи которые передается должны быть добавлены в Items соответствующего сервера, в моем случае он называется HostNode
Диски которыми надо следить перечислены в DRIVES
Конечно же необходимо создать триггеры, чтобы не пропустить печального момента.
Да и на графики надо бы все вывести.
Своей версией такого огорода решил поделится с общественностью.
#!/bin/bash
SERVER="HostNode";
/usr/bin/sensors >/tmp/sensors
/usr/sbin/smartctl --all /dev/sda >/tmp/sda_smart
/usr/sbin/smartctl --all /dev/sdb >/tmp/sdb_smart
/usr/sbin/smartctl --all /dev/sdc >/tmp/sdc_smart
/usr/sbin/smartctl --all /dev/sdd >/tmp/sdd_smart
/usr/sbin/smartctl --all /dev/sde >/tmp/sde_smart
A=`cat /tmp/sensors | grep "CPU FAN" | cut -d"R" -f1 | cut -d":" -f2`
echo $SERVER" system.cpu.fan "$A
B=`cat /tmp/sensors | grep "CPU Temp" | cut -d"+" -f2 | cut -d"C" -f1 | sed -e "s/\W*$//g"`
echo $SERVER" system.cpu.temp "$B
C=`cat /tmp/sensors | grep "MB Temp" | cut -d"+" -f2 | cut -d"C" -f1 | sed -e "s/\W*$//g"`
echo $SERVER" system.aux.temp "$C
DRIVES="sda sdb sdc sdd sde"
for drive in $DRIVES ; do
FILE="/tmp/$drive"
FILE+="_smart"
A=`grep Model: $FILE | cut -d":" -f2 |sed 's/^\s*//g;'`
echo $SERVER" system.$drive.Model "$A
A=`grep Temperature_Celsius $FILE | sed 's/\s\+/ /g;' | cut -d" " -f10`
echo $SERVER" system.$drive.Temperature_Celsius "$A
A=`grep Hardware_ECC_Recovered $FILE | sed 's/\s\+/ /g;' | cut -d" " -f4`
echo $SERVER" system.$drive.Hardware_ECC_Recovered "$A
A=`grep Raw_Read_Error_Rate $FILE | cut -d"x" -f2 | cut -d" " -f4`
echo $SERVER" system.$drive.Raw_Read_Error_Rate "$A
A=`grep Raw_Read_Error_Rate $FILE | sed 's/\s\+/ /g;' | cut -d" " -f11`
echo $SERVER" system.$drive.Raw_Read_Error_Rate_RAW "$A
A=`grep Raw_Read_Error_Rate $FILE | sed 's/\s\+/ /g;' | cut -d" " -f10`
echo $SERVER" system.$drive.Raw_Read_Error_Rate_WHEN "$A
A=`grep Power_On_Hours $FILE |sed 's/\s\+/ /g;' | cut -d" " -f11`
echo $SERVER" system.$drive.Power_On_Hours "$A
A=`grep Reallocated_Sector_Ct $FILE |sed 's/\s\+/ /g;' | cut -d" " -f11`
echo $SERVER" system.$drive.Reallocated_Sector_Ct "$A
done
Это скрипт для CRON его нужно периодически запускать и отправлять данные в Zabbix с помощью пакетного загрузчика zabbix_sender.
Конечно, все ключи которые передается должны быть добавлены в Items соответствующего сервера, в моем случае он называется HostNode
Диски которыми надо следить перечислены в DRIVES
Конечно же необходимо создать триггеры, чтобы не пропустить печального момента.
Да и на графики надо бы все вывести.
пятница, 14 февраля 2014 г.
Подписаться на:
Сообщения (Atom)