Получаем по SNMP информацию из собственных скриптов

Возможности SNMP широки, но не безграничны. Ни один разработчик не сможет заранее предположить, что может понадобиться клиенту.

По этому приходится расширять отдаваемую информацию своими скриптами.

Для этого в файл конфигурации демона snmpd добавляем строку

 

extend .1.3.6.1.4.1.2021.8.4 df /home/user/test.sh

  

 

и перезапускаем сервис snmpd

service snmpd restart

   

 

 

По поводу того, откуда взялись цифры .1.3.6.1.4.1.2021.8.4

Из документации по SNMP - http://www.net-snmp.org/docs/mibs/ucdavis.html

 

OID .1.3.6.1.4.1.2021.8 предназначен для привязывания внешних скриптов

   

 

Создадим скрипт test.sh

#!/bin/sh

echo SNMP test

 

   

И сделаем его исполняемым

chmod +x test.sh

 

   

Для проверки запустим с другого компьютера обзор дерева

snmpwalk -v2c -c snmpPasswd server-addr .1.3.6.1.4.1.2021.8

   

В выводе получим

UCD-SNMP-MIB::extTable.4.1.0 = INTEGER: 1

UCD-SNMP-MIB::extTable.4.2.1.2.2.100.102 = STRING: "/home/user/test.sh"

UCD-SNMP-MIB::extTable.4.2.1.3.2.100.102 = ""

UCD-SNMP-MIB::extTable.4.2.1.4.2.100.102 = ""

UCD-SNMP-MIB::extTable.4.2.1.5.2.100.102 = INTEGER: 5

UCD-SNMP-MIB::extTable.4.2.1.6.2.100.102 = INTEGER: 1

UCD-SNMP-MIB::extTable.4.2.1.7.2.100.102 = INTEGER: 1

UCD-SNMP-MIB::extTable.4.2.1.20.2.100.102 = INTEGER: 4

UCD-SNMP-MIB::extTable.4.2.1.21.2.100.102 = INTEGER: 1

UCD-SNMP-MIB::extTable.4.3.1.1.2.100.102 = STRING: "SNMP test"

UCD-SNMP-MIB::extTable.4.3.1.2.2.100.102 = STRING: "SNMP test"

UCD-SNMP-MIB::extTable.4.3.1.3.2.100.102 = INTEGER: 1

UCD-SNMP-MIB::extTable.4.3.1.4.2.100.102 = INTEGER: 0

UCD-SNMP-MIB::extTable.4.4.1.2.2.100.102.1 = STRING: "SNMP test"

 

   Получить результат действия скрипта можно командой

 

snmpget -v2c -c snmpPasswd server-addr 1.3.6.1.4.1.2021.8.4.4.1.2.2.100.102.1

   

на выходе получим

UCD-SNMP-MIB::extTable.4.4.1.2.2.100.102.1 = STRING: "SNMP test"

 

   Теперь можно парсить вывод, подключать к системам мониторинга и т.д.

 

Добавить комментарий

Защитный код
Обновить