Я пытаюсь скомпилировать исполняемый субагент MIB, используя AgentX (я выполнил шаги, описанные в http://net-snmp.sourceforge.net/wiki/index.php/TUT: Writing_a_Subagent , и скопировал исходный код из там).
Затем я должен выполнить следующие шаги:
1) Скомпилировать пример:
my_name@Ubuntu2 : ~ /net -snmp.org_example $ make
g cc -I. net-snmp-config --cflags
- c -o example-demon.o example-demon. c
example-demon. c: В функции 'main':
example-demon . c: 50: 7: предупреждение: неявное объявление функции 'init_vacm_vars' [-Wimplicit-function-объявление]
init_vacm_vars();
^
пример-демон. c: 51: 7: предупреждение: неявное объявление функции 'init_usmUser' [-Wimplicit-function-объявление] init_usmUser ();
^
g cc -I. net-snmp-config --cflags
- c -o nstAgentSubagentObject.o nstAgentSubagentObject. c
В файле, включенном в /usr/include/net-snmp/output_api.h:64:0,
from /usr/include/net-snmp/library/snmp_client.h:32,
from /usr/include/net-snmp/varbind_api.h:102,
from /usr/include/net-snmp/library/snmp_api.h:28,
from /usr/include/net-snmp/types.h:421,
from /usr/include/net-snmp/definitions.h:22,
from /usr/include/net-snmp/net-snmp-includes.h:67,
from nstAgentSubagentObject.c:7:
nstAgentSubagentObject. c: В функции 'init_nstAgentSubagentObject':
nstAgentSubagentObject. c: 48: 17: предупреждение: формат '% d' ожидает аргумент типа 'int', но аргумент 3 имеет тип 'long int' [-Wformat =]
"Initalizing nstAgentSubagentObject scalar integer. Default value = %d\n",
^
nstAgentSubagentObject. c: 48: 17: предупреждение: формат '% d' ожидает аргумент типа 'int', но аргумент 3 имеет тип 'long int' [-Wformat =]
"Initalizing nstAgentSubagentObject scalar integer. Default value = %d\n",
^
g cc -o пример-демон example-demon.o nstAgentSubagentObject.o net-snmp-config --agent-libs
IT FINI SH ПРАВО
2) Отредактируйте /usr/local/etc/snmp/snmpd.conf и раскомментируйте строку:
главный агентx
3) Перезапустите службу snmpd
my_name@Ubuntu2: ~ / add_agent_to_snmpd /net -snmp.org_example $ sudo service snmpd stop
my_name@Ubuntu2: ~ / add_agent_to_snmpd * 11 54 * -snmp.org_example $ sudo service snmpd start
my_name@Ubuntu2: ~ / add_agent_to_snmpd /net -snmp.org_example $ sudo service snmpd status
● snmpd.service - LSB: SNMP агенты
Загружен: загружен (/etc/init.d/snmpd; плохой; предустановка поставщика: включена)
Активен: активен (работает) с марта 2020-02-11 17:37:16 CET; 3 с go
Docs: man:systemd-sysv-generator(8)
Процесс: 24354 ExecStop = / etc / init.d / snmpd stop (код = выход, состояние = 0 / УСПЕХ)
Процесс: 24395 ExecStart = /etc/init.d/snmpd start (код = выход, статус = 0 / УСПЕХ)
CGroup: /system.slice/snmpd.service
└─24401 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -g snmp -I -smux mteTrigger
mteTriggerConf -p / run /snmpd.pid
фев 11 17:37:16 Ubuntu2 systemd [1]: запуск LSB: агенты SNMP ...
фев 11 17:37:16 Ubuntu2 snmpd [24395]: * Запуск служб SNMP:
фев 11 17:37:16 Ubuntu2 snmpd [24399]: /etc/snmp/snmpd.conf: строка 145: Предупреждение: неизвестный токен: defaultMonitors.
фев 11 17:37:16 Ubuntu2 snmpd [24399]: /etc/snmp/snmpd.conf: строка 147: Предупреждение: неизвестный токен: linkUpDownNotifications.
feb 11 17:37:16 Ubuntu2 snmpd [24399]: Включение главной поддержки AgentX.
feb 11 17:37:16 Ubuntu2 systemd [1]: запущен LSB: агенты SNMP.
feb 11 17:37:16 Ubuntu2 snmpd [24401]: NET -SNMP версия 5.7.3
4) Запустить моего собственного агента:
my_name@Ubuntu2: ~ / add_agent_to_snmpd /net -snmp.org_example $ sudo ./example-demon
NET -SNMP версия 5.7.3 Подключенный субагент AgentX
example-demon запущен и работает.
5) Выполнить snmpget:
my_name@Ubuntu2: ~ $ snmpget localhost NET -SNMP-TUTORIAL-MIB :: nstAgentSubagentObject.0
** Не удается найти модуль (NET -SNMP-TUTORIAL-MIB): в строке 0 in (нет)
NET -SNMP-TUTORIAL-MIB :: nstAgentSubagentObject.0: Неизвестный идентификатор объекта **
В соответствии с руководством sourceforge это должно вернуть значение. Что такое работа?
Любые комментарии и предложения приветствуются.