-
Sy
chevron_right
Отключение сообщений об ошибках на стандартный ввод-вывод в net-snmp
noreply@blogger.com (morbo) · pubsub.slavino.sk / sysadmblog · Sunday, 26 July, 2020 - 08:00 edit
Раньше скрипт выполнял запросы только по протоколам SNMP первой и второй версии. Когда же в сети появились устройства, доступные только по протоколу SNMP третьей версии, скрипт начал выводить ошибки такого вида:
Authentication failed for backupbackup - это имя пользователя SNMPv3, под которым не удавалось выполнить SNMP-запросы.
Поскольку скрипт анализирует результаты запросов SNMP, то эти диагностические сообщение лишь засоряют вывод скрипта. Как оказалось, эти сообщения выводит сама библиотека Net-SNMP и я не нашёл никаких способов для того, чтобы их отключить, например, через конфигурацию /etc/snmp/snmp.conf. Чтобы отключить эти сообщения, потребуется поправить исходный текст библиотеки. Скачаем и распакуем пакет с исходными текстами net-snmp:
$ apt-get source net-snmpНаши правки к исходному коду оформим в виде заплатки при помощи инструмента quilt, подробнее о котором я писал в заметке Использование quilt для подготовки заплат . Создадим новую заплатку:
$ quilt new removed-redundant-log-messageДобавим в будущую заплатку файл:
$ quilt add snmplib/snmpusm.cОткрываем файл snmplib/snmpusm.c в текстовом редакторе, находим и удаляем две строчки с вызовом функции snmp_log:
snmp_log(LOG_WARNING, "Authentication failed for %s\n",В этом же файле при подобных ошибках функции snmp_log не вызываются и это единственный вызов snmp_log в этом файле. Скорее всего этот вызов функции был оставлен по ошибке, а не удалён вместе с другими подобными вызовами.
user->name);
Чтобы изменения в файле snmplib/snmpusm.c попали в заплатку, обновляем заплатку:
$ quilt refreshМожно прокомментировать сделанные в пакете изменения и изменить версию пакета:
$ dch -iВ запустившемся редакторе описываем последние изменения:
net-snmp (5.7.3+dfsg-5-stupin1) UNRELEASED; urgency=mediumТеперь можно пересобрать deb-пакеты, выполнив команду:
* Fixed SNMPv3 time widnow logic to work with D-Link switches
* Removed redundant log message "Authentication failed from"
-- Vladimir Stupin <vladimir@stupin.su> Fri, 15 May 2020 16:01:26 +0500
$ debuild -us -ucВ вышестоящем каталоге появятся готовые deb-пакеты, которые можно установить в систему командой dpkg -i или поместить в репозиторий пакетов при помощи aptly. Почитать об использовании aptly можно в другой моей заметке Создание своего репозитория Debian при помощи aptly .
После установки исправлений надоедливые сообщения об ошибках пропали.