Кактусы и компы
Jun. 6th, 2014 10:25 amКактус глюканул.
Вдруг обнаружил что температура на одном из графиков зашкалила. Сдох, думаю, либо sensors, либо что? Полез смотреть и вдруг обнаруживаю что на одном из собираемых параметров индекс не соответствует нужному. Т.е. вместо температуры на маме и первом ядре снимался счётчик лимита температуры на проце. А там фикс на 60 и 95. Исправил и успокоился. Задумался, конечно, как такое могло случиться, но вчера некогда было разбираться - переписывал скрипт алармовой панели с php на perl для переноса на другой сервер. Не то чтобы на втором серваке не было php, но вот как-то решил на нём ничего самописного на php не ставить.
Сегодня с утра проапгрейтил на компах всякую всячину (включая ядро), рестартанул севак с кактусом и вдруг наблюдаю, что на графиках этого же сервака показатели пропали. В кактусовый лог заглянул - никаких ошибок. Вспомнил вчерашнее - пошёл проверять data source. А там полная ахинея: вместо температурных данных - фановые. Начал править - а на втором слетевшем датчике Custom Data->Output Type ID как был ucd/net - lmSensors - Fan Sensor, так и остался. Стал разбираться...
В итоге и сам глюканул. :)
Проверял sensors и что выводится snmpwalk. Но раз промахнулся и смотрел с другого компа. ;-) Так легко может получиться, когда одна половина мозга (левая) на столько занята мыслями, что за правой приглядеть некому. Не, конечно, правая по своему крута. Но тупа. Интеллектуальные задачи не для неё. :D
А тут ss_netsnmp_lmsensors.php показывает непонятно что: среди фанов почему-то ядра и вообще датчиков аж 12. Ага, думаю, это модуль почему-то глючит! Но разбираться с ним недосуг. Глянул на OID, сверил с тем что snmpwalk вернул - вроде всё правильно.
В общем, ещё долго глючило бы меня, если бы не добрался, наконец, до того, что почему-то датчиков 12 именно фановых, и сами фаны в конце, а первыми идут ядра. И вот тут левая половина отвлеклась от размышлений "чего там у тебя?" и наконец я вспоминаю, что: ".. да! на том же серваке всё именно через жопу и было"... Ну и стоило столько возиться и вносить какие-то ненужные изменения?
Тоже кстати, прописывал хосты одновременно разбираясь с кактусом. И тоже левая шибко занята была. :)
Так вот в чём именно загводзка: на этом одном серваке у меня стоят интелёвые камни и ядро, соответственно, i686/i386. На всех других (где собираю через snmp параметры) - amd и ядра x86_64. Кто врёт пока не разбирался - snmpd или lmsensors. Да и вообже пока не вникал откуда snmpd берёт данные. А надо будет - думаю не подсунуть ли ему данные от моих роботов, или всё-таки не заморачиваться и брать данные напрямую.
В общем, вот какая хрень получается с интелёвой машины:
Ну не порнография ли?
А вот что выдают amd-шные тачки:
Кстати, с smnp хочу поразбираться хотя бы для того чтобы заменить идиотские совпадающие названия на вразумительные, чтобы было ясно где текущее значение, а где лимиты...
Вдруг обнаружил что температура на одном из графиков зашкалила. Сдох, думаю, либо sensors, либо что? Полез смотреть и вдруг обнаруживаю что на одном из собираемых параметров индекс не соответствует нужному. Т.е. вместо температуры на маме и первом ядре снимался счётчик лимита температуры на проце. А там фикс на 60 и 95. Исправил и успокоился. Задумался, конечно, как такое могло случиться, но вчера некогда было разбираться - переписывал скрипт алармовой панели с php на perl для переноса на другой сервер. Не то чтобы на втором серваке не было php, но вот как-то решил на нём ничего самописного на php не ставить.
Сегодня с утра проапгрейтил на компах всякую всячину (включая ядро), рестартанул севак с кактусом и вдруг наблюдаю, что на графиках этого же сервака показатели пропали. В кактусовый лог заглянул - никаких ошибок. Вспомнил вчерашнее - пошёл проверять data source. А там полная ахинея: вместо температурных данных - фановые. Начал править - а на втором слетевшем датчике Custom Data->Output Type ID как был ucd/net - lmSensors - Fan Sensor, так и остался. Стал разбираться...
В итоге и сам глюканул. :)
Проверял sensors и что выводится snmpwalk. Но раз промахнулся и смотрел с другого компа. ;-) Так легко может получиться, когда одна половина мозга (левая) на столько занята мыслями, что за правой приглядеть некому. Не, конечно, правая по своему крута. Но тупа. Интеллектуальные задачи не для неё. :D
А тут ss_netsnmp_lmsensors.php показывает непонятно что: среди фанов почему-то ядра и вообще датчиков аж 12. Ага, думаю, это модуль почему-то глючит! Но разбираться с ним недосуг. Глянул на OID, сверил с тем что snmpwalk вернул - вроде всё правильно.
В общем, ещё долго глючило бы меня, если бы не добрался, наконец, до того, что почему-то датчиков 12 именно фановых, и сами фаны в конце, а первыми идут ядра. И вот тут левая половина отвлеклась от размышлений "чего там у тебя?" и наконец я вспоминаю, что: ".. да! на том же серваке всё именно через жопу и было"... Ну и стоило столько возиться и вносить какие-то ненужные изменения?
Тоже кстати, прописывал хосты одновременно разбираясь с кактусом. И тоже левая шибко занята была. :)
Так вот в чём именно загводзка: на этом одном серваке у меня стоят интелёвые камни и ядро, соответственно, i686/i386. На всех других (где собираю через snmp параметры) - amd и ядра x86_64. Кто врёт пока не разбирался - snmpd или lmsensors. Да и вообже пока не вникал откуда snmpd берёт данные. А надо будет - думаю не подсунуть ли ему данные от моих роботов, или всё-таки не заморачиваться и брать данные напрямую.
В общем, вот какая хрень получается с интелёвой машины:
iso.3.6.1.4.1.2021.13.16.2.1.1.1 = INTEGER: 0 iso.3.6.1.4.1.2021.13.16.2.1.1.2 = INTEGER: 1 iso.3.6.1.4.1.2021.13.16.2.1.1.3 = INTEGER: 2 iso.3.6.1.4.1.2021.13.16.2.1.1.4 = INTEGER: 3 iso.3.6.1.4.1.2021.13.16.2.1.1.5 = INTEGER: 4 iso.3.6.1.4.1.2021.13.16.2.1.1.6 = INTEGER: 5 iso.3.6.1.4.1.2021.13.16.2.1.2.1 = STRING: "CPU Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.2 = STRING: "CPU Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.3 = STRING: "CPU Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.4 = STRING: "MB Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.5 = STRING: "MB Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.6 = STRING: "MB Temperature" iso.3.6.1.4.1.2021.13.16.2.1.3.1 = Gauge32: 27500 iso.3.6.1.4.1.2021.13.16.2.1.3.2 = Gauge32: 60000 iso.3.6.1.4.1.2021.13.16.2.1.3.3 = Gauge32: 95000 iso.3.6.1.4.1.2021.13.16.2.1.3.4 = Gauge32: 31000 iso.3.6.1.4.1.2021.13.16.2.1.3.5 = Gauge32: 45000 iso.3.6.1.4.1.2021.13.16.2.1.3.6 = Gauge32: 95000 ... iso.3.6.1.4.1.2021.13.16.5.1.1.1 = INTEGER: 0 iso.3.6.1.4.1.2021.13.16.5.1.1.2 = INTEGER: 1 iso.3.6.1.4.1.2021.13.16.5.1.1.3 = INTEGER: 2 iso.3.6.1.4.1.2021.13.16.5.1.1.4 = INTEGER: 3 iso.3.6.1.4.1.2021.13.16.5.1.1.5 = INTEGER: 4 iso.3.6.1.4.1.2021.13.16.5.1.1.6 = INTEGER: 5 iso.3.6.1.4.1.2021.13.16.5.1.1.7 = INTEGER: 6 iso.3.6.1.4.1.2021.13.16.5.1.1.8 = INTEGER: 7 iso.3.6.1.4.1.2021.13.16.5.1.1.9 = INTEGER: 8 iso.3.6.1.4.1.2021.13.16.5.1.1.10 = INTEGER: 9 iso.3.6.1.4.1.2021.13.16.5.1.1.11 = INTEGER: 10 iso.3.6.1.4.1.2021.13.16.5.1.1.12 = INTEGER: 11 iso.3.6.1.4.1.2021.13.16.5.1.2.1 = STRING: "Core 0" iso.3.6.1.4.1.2021.13.16.5.1.2.2 = STRING: "Core 0" iso.3.6.1.4.1.2021.13.16.5.1.2.3 = STRING: "Core 0" iso.3.6.1.4.1.2021.13.16.5.1.2.4 = STRING: "Core 0" iso.3.6.1.4.1.2021.13.16.5.1.2.5 = STRING: "Core 1" iso.3.6.1.4.1.2021.13.16.5.1.2.6 = STRING: "Core 1" iso.3.6.1.4.1.2021.13.16.5.1.2.7 = STRING: "Core 1" iso.3.6.1.4.1.2021.13.16.5.1.2.8 = STRING: "Core 1" iso.3.6.1.4.1.2021.13.16.5.1.2.9 = STRING: "CPU FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.2.10 = STRING: "CPU FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.2.11 = STRING: "CHASSIS FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.2.12 = STRING: "CHASSIS FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.3.1 = Gauge32: 45000 iso.3.6.1.4.1.2021.13.16.5.1.3.2 = Gauge32: 86000 iso.3.6.1.4.1.2021.13.16.5.1.3.3 = Gauge32: 100000 iso.3.6.1.4.1.2021.13.16.5.1.3.4 = Gauge32: 0 iso.3.6.1.4.1.2021.13.16.5.1.3.5 = Gauge32: 46000 iso.3.6.1.4.1.2021.13.16.5.1.3.6 = Gauge32: 86000 iso.3.6.1.4.1.2021.13.16.5.1.3.7 = Gauge32: 100000 iso.3.6.1.4.1.2021.13.16.5.1.3.8 = Gauge32: 0 iso.3.6.1.4.1.2021.13.16.5.1.3.9 = Gauge32: 2083000 iso.3.6.1.4.1.2021.13.16.5.1.3.10 = Gauge32: 0 iso.3.6.1.4.1.2021.13.16.5.1.3.11 = Gauge32: 2096000 iso.3.6.1.4.1.2021.13.16.5.1.3.12 = Gauge32: 800000
Ну не порнография ли?
А вот что выдают amd-шные тачки:
iso.3.6.1.4.1.2021.13.16.2.1.1.1 = INTEGER: 0 iso.3.6.1.4.1.2021.13.16.2.1.1.2 = INTEGER: 1 iso.3.6.1.4.1.2021.13.16.2.1.1.3 = INTEGER: 2 iso.3.6.1.4.1.2021.13.16.2.1.1.4 = INTEGER: 3 iso.3.6.1.4.1.2021.13.16.2.1.1.5 = INTEGER: 4 iso.3.6.1.4.1.2021.13.16.2.1.1.6 = INTEGER: 5 iso.3.6.1.4.1.2021.13.16.2.1.1.7 = INTEGER: 6 iso.3.6.1.4.1.2021.13.16.2.1.1.8 = INTEGER: 7 iso.3.6.1.4.1.2021.13.16.2.1.2.1 = STRING: "CPU Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.2 = STRING: "CPU Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.3 = STRING: "CPU Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.4 = STRING: "MB Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.5 = STRING: "MB Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.6 = STRING: "MB Temperature" iso.3.6.1.4.1.2021.13.16.2.1.2.7 = STRING: "Core0 Temp" iso.3.6.1.4.1.2021.13.16.2.1.2.8 = STRING: "Core1 Temp" iso.3.6.1.4.1.2021.13.16.2.1.3.1 = Gauge32: 36000 iso.3.6.1.4.1.2021.13.16.2.1.3.2 = Gauge32: 60000 iso.3.6.1.4.1.2021.13.16.2.1.3.3 = Gauge32: 95000 iso.3.6.1.4.1.2021.13.16.2.1.3.4 = Gauge32: 34000 iso.3.6.1.4.1.2021.13.16.2.1.3.5 = Gauge32: 45000 iso.3.6.1.4.1.2021.13.16.2.1.3.6 = Gauge32: 95000 iso.3.6.1.4.1.2021.13.16.2.1.3.7 = Gauge32: 36000 iso.3.6.1.4.1.2021.13.16.2.1.3.8 = Gauge32: 33000 ... iso.3.6.1.4.1.2021.13.16.5.1.1.1 = INTEGER: 0 iso.3.6.1.4.1.2021.13.16.5.1.1.2 = INTEGER: 1 iso.3.6.1.4.1.2021.13.16.5.1.1.3 = INTEGER: 2 iso.3.6.1.4.1.2021.13.16.5.1.1.4 = INTEGER: 3 iso.3.6.1.4.1.2021.13.16.5.1.2.1 = STRING: "CPU FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.2.2 = STRING: "CPU FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.2.3 = STRING: "CHASSIS FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.2.4 = STRING: "CHASSIS FAN Speed" iso.3.6.1.4.1.2021.13.16.5.1.3.1 = Gauge32: 986000 iso.3.6.1.4.1.2021.13.16.5.1.3.2 = Gauge32: 2000000 iso.3.6.1.4.1.2021.13.16.5.1.3.3 = Gauge32: 733000 iso.3.6.1.4.1.2021.13.16.5.1.3.4 = Gauge32: 2000000
Кстати, с smnp хочу поразбираться хотя бы для того чтобы заменить идиотские совпадающие названия на вразумительные, чтобы было ясно где текущее значение, а где лимиты...