Nagios - проверка времени работы системы (System Uptime)

  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:62c57c7f6e4337ac19c87297939e8cd1' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><img alt=\"Nagios Logo\" src=\"http://muff.kiev.ua/files/nagios-logo.png\" style=\"height:38px; width:140px\" /></p>\n<p class=\"rtejustify\">Имея в распоряжении настроенную связку&nbsp;<a href=\"http://muff.kiev.ua/content/nastroika-sistemy-monitoringa-nagios-3x-i-utility-konfigurirovaniya-nconf\" style=\"text-align: justify;\"><strong>Nagios + Nconf</strong></a>, продолжим развивать тему мониторинга разнообразных параметров. Будем мониторить время работы системы с момента загрузки системы. Чтобы &quot;ребуты&quot; оборудования не проходили для нас незаметно...</p>\n<p class=\"rtejustify\">Проверку будем выполнять с используя расширение&nbsp;<strong>check_snmp</strong>. Синтаксис использования&nbsp;<strong>check_snmp&nbsp;</strong>следующий:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>\n<pre>\nUsage:\ncheck_snmp -H &lt;ip_address&gt; -o &lt;OID&gt; [-w warn_range] [-c crit_range]\n[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]\n[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]\n[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]\n[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]</pre></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Будем использовать следующие переменные:</p>\n<ul>\n<li class=\"rtejustify\"><span style=\"color:#FF0000\"><strong>10.50.10.50</strong></span> - IP-адрес оборудования</li>\n<li class=\"rtejustify\"><span style=\"color:#FF0000\"><strong>public</strong></span> - <strong>SNMP community</strong></li>\n<li class=\"rtejustify\"><span style=\"color:#FF0000\"><strong>2c</strong></span> - версия <strong>SNMP</strong></li>\n</ul>\n<p class=\"rtejustify\">Используя&nbsp;<strong>SNMP</strong>, состояние порта можно получить через&nbsp;<strong>OID&nbsp;sysUpTime.0</strong>. Пример такого запроса и ответа:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td># <strong>snmpwalk -v <span style=\"color:#FF0000\">2c</span> -c <span style=\"color:#FF0000\">public</span> <span style=\"color:#FF0000\">10.50.10.50</span> sysUpTime.0</strong><br />\n DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (4043391272) 467 days, 23:38:32.72</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Теперь получим эту же информацию, используя&nbsp;<strong>check_snmp</strong>:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td># <strong>/usr/local/libexec/nagios/check_snmp -H <span style=\"color:#FF0000\">10.50.10.50</span> -o sysUpTime.0 -P <span style=\"color:#FF0000\">2c</span> -C <span style=\"color:#FF0000\">public</span></strong><br />\n SNMP OK - Timeticks: (4043420333) 467 days, 23:43:23.33 |</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Последний штрих - укажем в комманде проверки&nbsp;дополнительные ключи, чтобы ограничить временные рамки, согласно которых получаем статус&nbsp;<strong>CRITICAL</strong>&nbsp;и <strong>WARNING</strong>. Если&nbsp;<strong>UpTime</strong>&nbsp;оборудования меньше 3 часов - статус&nbsp;<strong>CRITICAL</strong>, если&nbsp;<strong>UpTime</strong>&nbsp;меньше суток - статус&nbsp;<strong>WARNING</strong>. Итак:</p>\n<ul>\n<li><strong>3 часа</strong> - это <span style=\"color:#FF0000\"><strong>10800</strong></span> секунд</li>\n<li><strong>24 часа</strong> - это <span style=\"color:#FF0000\"><strong>86400</strong></span> секунд</li>\n</ul>\n<p><strong>SNMP</strong> возвращает нам значение <strong>sysUpTime.0</strong>, в формате <strong>timeticks</strong>. <strong>Timetick</strong>&nbsp;- это 0.01 секунды. Соответственно, необходимо перевести наше время в секундах в формат&nbsp;<strong>timeticks</strong>. Для этого умножаем время в секундах на 100, и получаем значение в&nbsp;<strong>timeticks</strong>.</p>\n<p>Тестируем работоспособность комманды проверки:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>\n<p>#&nbsp;<strong>/usr/local/libexec/nagios/check_snmp&nbsp;-H <span style=\"color:#FF0000\">10.50.10.50</span> -o sysUpTime.0 -P&nbsp;<span style=\"color:rgb(255, 0, 0)\">2c</span>&nbsp;-C <span style=\"color:#FF0000\">public</span> -c 1080000:0 -w 8640000:0</strong><br />\n SNMP CRITICAL - *290700* | DISMAN-EVENT-MIB::sysUpTimeInstance=290700;8640000:0;1080000:0;8640000;1080000;<br />\n #&nbsp;<strong>/usr/local/libexec/nagios/check_snmp&nbsp;-H <span style=\"color:#FF0000\">10.50.10.50</span> -o sysUpTime.0 -P&nbsp;<span style=\"color:rgb(255, 0, 0)\">2c</span>&nbsp;-C <span style=\"color:#FF0000\">public</span> -c 1080000:0 -w 8640000:0</strong></p>\n<p>SNMP WARNING - *8179000* | DISMAN-EVENT-MIB::sysUpTimeInstance=8179000;8640000:0;1080000:0;8640000;1080000;<br />\n #&nbsp;<strong>/usr/local/libexec/nagios/check_snmp&nbsp;-H <span style=\"color:#FF0000\">10.50.10.50</span> -o sysUpTime.0 -P&nbsp;<span style=\"color:rgb(255, 0, 0)\">2c</span>&nbsp;-C <span style=\"color:#FF0000\">public</span>&nbsp;-c 1080000:0 -w 8640000:0</strong></p>\n<p>SNMP OK - 4049137283 | DISMAN-EVENT-MIB::sysUpTimeInstance=4049137283;8640000:0;1080000:0;8640000;1080000;</p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Теперь, используя эту информацию, создадим в&nbsp;<strong>Nconf</strong>&nbsp;новую&nbsp;&quot;<strong>Checkcommand</strong>&quot; - &quot;<strong>check_snmp_uptime</strong>&quot;.</p>\n<p class=\"rtejustify\">Для этого в меню &quot;<strong>Additional Items</strong>&quot;, пункт &quot;<strong>Checkcommands</strong>&quot; жмем кнопку &quot;<strong>Add</strong>&quot; и заполняем форму следующим образом:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>check command name</td>\n<td>check_snmp_uptime</td>\n</tr>\n<tr>\n<td>default service name</td>\n<td>&nbsp;</td>\n</tr>\n<tr>\n<td>check command line</td>\n<td>$USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$</td>\n</tr>\n<tr>\n<td>default command params</td>\n<td>!2c!public!1080000:0!8640000:0</td>\n</tr>\n<tr>\n<td>params description</td>\n<td>ARG1=SNMP version,ARG2=SNMP community,ARG3=Warn level,ARG4=Critical Level</td>\n</tr>\n<tr>\n<td>amount of params</td>\n<td>4</td>\n</tr>\n</tbody>\n</table>\n<p>После создания команды проверки&nbsp;<strong>check_snmp_uptime</strong>, добавляем этот сервис в команды проверки устройств, не забыв изменить необходимые переменные. Генерируем конфигурационные файлы и ожидаем проверки наших сервисов.</p>\n<p>Результаты наших усилий:</p>\n<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/Nagios_SNMP_Uptime_01.png\"><img alt=\"Nagios SNMP Uptime\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/Nagios_SNMP_Uptime_01.png\" style=\"height:112px; width:200px\" /></a></p>\n<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/Nagios_SNMP_Uptime_02.png\"><img alt=\"Nagios SNMP Uptime\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/Nagios_SNMP_Uptime_02.png\" style=\"height:112px; width:200px\" /></a>&nbsp;<a class=\"thickbox\" href=\"/files/imagepicker/1/Nagios_SNMP_Uptime_03.png\"><img alt=\"Nagios SNMP Uptime\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/Nagios_SNMP_Uptime_03.png\" style=\"height:112px; width:200px\" /></a>&nbsp;<a class=\"thickbox\" href=\"/files/imagepicker/1/Nagios_SNMP_Uptime_04.png\"><img alt=\"Nagios SNMP Uptime\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/Nagios_SNMP_Uptime_04.png\" style=\"height:112px; width:200px\" /></a></p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:62c57c7f6e4337ac19c87297939e8cd1' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:f2ad1a43ab36a5be62ac718f5fd61665' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>цікаве рішення, а не підкажете як це все зробити не використовуючи Nconf.</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:f2ad1a43ab36a5be62ac718f5fd61665' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:bd84eb01cf2f20f6acbd24b84849ee87' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Приклад опису команди перевірки:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>define command {<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; command_name&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; check_snmp_uptime<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; command_line&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$<br />\n }</td>\n</tr>\n</tbody>\n</table>\n<p>Приклад перевірки&nbsp;сервісу:</p>\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"width:100%\">\n<tbody>\n<tr>\n<td>define service {<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; service_description&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;check_snmp_uptime<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; check_command&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;check_snmp_uptime!1!SNMP_COMM!1080000:0!8640000:0<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; host_name&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;001-001<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; check_period&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 24x7<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; notification_period&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;24x7<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; contact_groups&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +support<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; event_handler_enabled&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1<br />\n &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; use&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;generic-service<br />\n }</td>\n</tr>\n</tbody>\n</table>\n<p>&nbsp;</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:bd84eb01cf2f20f6acbd24b84849ee87' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:9906b0324b4202f01ce2a45ec02adf1a' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>дякую</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:9906b0324b4202f01ce2a45ec02adf1a' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:1b47e1214da956c1f137883f6439e0df' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>доброго дня. виникла ситуація, що одним Nagios&#39;ом треба моніторити uptime обладнання, частина якого працює з SNMP v2, а частина з SNMP v3. у SNMP v3 для авторизації замість параметру -C треба вказувати одразу декілька параметрів -A&nbsp; -L -U -x -X.</p>\n<p>підкажіть будь ласка як описати</p>\n<p>command_line&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$</p>\n<p>і відповідно до нього</p>\n<p>check_command&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; check_snmp_uptime!1!SNMP_COMM!1080000:0!8640000:0</p>\n<p>так щоб можна було з одного&nbsp;Nagios&#39;у моніторити uptime одночасно SNMP v2 та SNMP v3 пристроїв.</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:1b47e1214da956c1f137883f6439e0df' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:352a982e0e13df1cc23a5f8ece718de5' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtejustify\">Доброго дня.</p>\n<p>Складіть дві різних команди перевірки з різним набором ключів, наприклад&nbsp;<strong>check_snmp_v2_uptime</strong> та&nbsp;<strong>check_snmp_v3_uptime</strong>. Тоді зможете обирати для кожного пристрою свій варіант перевірки.</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:352a982e0e13df1cc23a5f8ece718de5' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:91f1b1b3dcce023f247b468a6612e4dd' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Доброго дня. Дякую. Була така ідея, але не був впевнений, що так працюватиме. Але якщо Ви кажете, що буде, тоді так і зроблю.</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:91f1b1b3dcce023f247b468a6612e4dd' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:895b01cfc13363201e481d162017669f' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Доброго дня. Дякую. Була така ідея, але не був впевнений чи працюватиме. Але якщо Ви кажете, що буде, тоді так і зроблю.</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:895b01cfc13363201e481d162017669f' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:92dab250d30e0d1b3128d864d6f8d4fd' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>Доброго дня. зробив як ви порадили <strong>check_snmp_v2_uptime</strong> та<strong> check_snmp_v3_uptime</strong> все працює. ще раз Дякую.</p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:92dab250d30e0d1b3128d864d6f8d4fd' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767902173, expire = 1767988573, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

