Ad Widget

Collapse

Zabbix 2.0.4 SNMP Trap + SNMPTT + D'link DES 3200

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SR_Demon.
    Junior Member
    • Dec 2012
    • 3

    #1

    Zabbix 2.0.4 SNMP Trap + SNMPTT + D'link DES 3200

    FreeBSD 9.0-RELEASE i386

    zabbix2-agent-2.0.4
    zabbix2-frontend-2.0.4_1
    zabbix2-server-2.0.4
    net-snmp-5.7.2_1
    snmptt-1.3
    perl-5.14.2_2
    php53-5.3.19_1

    Все это хозяйство устанавливалось из портов.

    Руководствовался вот этим:

    http://www.zabbix.com/documentation/...types/snmptrap

    http://snmptt.sourceforge.net/docs/s...ation-Overview


    Задача: принимать и обрабатывать трапы от сетвого оборудования (в частности, D'Link DES-3200-XX и DGS-3627G)
    Собственно, на данный момент интересуют лишь трапы, которые говорят о падении портов. Что было сделано:

    Установлен и настроен snmptrapd, snmptt

    Секция с конфигами:

    snmptrapd.conf
    Code:
    traphandle default /usr/local/sbin/snmptthandler 
    #disableAuthorization yes
    authCommunity log,execute,net %комьюнити%

    snmptt.conf.generic

    Оставил как есть, плюс скопипастил куски конфига и изменил MIBы:
    Code:
    EVENT linkDown SNMPv2-SMI::enterprises.171.10.113.1.3 "Status Events" Normal
    FORMAT ZBXTRAP Link down on interface $1.  Admin state: $2.  Operational state: $3
    #EXEC
    
    EVENT linkUp .1.3.6.1.4.1.171.10.113.1.4 "Status Events" Normal
    FORMAT ZBXTRAP Link up on interface $1.  Admin state: $2.  Operational state: $3
    #EXEC


    Вот тут - snmptt.ini:
    Code:
    [General]
    snmptt_system_name = zmon.dev
    mode = daemon
    multiple_event = 1
    dns_enable = 1
    strip_domain = 0
    strip_domain_list = <<END
    domain.com
    END
    resolve_value_ip_addresses = 0
    net_snmp_perl_enable = 1
    net_snmp_perl_best_guess = 0
    translate_log_trap_oid = 2
    translate_value_oids = 1
    translate_enterprise_oid_format = 1
    translate_trap_oid_format = 1
    translate_varname_oid_format = 1
    translate_integers = 1
    wildcard_expansion_separator = " "
    allow_unsafe_regex = 0
    remove_backslash_from_quotes = 0
    dynamic_nodes = 0
    description_mode = 0
    description_clean = 1
    threads_enable = 0
    threads_max = 10
    date_time_format = %H:%M:%S %Y/%m/%d
    [DaemonMode]
    daemon_fork = 1
    daemon_uid = snmptt
    pid_file = /var/run/snmptt.pid
    spool_directory = /var/spool/snmptt/
    sleep = 5
    use_trap_time = 1
    keep_unlogged_traps = 1
    duplicate_trap_window = 0
    [Logging]
    stdout_enable = 1
    log_enable = 1
    log_file = /var/log/snmptt/snmptt.log
    log_system_enable = 0
    log_system_file = /var/log/snmptt/snmpttsystem.log
    unknown_trap_log_enable = 1
    unknown_trap_log_file = /var/log/snmptt/snmpttunknown.log
    statistics_interval = 0
    syslog_enable = 1
    syslog_facility = local0
    syslog_level_debug = <<END
    END
    syslog_level_info = <<END
    END
    syslog_level_notice = <<END
    END
    syslog_level_warning = <<END
    END
    syslog_level_err = <<END
    END
    syslog_level_crit = <<END
    END
    syslog_level_alert = <<END
    END
    syslog_level = warning
    syslog_system_enable = 1
    syslog_system_facility = local0
    syslog_system_level = warning
    [SQL]
    db_translate_enterprise = 0
    db_unknown_trap_format = '$-*'
    sql_custom_columns = <<END
    END
    sql_custom_columns_unknown = <<END
    END
    
    mysql_dbi_host = localhost
    mysql_dbi_port = 3306
    mysql_dbi_database = snmptt
    mysql_dbi_table = snmptt
    mysql_dbi_table_unknown = snmptt_unknown
    mysql_dbi_table_statistics = 
    mysql_dbi_username = snmptt
    mysql_dbi_password = snmpttпарольчег
    mysql_ping_on_insert = 1
    mysql_ping_interval = 300
    
    [Exec]
    exec_enable = 1
    pre_exec_enable = 1
    unknown_trap_exec = 1
    unknown_trap_exec_format = 
    exec_escape = 1
    [Debugging]
    DEBUGGING = 2
    DEBUGGING_FILE = 
    DEBUGGING_FILE_HANDLER = 
    [TrapFiles]
    snmptt_conf_files = <<END
    /usr/local/etc/snmp/snmptt.conf.generic
    END
    zabbix_server.conf выглядит так (исключая настройки соединения с БД, естественно):
    Code:
    SNMPTrapperFile=/var/log/snmptt/snmptt.log
    StartSNMPTrapper=1


    Передергиваю порт на свитче:

    новое в snmptrap.log
    Code:
    2012-12-29 00:17:21 10.179.254.133(via UDP: [10.179.254.133]:161->[188.35.26.18]:162) TRAP, SNMP v1, community %комьюнити%
            SNMPv2-SMI::enterprises.171.10.113.1.3 Link Down Trap (0) Uptime: 0:14:04.28
            IF-MIB::ifIndex.1 = INTEGER: 1  IF-MIB::ifAdminStatus.1 = INTEGER: down(2)      IF-MIB::ifOperStatus.1 = INTEGER: down(2)
    2012-12-29 00:17:27 10.179.254.133(via UDP: [10.179.254.133]:161->[188.35.26.18]:162) TRAP, SNMP v1, community %комьюнити%
            SNMPv2-SMI::enterprises.171.10.113.1.3 Link Up Trap (0) Uptime: 0:14:04.34
            IF-MIB::ifIndex.1 = INTEGER: 1  IF-MIB::ifAdminStatus.1 = INTEGER: up(1)        IF-MIB::ifOperStatus.1 = INTEGER: up(1)
    в snmptt.log валится вот это:
    Code:
    00:17:21 2012/12/29 IF-MIB::linkDown Normal "Status Events" 10.179.254.133 - Link down on interface 1.  Admin state: down.  Operational state: down 
    00:17:21 2012/12/29 IF-MIB::linkDown Normal "Status Events" 10.179.254.133 - Link down on interface 1.  Admin state: down.  Operational state: down
    00:17:21 2012/12/29 IF-MIB::linkDown Normal "Status Events" 10.179.254.133 - Link down on interface 1.  Admin state: down.  Operational state: down 
    00:17:21 2012/12/29 IF-MIB::linkDown Normal "Status Events" 10.179.254.133 - Link down on interface 1.  Admin state: down.  Operational state: down
    00:17:27 2012/12/29 IF-MIB::linkUp Normal "Status Events" 10.179.254.133 - Link up on interface 1.  Admin state: up.  Operational state: up
    00:17:27 2012/12/29 IF-MIB::linkUp Normal "Status Events" 10.179.254.133 - Link up on interface 1.  Admin state: up.  Operational state: up
    в этот момент в zabbix_server.log валится это:
    Code:
    00:17:21 2012/12/29 IF-MIB::linkDown Normal "Status Events" 10.179.254.133 - Link down on interface 1.  Admin state: down.  Operational state: down
    00:17:21 2012/12/29 IF-MIB::linkDown Normal "Status Events" 10.179.254.133 - Link down on interface 1.  Admin state: down.  Operational state: down 
    00:17:21 2012/12/29 IF-MIB::linkDown Normal "Status Events" 10.179.254.133 - Link down on interface 1.  Admin state: down.  Operational state: down]
      1251:20121229:001731.617 invalid trap found [00:17:27 2012/12/29 IF-MIB::linkUp Normal "Status Events" 10.179.254.133 - Link up on interface 1.  Admin state: up.  Operational state: up
    00:17:27 2012/12/29 IF-MIB::linkUp Normal "Status Events" 10.179.254.133 - Link up on interface 1.  Admin state: up.  Operational state: up]
    в заббиксе элемент данных настроен вот так:




    После этого - тишина. Подскажите, что я делаю не так, куда смотреть, что еще показать?

    Еще момент - для меня остается непонятен вот этот момент статьи:

    Code:
    Настройка получателя Perl трапов
    
    Требования: Perl, Net-SNMP скомпилированный с --enable-embedded-perl (компилируется по умолчанию начиная с Net-SNMP 5.4)
    
    Получатель трапов Perl (ищите в misc/snmptrap/zabbix_trap_receiver.pl) может быть использован для передачи трапов в Zabbix сервер напрямую с snmptrapd. Для его настройки:
    
    добавьте perl скрипт в файл конфигурации snmptrapd (snmptrapd.conf), Например:
    perl do "[ПОЛНЫЙ ПУТЬ К СКРИПТУ ПОЛУЧАТЕЛЯ PERL]";
    настройте получатель, например:
    $SNMPTrapperFile = '[ФАЙЛ С ТРАПАМИ]';
    $DateTimeFormat = '[ФОРМАТ ДАТЫ/ВРЕМЕНИ]';
    что это? куда это? Если так (perl do "[ПОЛНЫЙ ПУТЬ К СКРИПТУ ПОЛУЧАТЕЛЯ PERL]" настраивается traphandle в snmptrapd.conf, То почему используется иной синтаксис?
    И вообще, я так понимаю, это опциональный момент? Ведь snptt отрабатывает и даже в БД льет трапы, инфа 146%!

    В общем, я потерялася. Подскажите, по мере возможности. Спасибо, что прочитали эту простыню.
    Attached Files
  • bga83
    Senior Member
    • Sep 2011
    • 268

    #2
    при настройке элемента в поле ключич на до писать не snmptrap[<адрес устройства>], а snmptrap[<категоря>]. То есть судя по приведенным конфигам snmptrap["Status Events"]. Адрес система сама распознает, если корректно задан формат входной строки.

    Пример как у меня сделано:

    кусок snmptt.conf:

    #########################
    #APC section
    #########################

    EVENT general .1.3.6.1.4.1.318.0.5.* "upsOnBattery" Normal
    FORMAT ZBXTRAP $aA $ar

    EVENT general .1.3.6.1.4.1.318.0.9.* "powerRestored" Normal
    FORMAT ZBXTRAP $aA $ar

    EVENT general .1.3.6.1.4.1.318.0.49.* "badVoltage" Normal
    FORMAT ZBXTRAP $aA $ar

    EVENT general .1.3.6.1.4.1.318.0.50.* "badVoltageCleared" Normal
    FORMAT ZBXTRAP $aA $ar


    И далее в настройках элементов указаны ключи
    snmptrap["upsOnBattery"]
    snmptrap["powerRestored"]
    snmptrap["badVoltage"]
    snmptrap["badVoltageCleared"]
    Last edited by bga83; 29-12-2012, 09:03.

    Comment

    • SR_Demon.
      Junior Member
      • Dec 2012
      • 3

      #3
      Благодарю за ответ.

      изменил конфиг - ничего не изменилось.

      У меня к вам, bga83, есть пара вопросов в связи с этим:

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

      Вы не поделитесь кусочком конфига для события типа LinkDown\Up, cold\warmStart или чем-нибудь похожим?

      И еще - у вас я заметил символ астери́ска в конце строки с oid. Полагаю, система реагирует на все трапы ветки, которая располагается за этим астериском? Или после последнего символа идет значение этого oid (судя по всему, вольтаж, в вашем случае)?

      Спасибо еще раз.

      Comment

      • zzipper
        Junior Member
        • Aug 2012
        • 14

        #4
        Документация местами не корректна. Следуя ей от и до, вероятность что все заведется - 1%.
        Мне помог вот этот пост – https://www.zabbix.com/forum/showpos...91&postcount=6 Там хорошо описана суть проблемы и ее решение.

        А заматченные трапы можно наблюдать в Мониторинг - Последние данные.
        Last edited by zzipper; 18-01-2013, 06:57.

        Comment

        Working...