Ad Widget

Collapse

Задолбали SNMP genError

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #1

    Задолбали SNMP genError

    became not supported: SNMP error: (genError) A general failure occured

    Уменьшать таймер "not supported" не вариант, но терять постоянно 10+ минутные интервалы из-за того что SNMP агенты такие как есть тоже не устраивает. Есть такие кому это нравится?

    Фикс прост как топор: не надо сразу генерить NOTSUPPORTED при получении ошибки SNMP, надо сгенерить "ошибку сети" и запустить механизм "недоступности".

    Code:
    --- src/zabbix_server/poller/checks_snmp.c.orig 2015-02-19 11:31:24.330340374 +0300
    +++ src/zabbix_server/poller/checks_snmp.c      2015-02-19 11:38:56.752012127 +0300
    @@ -982,7 +982,8 @@
                    if (STAT_SUCCESS == status)
                    {
                            SET_MSG_RESULT(value, zbx_dsprintf(NULL, "SNMP error: %s", snmp_errstring(response->errstat)));
    -                       ret = NOTSUPPORTED;
    +                       /* ret = NOTSUPPORTED; */
    +                       ret = NETWORK_ERROR;
                    }
                    else if (STAT_ERROR == status)
                    {
  • Zentarim
    Senior Member
    • Mar 2012
    • 526

    #2
    А может вы это в zbxnext отпишете?

    Comment

    • gescheit
      Senior Member
      • Jul 2007
      • 156

      #3
      Имхо это не корректный вариант. Железка отвечает - значит проблема не с сетью. Указывать NETWORK_ERROR - крайне не очевидно, вряд ли в апстрим такое примут.
      А что за оборудование так отвечает? Я такое видел на некоторых хуавеях. Помогало отключение mib-view для данного комьюнити.

      Comment

      • Jimson
        Senior Member
        • Jan 2008
        • 1327

        #4
        Originally posted by gescheit
        Имхо это не корректный вариант. Железка отвечает - значит проблема не с сетью. Указывать NETWORK_ERROR - крайне не очевидно, вряд ли в апстрим такое примут.
        А что за оборудование так отвечает? Я такое видел на некоторых хуавеях. Помогало отключение mib-view для данного комьюнити.
        Все железо так себя ведет, кто то чаще, кто то реже. Даже Cisco роутеры под нагрузкой могут вернуть ошибку. Обсуждать "какое оборудование" смысла не имеет совершенно, это необъятное кол-во вендоров и оборудования, в моем случае чаще всего ошибку возвращают компоненты спутникового HUB.

        Что касается очевидности, то не согласен. Неочевидно как раз загонять элемент данных в состояние "не поддерживается" при возникновении ошибки уровня агента SNMP. Это ошибка, суть та же "ошибка сети" (что в snmp означает лишь то что агент вообще не захотел отвечать, мы же не рассматриваем случай когда до агента потери пакетов на сетевом уровне?), вот если агент возвращает NOSUCH*, тогда это "не поддерживается". Самое оригинальное то, что если вы пошлете запрос агенту указав неверный community, то агент вам не ответит ничего, и zabbix эту ситуацию отработает как network_error.
        Last edited by Jimson; 24-02-2015, 10:04.

        Comment

        • gescheit
          Senior Member
          • Jul 2007
          • 156

          #5
          Если охватывать все оборудование то спектр проблем окажется значительно шире чем genError. Например noSuchInstance в значении может быть вполне обычным событием. Думаю что нужен функционал по тонкой снмп поллера в заббиксе. Чтобы можно было указывать на какие ошибки забивать, установить сколько переопрос должно быть и тп.

          Comment

          • Jimson
            Senior Member
            • Jan 2008
            • 1327

            #6
            Ну вот у меня NOSUCH* вполне нормальное явление, VSAT ушел в оффлайн и с части компонент счетчики через минуту исчезают. Но в данном случае "не поддерживается" не такая большая проблема, цикл упал-поднялся для VSAT все равно длится как минимум минут 5. Тут тонко настраивать нечего, разве что таймер "не поддерживается" делать параметром элемента данных, а не глобальной настройкой. А вот ошибка агента (читай агент на запрос ответил "от-сь я занят") совершенно не означает что надо сваливать на 15 минут, им самое место рядом с network_error.

            Comment

            Working...