Хотел построить график загрузки процессора на ESX, написал скрипт который выполняется на удаленной машине.
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
cpu_usage=`esxtop -b -d 2 -n 1 | awk -F "," '{print $16}' |grep -v esx | tr -t '.' ',' | tr -d '"' | awk '{printf "%.0f",$1}'`
let "cpu_usage += 1"
let "cpu_usage -= 1"
warning=80
critical=90
if (("$cpu_usage" >= "$critical")); then
echo "CPU Usage CRITICAL!" $cpu_usage
EXIT_STATE=$STATE_CRITICAL
elif (("$cpu_usage" >= "$warning")); then
echo "CPU Usage WARNING!" $cpu_usage
EXIT_STATE=$STATE_WARNING
elif (("$cpu_usage" < "$warning")); then
echo "CPU Usage OK!" $cpu_usage
EXIT_STATE=$STATE_OK
else
echo "UNKNOWN! $cpu_usage"
EXIT_STATE=$STATE_UNKNOWN
fi
exit $EXIT_STATE
Сделал плагин на nagios сервере,
HOST=$1
ssh nagios@$HOST /home/nagios/sh_mon/check_cpu.sh
ну и соответственно сделал изменения в конфигурации Nagios.
Это всё работает но...
Service State Information
Current Status:
OK
(for 2d 1h 14m 23s)
Status Information: CPU Usage OK! 0
Performance Data:
Current Attempt: 1/10 (HARD state)
Last Check Time: 22-12-2011 15:54:24
Check Type: ACTIVE
Check Latency / Duration: 325.531 / 0.275 seconds
Next Scheduled Check: 22-12-2011 16:24:24
Last State Change: 20-12-2011 15:15:35
Last Notification: N/A (notification 0)
Is This Service Flapping? N/A
In Scheduled Downtime?
NO
Last Update: 22-12-2011 16:29:49 ( 0d 0h 0m 9s ago)
Active Checks:
ENABLED
Passive Checks:
ENABLED
Obsessing:
ENABLED
Notifications:
DISABLED
Event Handler:
ENABLED
Flap Detection:
ENABLED
Performance Data: - пусто. соответственно графики я построить не смогу. что сделать чтобы данные собирались??
[console]
tail -f perfdata.log | grep ESX
2011-12-22 16:21:14 [5468] [1] No Performance Data for ESX / Ping
2011-12-22 16:28:17 [19304] [1] No Performance Data for ESX / ESX_Memory
2011-12-22 16:29:13 [21302] [1] No Performance Data for ESX / Ping
2011-12-22 16:30:32 [23866] [1] No Performance Data for ESX / ESX_CPU
2011-12-22 16:31:36 [25918] [1] No Performance Data for ESX / ESX_Swap
[/console]