Nagios Logo

Имея в распоряжении настроенную связку Nagios + Nconf, продолжим развивать тему мониторинга разнообразных параметров. Будем мониторить время работы системы с момента загрузки системы. Чтобы "ребуты" оборудования не проходили для нас незаметно...

Проверку будем выполнять с используя расширение check_snmp. Синтаксис использования check_snmp следующий:

Usage:
check_snmp -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]
[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]
[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]
[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]
[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]

Будем использовать следующие переменные:

  • 10.50.10.50 - IP-адрес оборудования
  • public - SNMP community
  • 2c - версия SNMP

Используя SNMP, состояние порта можно получить через OID sysUpTime.0. Пример такого запроса и ответа:

# snmpwalk -v 2c -c public 10.50.10.50 sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (4043391272) 467 days, 23:38:32.72

Теперь получим эту же информацию, используя check_snmp:

# /usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public
SNMP OK - Timeticks: (4043420333) 467 days, 23:43:23.33 |

Последний штрих - укажем в комманде проверки дополнительные ключи, чтобы ограничить временные рамки, согласно которых получаем статус CRITICAL и WARNING. Если UpTime оборудования меньше 3 часов - статус CRITICAL, если UpTime меньше суток - статус WARNING. Итак:

  • 3 часа - это 10800 секунд
  • 24 часа - это 86400 секунд

