Лучший способ добавить поддержку SNMP в ваше собственное приложение на Debian - PullRequest
5 голосов
/ 15 декабря 2010

Я работаю в Debian, и у меня есть этот сервер, который мы хотим отслеживать.
Приложение наше, и существует около ста счетчиков реального времени, которые мы хотим экспортировать для целей мониторинга, графиков и сигналов тревоги.

Я искал способ сделать это в Debian, потому что мы используем упаковку Debian для установки приложения, а Debian использует демон snmpd, основанный на net-snmp, для экспорта SNMP. Пока что каждый подход, который я видел, выглядит очень сложным: от перекомпиляции snmpd для загрузки в нее динамической библиотеки до компиляции формы субагента, которая копирует то, что делает snmpd.

Хотя все эти варианты заставляют меня думать, что я должен пойти на что-то еще, кроме SNMP, я не хочу отказываться от этого так рано, и мне было интересно, нашел ли кто-нибудь возможную реализацию.

В идеале это должно быть закодировано на C или C ++, как приложение на C ++, но я открыт для упаковщиков или других предложений.

Ответы [ 4 ]

5 голосов
/ 15 декабря 2010

net-snmp поддерживает протоколы расширения агентов smux и agentx , что позволяет субагентам работать в разных процессах. У них также есть учебник по написанию субагентов AgentX на C.

5 голосов
/ 15 декабря 2010

Часто забываемое решение - AgentX ++ , что для меня выглядит довольно неплохо. Тем не менее, субагент не такой уж плохой выбор. Вы запускаете стандартную непропатченную snmpd. Затем вы подключаетесь к нему с помощью своего субагента, который добавляет только те OID, которые вы хотите добавить. Набор net-snmp для кодирования подагентов AgentX (как называется протокол) не прост в использовании, но и не очень сложен. Существует также модуль Perl для разработки подагентов: https://metacpan.org/pod/NetSNMP::agent

2 голосов
/ 15 декабря 2010

Традиционный способ сделать это в linux - использовать пакет net-snmp. Убедитесь, что вы пишете MIB в первую очередь. Все основано на MIB, и изменения в MIB обычно приводят к большим изменениям в коде. Кодирование для net-snmp не сложно, и есть много документации для начала, например: http://www.net -snmp.org / wiki / index.php / Tutorials # Coding_Tutorials

0 голосов
/ 15 декабря 2010

Вы пробовали net-snmp ?

...