LINUX.ORG.RU

UBUNTU 18.04:: SNMP:: Создание собственных OID-ов

 ,


0

1

Всем привет! Ковыряю такую штуковину как SNMP-протокол c его MIB-деревьями.

Не получается привязать написанный mib-файл к общей системе, то есть: после префикса 1.3.6.1.4.enterprises(1) добавить еще подуровень 4050 (станет 1.3.6.1.4.enterprises(1).4050), и накидать туда других подуровней и переменных.

1.Проделал установку по ссылке https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-an-snmp-daemon-and-client-on-ubuntu-14-04

Если коротко:

sudo apt-get update
sudo apt-get install snmp snmp-mibs-downloader
sudo apt-get install snmpd
и настроил малость на локальный комп настроечные файлы агента и менеджера /etc/snmp/snmp.conf и /etc/snmp/snmpd.conf

2.Набросал тестовый mib:


NET-SNMP-EXAMPLES-MIB DEFINITIONS ::= BEGIN

IMPORTS
    
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, 
    Counter32, Unsigned32, NOTIFICATION-TYPE,
    enterprises                             FROM SNMPv2-SMI    
    SnmpAdminString                         FROM SNMP-FRAMEWORK-MIB    
    RowStatus, StorageType                  FROM SNMPv2-TC
    InetAddressType, InetAddress            FROM INET-ADDRESS-MIB    
;

netSnmpExamples MODULE-IDENTITY
    LAST-UPDATED   "201901150000Z"
    ORGANIZATION    "www.net-snmp.org"
    CONTACT-INFO    
                   "postal:   Wes Hardaker
                    P.O. Box 382
                    Davis CA  95617
                    email:    net-snmp-coders@lists.sourceforge.net"
    DESCRIPTION    "Example MIB objects for agent module example implementations"
    REVISION       "201901150000Z"
    DESCRIPTION    "Corrected notification example definitions"
    REVISION       "201802060000Z"
    DESCRIPTION    "First draft"
    
    ::= { enterprises 4050 }

--
-- верхний уровень структуры
--
netSnmpExampleScalars       OBJECT IDENTIFIER ::= { netSnmpExamples 1 }
netSnmpExampleTables        OBJECT IDENTIFIER ::= { netSnmpExamples 2 }

--
-- переменные
--

netSnmpExampleInteger OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "some text"
    DEFVAL { 42 }
    ::= { netSnmpExampleScalars 1 }

netSnmpExampleSleeper OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "some text"
    DEFVAL { 1 }
    ::= { netSnmpExampleScalars 2 }


END

3.Положил его в директорию /usr/share/snmp/mibs/, чтобы демон snmp мог его видеть. Соответственно, перезапустил демона: sudo service snmpd

4.В настроечном файле /etc/snmp/snmpd.conf агента указал доступ к узлу enterprises: view systemonly included .1.3.6.1.4.1

Абашибка в консоли: NET-SNMP-EXAMPLES-MIB::netSnmpExampleInteger.0 = No Such Object available on this agent at this OID

5.Судя по тому, что ответ содержит в себе название моего mib-а «NET-SNMP-EXAMPLES-MIB::netSnmpExampleInteger.0 =», что-то да где-то читается

Подскажите, кто занимался этим протоколом, есть где-то ошибка или надо что-то где-то еще настроить?


Ответ на: комментарий от hizel

В моем, относительно недавно сформированном по этому поводу сознании, есть такой ответ: агент - он же служба snmpd. Я, конечно, мог не заметить слона. Кто ещё может их обслуживать?

Tumyq
() автор топика
Ответ на: комментарий от gutaper

Ничего он не проходит, но складывается ощущение, что речь о проге, которая компилирует mib-ы. Это так?

Tumyq
() автор топика
Ответ на: комментарий от Tumyq

Видимо имелось ввиду, что если ты захочешь свою тырпрайз базу распространять, надо чтобы дерево не конфликтовало с уже существующими базами.

Для локалхоста не обязательно. Главное не напороться потом на то, что нужна чьято еще база, а ты уже наколхозил свою, конфликтующую.

gutaper ★★★★★
()
Ответ на: комментарий от gutaper

А, нет, я как раз приколхоживаю стороннюю. Груз ответственности за будущее интегрирование не на мне

Tumyq
() автор топика
Ответ на: комментарий от hizel

Насколько я понял, если ветвь 1.3.6.1.4.enterprises(1) существует

(а она существует, т.к. это я видел, когда ставил некий компилятор для mib-ов: https://www.mg-soft.si/mgMibBrowserPE.html),

то после импорта

IMPORTS
enterprises            FROM SNMPv2-SMI
; 

следующие узлы и переменные пляшут от нее.

Tumyq
() автор топика
Ответ на: комментарий от Tumyq

следующие узлы и переменные пляшут от нее.

Каким образом пляшут? Телепатически?

hizel ★★★★★
()

Можно более подробно «условия»? Есть какая-то железяка, к которой даны mib'ы и надо, чтобы она вместо OID'ов в ответ на snmp опрос отдавала имена?

Я совсем недавно так для 2 специфичных железяк подключал их mib'ы, но они поставляются прям на железке - бери и подключай.

gutaper ★★★★★
()
Ответ на: комментарий от zudwa

Подробнее:

есть описание oid-ов (pdf-файлик) от одной уже существующей системы мониторинга на snmp (её mib-файлы получить нельзя, поэтому я восстанавливаю их из этого описания).

Моя задача:

Завести агента на своей кастомной железяке, которую я делаю, чтобы этот агент соответствовал oid-ам из описания, и мог работать с той системой мониторинга

Tumyq
() автор топика
Ответ на: комментарий от zudwa

спасибо за наводку на размышления по поводу расширения

Tumyq
() автор топика
Ответ на: комментарий от Silerus

Нашел неплохую литературку с описанием генерацией кода под mib-файл с mib2c. В общем, тоже спасибо за наводку

Tumyq
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.