SNMP возвращает нам значение sysUpTime.0, в формате timeticks. Timetick - это 0.01 секунды. Соответственно, необходимо перевести наше время в секундах в формат timeticks. Для этого умножаем время в секундах на 100, и получаем значение в timeticks.

Тестируем работоспособность комманды проверки:

/usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public -c 1080000:0 -w 8640000:0
SNMP CRITICAL - *290700* | DISMAN-EVENT-MIB::sysUpTimeInstance=290700;8640000:0;1080000:0;8640000;1080000;
/usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public -c 1080000:0 -w 8640000:0

SNMP WARNING - *8179000* | DISMAN-EVENT-MIB::sysUpTimeInstance=8179000;8640000:0;1080000:0;8640000;1080000;
/usr/local/libexec/nagios/check_snmp -H 10.50.10.50 -o sysUpTime.0 -P 2c -C public -c 1080000:0 -w 8640000:0

SNMP OK - 4049137283 | DISMAN-EVENT-MIB::sysUpTimeInstance=4049137283;8640000:0;1080000:0;8640000;1080000;

Теперь, используя эту информацию, создадим в Nconf новую "Checkcommand" - "check_snmp_uptime".

Для этого в меню "Additional Items", пункт "Checkcommands" жмем кнопку "Add" и заполняем форму следующим образом:

