Реализовать субагент net-snmp (linux / C) - PullRequest
2 голосов
/ 29 июня 2011

Я посмотрел, как реализовать субагент snmp с библиотекой net-snmp (http://net -snmp.sourceforge.net / tutorial / tutorial-5 / toolkit / demon / index.html)

Пример работает хорошо, но я задаю вопрос о переменной, переданной в ссылке в "netsnmp_register_int_instance (& variable)"

Эта переменная читается, когда snmp deamon получает запрос snmp, который просит «agentx» обратиться к субагенту с просьбой дать значение переменной.

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

Иногда возможно, что переменная читается кодом библиотеки snmp, а записывается моим собственным кодом?

я должен изменить код блоков библиотеки snmp, которые читают переменную, чтобы установить блокировку?

Спасибо.

1 Ответ

1 голос
/ 19 июля 2011

Если ваш двоичный файл многопоточный, вам нужны блокировки.Если нет, не беспокойтесь об этом.

Самое простое, что можно сделать, это установить блокировку перед вызовом процедуры обработки агента x (например, agent_check_and_process).Если вам нужна более тонкая блокировка, вам придется реализовать собственный обработчик вместо использования net_snmp_register_int_instance.

...