Отримуємо по SNMP інформацію з власних скриптів
- Деталі
- Категорія: Servers (uk)
- Опубліковано: Неділя, 06 січня 2019, 19:33
- Автор: Super User
- Перегляди: 4328
Можливості 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"
Тепер можна парсити виведення, підключати до систем моніторингу і т.д.