check command name check_snmp_uptime
default service name  
check command line $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$
default command params !2c!public!1080000:0!8640000:0
params description ARG1=SNMP version,ARG2=SNMP community,ARG3=Warn level,ARG4=Critical Level
amount of params 4

После создания команды проверки check_snmp_uptime, добавляем этот сервис в команды проверки устройств, не забыв изменить необходимые переменные. Генерируем конфигурационные файлы и ожидаем проверки наших сервисов.

Результаты наших усилий:

Nagios SNMP Uptime

Nagios SNMP Uptime Nagios SNMP Uptime Nagios SNMP Uptime

 

 

Голосов пока нет

Re: Nagios - проверка времени работы системы (System Uptime)

цікаве рішення, а не підкажете як це все зробити не використовуючи Nconf.

Re: Nagios - проверка времени работы системы (System Uptime)

Приклад опису команди перевірки:

define command {
                command_name                          check_snmp_uptime
                command_line                          $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$
}

Приклад перевірки сервісу:

define service {
                service_description                   check_snmp_uptime
                check_command                         check_snmp_uptime!1!SNMP_COMM!1080000:0!8640000:0
                host_name                             001-001
                check_period                          24x7
                notification_period                   24x7
                contact_groups                        +support
                event_handler_enabled                 1
                use                                   generic-service
}

 

Re: Nagios - проверка времени работы системы (System Uptime)

дякую

Re: Nagios - проверка времени работы системы (System Uptime)

доброго дня. виникла ситуація, що одним Nagios'ом треба моніторити uptime обладнання, частина якого працює з SNMP v2, а частина з SNMP v3. у SNMP v3 для авторизації замість параметру -C треба вказувати одразу декілька параметрів -A  -L -U -x -X.

підкажіть будь ласка як описати

command_line            $USER1$/check_snmp -H $HOSTADDRESS$ -o sysUpTime.0 -P $ARG1$ -C $ARG2$ -c $ARG3$ -w $ARG4$

і відповідно до нього

check_command          check_snmp_uptime!1!SNMP_COMM!1080000:0!8640000:0

так щоб можна було з одного Nagios'у моніторити uptime одночасно SNMP v2 та SNMP v3 пристроїв.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня.

Складіть дві різних команди перевірки з різним набором ключів, наприклад check_snmp_v2_uptime та check_snmp_v3_uptime. Тоді зможете обирати для кожного пристрою свій варіант перевірки.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня. Дякую. Була така ідея, але не був впевнений, що так працюватиме. Але якщо Ви кажете, що буде, тоді так і зроблю.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня. Дякую. Була така ідея, але не був впевнений чи працюватиме. Але якщо Ви кажете, що буде, тоді так і зроблю.

Re: Nagios - проверка времени работы системы (System Uptime)

Доброго дня. зробив як ви порадили check_snmp_v2_uptime та check_snmp_v3_uptime все працює. ще раз Дякую.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература

Мой компьютер постоянно обыгрывает меня в шахматы. Зато я всегда побеждаю его в боксерском поединке!