Вопрос или проблема
Я не смог увидеть ловушки через snmptrapd
. Я вручную сгенерировал SNMP ловушку, используя приведенную ниже команду snmptrap
:
snmptrap -c public -v 2c -n "" localhost 0 uptime
Но я не могу поймать ловушку, используя приведенную ниже команду snmptrapd
:
snmptrapd -f -M /usr/share/snmp/mibs -m inUnixPlatformApp-MIB -Os
Вопрос: Как я могу поймать snmptrap
в snmptrapd
?
Установленное ПО
У меня установлены следующие пакеты RPM на сервере RHEL 6.3:
# rpm -qa|grep -i snmp
net-snmp-libs-5.5-41.el6.x86_64,
net-snmp-libs-5.5-41.el6.i686,
net-snmp-devel-5.5-41.el6.x86_64,
net-snmp-5.5-41.el6.x86_64,
net-snmp-perl-5.5-41.el6.x86_64,
net-snmp-utils-5.5-41.el6.x86_64,
perl-SNMP_Session-1.12-4.el6.noarch
Информация о системе
- Linux Rhel: 6.3
- Версия SNMP Master Agent: 5.5
- Версия протокола SNMP: v2C
Я бы начал с повышения уровня вывода отладки из snmptrapd
. Вы можете сделать это следующим образом:
$ snmptrapd -D all -f -M /usr/share/snmp/mibs -m inUnixPlatformApp-MIB -Os
Вы можете увидеть полный список “всех” допустимых токенов, которые вы можете предоставить для отладки, если хотите более конкретно нацелиться на определенные вещи, Токены отладки 5.4.2.1.
SNMP ловушки поступают как UDP пакеты на порт 162. Настроен ли ваш iptables
для разрешения входящих SNMP ловушек?
Ответ или решение
Если вы не можете прослушивать SNMP-трапы с помощью snmptrapd
, можете следовать следующим рекомендациям для устранения неполадок:
-
Проверка конфигурации SNMP: Убедитесь, что ваш SNMP агент настроен правильно. Проверьте файл конфигурации
snmptrapd.conf
. В стандартной конфигурации для получения трапов необходимо убедиться, что вы разрешили прослушку на правильных интерфейсах и портах. -
Порты и правила брандмауэра: SNMP-трапы принимаются как UDP-пакеты на порт 162. Убедитесь, что ваш брандмауэр (например,
iptables
) настроен для разрешения входящего трафика на этот порт. Для этого выполните команду:iptables -L -n
Если необходимо разрешить трафик, добавьте правило:
iptables -A INPUT -p udp --dport 162 -j ACCEPT
Не забудьте сохранить изменения в правилах iptables.
-
Запуск snmptrapd с отладочными параметрами: Запустите
snmptrapd
с параметрами отладки, чтобы получить больше информации о том, что происходит. Используйте следующую команду:snmptrapd -D all -f -M /usr/share/snmp/mibs -m inUnixPlatformApp-MIB -Os
Это предоставит вам детальную информацию о получаемых пакетах и может помочь вам выявить проблемы.
-
Проверка команды snmptrap: Убедитесь, что команда
snmptrap
была выполнена правильно и что вы подключаетесь к правильному локальному хосту. Например, при выполнении:snmptrap -c public -v 2c -n "" localhost 0 uptime
убедитесь, что все параметры корректны и соответствуют настройкам вашего SNMP.
-
Проверка MIB файлов: Убедитесь, что MIB-файлы, которые вы используете, корректны и доступны для
snmptrapd
. Возможно, вам потребуется установить путь к MIB-файлам или использовать другую версию MIB. -
Системные логи: Проверьте системные логи (обычно в
/var/log/messages
или/var/log/syslog
) на наличие ошибок, связанных с SNMP, которые могут помочь в диагностике проблемы.
Если ни один из этих шагов не решит проблему, стоит проверить документацию к вашей версии SNMP или обратиться к сообществу для получения дополнительной поддержки.