Задачка на смекалку
2011-10-03 16:16Серверу под FreeBSD 8 нужно отдавать температуру CPU в градусах цельсия через SNMP. Команда sysctl -n dev.cpu.0.temperature
#!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin cput="`sysctl -n dev.cpu.0.temperature`" echo ${cput%%,*}
Запускаем вручную, проверяем, что выдаёт. Настраиваем bsnmpd
с использованием его плагина bsnmp-ucd
, чтобы вызывал наш скрипт и его вывод отдавал в виде OID внутри ветки enterprise
- всё работает. Рисуем график через mrtg - рисуется.
Так работает несколько дней, после перезагрузки сервера график рисоваться перестаёт. Проверяем, запуская скрипт вручную - температуру показывает. Через SNMP данные не передаются, хотя до ребута передавались. Другие подобные OID, получаемые через запуск внешних скриптов из bsnmp-ucd, по-прежнему исправно отдаются.
Внимание, вопрос - что это было? Ответ напишу через пару дней, если никто не догадается.
( Ответ )