среда, 24 ноября 2010 г.

Температура ядер для Zabbix


Система мониторинга Zabbix 1.8
Средняя температура по процессору + поиск "критичной" температуры по всем ядрам.
#!/bin/bash
sens=`sensors | grep Core | cut -c 15-16`
for TEMP in $sens
do
array[${#array[*]}]=$TEMP
done
core1=$(((${array[0]}+${array[1]}+${array[2]}+${array[3]}+${
array[4]}+${array[5]})/6))
core2=$(((${array[6]}+${array[7]}+${array[8]}+${array[9]}+${array[10]}+${array[11]})/6))
count=0
while [ $count -le 11 ];
do
if [ ${array[$count]} -gt 60 ]; then
crit_temp=1
else crit_temp=0
fi
let count=count+1
done
if [ $1 == core1 ]; then
echo $core1
elif [ $1 == core2 ];
then
echo $core2
elif [ $1 == crit ];
then echo $crit_temp
fi

В /etc/zabbix/zabbix_agentd.conf пишем пользовательский параметр вызова скрипта с аргументом (core1,core2,crit)
UserParameter=sensors_cpu1,/etc/temp.sh core1
UserParameter=sensors_cpu2,/etc/temp.sh core2
UserParameter=crit_temp,/etc/temp.sh crit

На стороне Zabbix сервера необходимо добавить новый "Элемент данных", в качестве ключа должен использоваться UserParamter.
При желании добавляются "элементы данных" в пользовательский график.


Комментариев нет: