Ad Widget

Collapse

​​Ошибка SNMP TRAP - invalid trap data found "Status Events" UNKNOWN

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zippo
    Junior Member
    • Jun 2018
    • 9

    #1

    ​​Ошибка SNMP TRAP - invalid trap data found "Status Events" UNKNOWN


    Всем привет!
    Имеется оборудование в виде ORACLE SERVER X8-2L с Integrated Lights Out Manager v5.0.1.21.a(ILOM) на борту, необходимо получать трапы него на стороне zabbbix.
    Версия zabbix-server 5.0.31. Есть оборудование HPE с которого настроена отправка трапов и которые корректно распознает zabbix и пишет в элементы данных.

    На стороне ILOM настроена отправка snmp trap, указан ip адрес получателя(zabbix-server) порт 162 и username(zabbix).

    С ILOM были скачаны SMMP MiB's и скопированы в \usr\share\snmp\mibs на zabbix-server

    Создана конфигурация \usr\local\etc\snmp\oda.conf, куда импортированы мибы, прикладываю урезанный файл для примера, из за того, что весь не влезет
    ODA.txt

    \snmp\snmptt.ini(тоже урезан) ссылается на указанную конфигурацию \usr\local\etc\snmp\oda.conf
    snmptt-ini.txt


    \etc\snmptt\etc\snmptt.conf
    snmptt.txt

    \snmp\snmpd.conf
    snmpd.txt

    \snmp\snmptrapd.conf
    snmptrapd.txt


    При отправке тестового трапа из ILOM, получаю:

    в /var/log/zabbix/zabbix-server.log
    5802:20241211:155019.505 invalid trap data found "15:50:17 2024/12/11 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

    в /var/log/snmptt/snmptt.log
    15:27:13 2024/12/11 .1.3.6.1.4.1.232.0.9020 Normal "General event" UNKNOWN - ZBXTRAP 192.168.13.24 192.168.13.24
    15:46:31 2024/12/11 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap
    15:50:17 2024/12/11 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

    Часть конфигурации zabbix-server для SNMP trap
    ###
    ### Option: StartTrappers
    # Trappers accept incoming connections from Zabbix sender, active agents and active proxies.
    StartTrappers=20
    ### Option: SNMPTrapperFile
    SNMPTrapperFile=/var/log/snmptt/snmptt.log
    ### Option: StartSNMPTrapper
    StartSNMPTrapper=1
    # Trapper will listen on all network interfaces if this parameter is missing.
    ### Option: TrapperTimeout
    TrapperTimeout=300
    ###

    Трап доходит, значит связность есть. Пробовал менять формат даты, но не до конца понимаю, где именно нужно его поменять и на какой формат. Если кто то сталкивался с подобным или знает что делать, прошу указать направление)
    p.s. могу предоставить больше скринов или конфигурационных файлов, если это необходимо, при создании поста имеется ограничение в виде 5 вложений

  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Насколько я могу понять, сервер Zabbix ругается на то, что в SNMPTrapperFile файле (/var/log/snmptt/snmptt.log) появляются записи некорректного формата: без ключевого слова "ZBXTRAP" с последующим IP-адресом после него. Т.е. нужно смотреть в сторону того, в каком виде этот трап приходит изначально (он пишется в какие-то ещё логи?), а также настроек snmptt, который должен правильно форматировать входящий трап при записи его в SNMPTrapperFile.

    Comment

    • zippo
      Junior Member
      • Jun 2018
      • 9

      #3
      Kos, спасибо за оперативный ответ!

      Чуть расширю и добавлю информацию к уже выложенному посту:

      Конвертация mib файлов была выполнена с помощью команды:
      snmpttconvertmib --in=/usr/local/share/snmp/mibs/mymib.mib --out=/usr/local/etc/snmp/ODA.conf -debug
      Дебаг ошибок не выдал

      Что на данный момент пробовал:
      В файле snmptt.conf в конце файла менял:
      EVENT general .* "General event" Normal на EVENT general .* "Status Events" Normal
      FORMAT ZBXTRAP $aA $1 $2 $3 на FORMAT ZBXTRAP $aA $ar и FORMAT $aA $ar

      В файле в snmptt.ini указан путь к конфигурации для oracle - ODA.conf
      Вырезка из snmptt.ini
      ##
      [TrapFiles]
      snmtt_conf_files = <<END
      /etc/snmp/snmptt.conf
      /usr/local/etc/snmp/ODA.conf
      END
      ##

      Так как на сервере настроена отправка трапов, периодически он отправляет трапы о "состоянии здоровья" это все попадает в /var/log/snmptt/snmptt.log, который указан в zabbix-server.conf
      Пример сообщения полностью, с заменой серийного номера на SNNUMBER1

      16:37:18 2025/02/04 .1.3.6.1.4.1.42.2.175.103.2.0.91 Normal "Status Events" UNKNOWN - A heartbeat used to verify the SNMP trap configuration. Oracle Corporation ORACLE SERVER X8-2L SNNUMBER1 Oracle Database Appliance X8-2 Medium SNNUMBER1 ORACLESP-SNNUMBER1 7600428-10035 Oracle Corporation ORACLE SERVER X8-2L SNNUMBER1 7600428-10035 Oracle Corporation ORACLE SERVER X8-2L SNNUMBER1 7600428-10035 5.0.1.21.a 138015 Wed Oct 28 11:21:09 PDT 2020 52030400 5.0.1.21.a

      Отправленный тестовый трап в /var/log/snmptt/snmptt.log выглядит так:

      11:46:02 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap
      11:48:48 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap
      11:51:03 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap
      11:52:18 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

      В snmptt.ini есть три пункта: date_format, time_format, date_time_format
      На момент, когда я выложил пост, настройка была следующей

      date_format = %H:%M:%S %Y/%m/%d
      #time_format = %H:%M:%S
      date_time_format = %H:%M:%S %Y/%m/%d

      Пробовал разные варианты, к примеру
      date_format = %Y/%m/%d
      time_format = %H:%M:%S
      #date_time_format = %H:%M:%S %Y/%m/%d
      Получаем:
      Wed Feb 5 12:31:53 2025 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

      Если оставить только date_time_format = %H:%M:%S %Y/%m/%d, остальные закомментить, то приходит
      11:52:18 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

      Так же если оставить date_format = %H:%M:%S %Y/%m/%d и date_time_format = %H:%M:%S %Y/%m/%d, а time_format закомментить, получим тоже самое, как указано выше
      11:52:18 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

      Когда указаны date_format = %Y/%m/%d а date_time_format %H:%M:%S, а time_format закомменчен, получаем:

      15:46:51 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

      Вырезка из конфигурации snmptt.ini, закомменченые те пункты, которые пробовал менять

      # The date format for $x in strftime() format. If not defined, defaults
      # to %a %b %e %Y.
      #date_format = %a %b %e %Y
      #date_format = %H:%M:%S %Y/%m/%d
      #date_format = %Y/%m/%d
      # The time format for $X in strftime() format. If not defined, defaults
      # to %H:%M:%S.
      #time_format = %H:%M:%S

      # The date time format in strftime() format for the date/time when logging
      # to standard output, snmptt log files (log_file) and the unknown log file
      # (unknown_trap_log_file). Defaults to localtime(). For SQL, see
      # date_time_format_sql.
      # Example: %a %b %e %Y %H:%M:%S
      #date_time_format =
      date_time_format = %H:%M:%S %Y/%m/%d
      #date_time_format = %H:%M:%S
      Click image for larger version

Name:	date test format snmptt.ini.jpg
Views:	188
Size:	61.3 KB
ID:	498547

      Также в snmptt.ini указаны пункты логгирования неизвестных трапов
      unknown_trap_log_enable = 1
      unknown_trap_log_file = /var/log/snmptt/snmpttunknown.log

      Но этот лог не создается и не пишется в него ничего, значит ли это что это не неизвестный трап?
      Создал его руками, но он так же пуст, после тестового трапа, а в zabbix-sever.log он так же определяется неизвестным
      12989:20250205:155001.472 invalid trap data found "15:49:55 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap

      Оставив date_time_format = %H:%M:%S %Y/%m/%d в snmptt.ini приступил к тестам с форматом в /usr/local/etc/snmp/ODA.conf

      #EVENT general .* "General event" Normal
      #EVENT general .* "Status Events" Normal
      #EVENT general .* Normal "Status Events"
      #EVENT general .* "Status Events" UNKNOWN
      EVENT genetal .* INFORMATIONAL "Status Events" UNKNOWN
      #EVENT genetal INFORMATIONAL "Status Events" UNKNOWN
      #FORMAT ZBXTRAP $aA $1 $2 $3
      #FORMAT ZBXTRAP $aA $ar
      FORMAT ZBXTRAP $aA
      Click image for larger version

Name:	oda.conf.jpg
Views:	140
Size:	107.1 KB
ID:	498548
      Все закомменченые строки показывали один и тот же результат

      в snmptt.log:
      15:38:39 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap
      в zabbix-server.log:
      12989:20250205:153843.209 invalid trap data found "15:38:39 2025/02/05 .1.3.6.1.4.1.42.2.175.103.2.0.63 INFORMATIONAL "Status Events" UNKNOWN - This is a test trap: This is a test trap
      Click image for larger version

Name:	test formata.jpg
Views:	138
Size:	35.6 KB
ID:	498549
      При каждом изменении и перед отправкой тестового трапа из веб интерфейса ILOM я перезагружал демонов snmptt snmpd

      В другие логи информация о трапах и сами трапы не попадают

      Ссылка на статью, которую рассматривал как пример для настройки:
      Для передачи трапов в Zabbix будет использоваться snmptt. Установите необходимые сервисы. Для этого используйте команду: # apt-get install snmptt snmptrapd snmp snmpd Внесите изменения в конфигурационный файл /etc/default/snmptrapd. Измените параметра TRAPDRUN с no на yes (или самостоятельно добавьте TRAPDRUN=yes в случае отсутствия). Внесите изменения в конфигурационный файл /etc/snmp/snmptrapd.conf.


      Нашел статью на форуме, но так и не могу понять все таки как правильно и где нужно поменять формат, ссылка


      Возможно кто то еще сталкивался с проблемой, буду очень признателен за любую информацию и помощь

      Comment

      • Hamardaban
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • May 2019
        • 2713

        #4
        Скажу по простому - не морочьте себе голову с mib пока не поймете и не настроите костяк.
        Если лень читать официальное руководство перепишу крупными мазками как оно работает (для snmpv2):
        1) устройство посылает трэп сообщение . Важные параметры: сокет куда посылать и комьюнити (считай пароль)
        2) в том месте куда послали трэп работает демон snmptrapd который принимает сообщение, немного преобразует (параметры задаются при запуске демона например -DALL для усиленного логирования) и для каждого сообщения вызывает обработчик - в нашем случае snmptthandler (из пакета snmptt . по сути это перл).
        3) snmptthandler записывает пришедшие сообщения во временные файлики (каталог «spool»)
        4) в системе работает демон snmptt который проверяет «spool» на появление файликов и если находит вытаскивает из него информацию и начинает ее преобразовывать в соответствием с форматами описанными в файлах mib.txt . На этом этапе как раз и формируется формат записи трэка годный для забикса.
        5) все пришедшие сообщения «логируются» демоном snmptt в целевой файл (обычно /tmp/zabbix_traps.tmp)
        6) в настройках забикса указывается именно этот файл как источник трэпов.

        Как написал правильно написал kos у вас забикс ругается на то, что в файлик пп5 попадают трэпы НЕ в формате для zabbix.
        Как они туда попали? Предположу что вы накрутили лишнего в фалах с описанием преобразования трэпов для snmptt и не все сообщения преобразуются как надо.

        ЗЫ прошу прощения за нудеж - тема для меня живая. 3 дня убил на то чтобы понять почему вызывается и не срабатывает snmptthandler … чертов перл…
        А дело было в неправильных правах на каталог /var/spool/snmp ........
        Last edited by Hamardaban; 06-02-2025, 12:50.

        Comment

        • zippo
          Junior Member
          • Jun 2018
          • 9

          #5
          Так и не удалось разобраться с настройкой трапов на уже имеющемся zabbix-server 5.0. Решил настроить все с нуля, для этого развернул zabbix-server 7.2.
          Настраивал по официальной документации, частично подсматривая для понимания картины тут:


          Работа настроена через скрипт на perl - zabbix_trap_receiver.pl

          В /etc/snmp/snmptrapd.conf указано:
          authCommunity log,execute,net public
          authCommunity log,execute private
          perl do "/etc/zabbix/scripts/zabbix_trap_receiver.pl"


          В /etc/default/snmptrapd добавил строки:
          TRAPDOPTS='-Lsd -On -p /run/snmptrapd.pid'
          TRAPDRUN=yes


          В /etc/snmp/snmp.conf указано
          mibs :ALL

          Скопировал мибы, скачанные с iLOM в /usr/share/snmp/mibs

          В zabbix-server.conf указал:
          StartSNMPTrapper=1
          SNMPTrapperFile=/tmp/zabbix_traps.tmp

          Отправляю тестовый трап, он приходит в /tmp/zabbix_traps.tmp
          Click image for larger version

Name:	tmpZabbix_trap.tmp.jpg
Views:	91
Size:	270.1 KB
ID:	501603

          Также я получаю его в item с ключом
          snmptrap[] в последних данных узла
          Click image for larger version  Name:	latest_date_overview.jpg Views:	0 Size:	246.4 KB ID:	501599

          через snmptranslate проверил, что есть мибы в нужной директории, которые могут их расшифровать и показать OID
          Click image for larger version  Name:	snmptranslate_is_good_for_module_perl.jpg Views:	0 Size:	13.3 KB ID:	501600

          в mib browser загрузил мибы из iLOM, нашел к примеру sunHwTrapBIOSVersion c OID .1.3.6.1.4.1.42.2.175.103.2.1.48
          Click image for larger version  Name:	mib_browser.jpg Views:	0 Size:	149.0 KB ID:	501601

          создал item с ключом
          snmptrap[.1.3.6.1.4.1.42.2.175.103.2.1.48]
          и еще несколько для теста
          Click image for larger version  Name:	item for translate do not parce.jpg Views:	0 Size:	294.5 KB ID:	501602

          Но в последних данных, у item с ключом snmptrap[.1.3.6.1.4.1.42.2.175.103.2.1.48] и других тестовых - пустота, трап попадает только в item с ключом snmptrap[]
          В логах zabbix-server сейчас я не получаю каких либо ошибок связанных с snmptrap
          Вроде как трап приходит в zabbix, он его видит, но не может разобрать. Возможно кто то направит меня в нужное русло, спасибо за внимание
          Last edited by zippo; 08-04-2025, 17:26.

          Comment

          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3404

            #6
            Настраивал по официальной документации, частично подсматривая для понимания картины тут
            Вообще-то в документации (ссылка) вполне понятно написано, что параметр ключа элемента данных snmptrap[...] - это регулярное выражение, на которое проверяется текст трапа из файла (в вашем случае /tmp/zabbix_traps.tmp). В примере на первом скриншоте я не вижу в тексте трапа ни одной из строк, которые вы пытаетесь использовать в качестве параметра ключа на вашем последнем скриншоте.

            Comment

            Working...