Ad Widget

Collapse

Server is unreachable

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MurgaNikolay
    Junior Member
    • May 2014
    • 21

    #16
    Запустил tcpdump на хосте где прокси стоит и хосте агента
    Прокси запустил через strace один раз поймал ошибку для нужного агента (для того, где тоже tcpdump был запущен)

    strace:
    zabbix_strace.log:[pid 5300] 00:15:39.490405 connect(6, {sa_family=AF_INET, sin_port=htons(10050), sin_addr=inet_addr("*.*.*.*")}, 16 <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:39.490766 <... connect resumed> ) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.490790 semop(1474561, {{0, -1, SEM_UNDO}}, 1 <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:39.491369 <... semop resumed> ) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.491396 stat("/var/log/zabbix/zabbix_proxy.log", <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:39.491422 <... stat resumed> {st_dev=makedev(8, 3), st_ino=54001668, st_mode=S_IFREG|0664, st_nlink=1, st_uid=997, st_gid=997, st_blksize=4096, st_blocks=896024, st_size=458756778, st_atime=2015/07/25-00:15:39, st_mtime=2015/07/25-00:15:39, st_ctime=2015/07/25-00:15:39}) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.491458 open("/var/log/zabbix/zabbix_proxy.log", O_RDWR|O_CREAT|O_APPEND, 0666 <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:39.491485 <... open resumed> ) = 8
    zabbix_strace.log:[pid 5300] 00:15:39.491510 stat("/etc/localtime", {st_dev=makedev(8, 3), st_ino=95946836, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=3661, st_atime=2015/07/24-19:35:02, st_mtime=2015/04/29-10:08:57, st_ctime=2015/04/29-10:08:57}) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.491553 fstat(8, {st_dev=makedev(8, 3), st_ino=54001668, st_mode=S_IFREG|0664, st_nlink=1, st_uid=997, st_gid=997, st_blksize=4096, st_blocks=896024, st_size=458756778, st_atime=2015/07/25-00:15:39, st_mtime=2015/07/25-00:15:39, st_ctime=2015/07/25-00:15:39}) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.491592 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa417403000
    zabbix_strace.log:[pid 5300] 00:15:39.491630 write(8, " 5300:20150725:001539.491 Sendi"..., 49) = 49
    zabbix_strace.log:[pid 5300] 00:15:39.491667 close(8) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.491696 munmap(0x7fa417403000, 4096) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.491728 semop(1474561, {{0, 1, SEM_UNDO}}, 1 <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:39.491763 <... semop resumed> ) = 0
    zabbix_strace.log:[pid 5300] 00:15:39.491789 write(6, "disk.error\n", 11 <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:39.491825 <... write resumed> ) = 11
    zabbix_strace.log:[pid 5300] 00:15:39.491851 read(6, <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:42.560878 <... read resumed> 0x7ffd93b5ca2c, 5) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
    zabbix_strace.log:[pid 5300] 00:15:42.560923 --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} ---
    zabbix_strace.log:[pid 5300] 00:15:42.561666 rt_sigreturn( <unfinished ...>
    zabbix_strace.log:[pid 5300] 00:15:42.561706 <... rt_sigreturn resumed> ) = -1 EINTR (Interrupted system call)


    На порт агента улетает два пакета с флагами RST пакет:

    *.*.*.* *.*.*.* TCP 60 58608→10050 [RST] Seq=13 Win=0 Len=0
    *.*.*.* *.*.*.* TCP 60 58608→10050 [RST] Seq=13 Win=0 Len=0


    Все больше у меня, копать нечем. Вариантов, в чем проблема нет.
    Мож кто еще что-то посоветует?
    Спасибо!

    Comment

    • Zentarim
      Senior Member
      • Mar 2012
      • 526

      #17
      Originally posted by murganikolay
      zabbix_strace.log:[pid 5300] 00:15:39.491789 write(6, "disk.error\n", 11 <unfinished ...>
      Что-то мне эта строка не нравится.

      Comment

      • MurgaNikolay
        Junior Member
        • May 2014
        • 21

        #18
        Да, все кому я это показывал, на нее обращают внимание
        Но мимо - это название пользовательского элемента данных который запрашивает сервер. Когда-то кто-то так назвал так и осталось.
        Там проскакивают любые другие элементы данных.

        Comment

        • Zentarim
          Senior Member
          • Mar 2012
          • 526

          #19
          Originally posted by murganikolay
          Да, все кому я это показывал, на нее обращают внимание
          Но мимо - это название пользовательского элемента данных который запрашивает сервер. Когда-то кто-то так назвал так и осталось.
          Там проскакивают любые другие элементы данных.
          А, понятно. Это ведь нестандартный элемент данных? Каким образом его получаете?
          Вы уверены, что ВСЕГДА получаете правильные значения от агента (в корректном формате, не пустые и т.д.)? Может быть дамп приложите, который вы, сняли?

          Comment

          • MurgaNikolay
            Junior Member
            • May 2014
            • 21

            #20
            Дамп приложил, правда пришлось немного отфильтровать. Дамп со стороны сервера.
            Это руби скрипт который, который парсит вывод srvadmin-а dell-овского и возвращает 0 если ошибок нет и 1 если есть.
            Там всегда возвращается 0 (и судя по дампу таки он там возвращается).
            Да и вопрос тогда - даже если он вернет пустоту - почему NETWORK_ERROR? Почему не ZBX_UNSUPORTED или некий AGENT_ERROR?


            P.S. Послал уже два запроса на платный сапорт (на мыло [email protected] и через вормочку на сайте) - ни ответа ни привета.
            Attached Files
            Last edited by MurgaNikolay; 27-07-2015, 13:39.

            Comment

            • Zentarim
              Senior Member
              • Mar 2012
              • 526

              #21
              Originally posted by murganikolay
              Дамп приложил, правда пришлось немного отфильтровать. Дамп со стороны сервера.
              Это руби скрипт который, который парсит вывод srvadmin-а dell-овского и возвращает 0 если ошибок нет и 1 если есть.
              Там всегда возвращается 0 (и судя по дампу таки он там возвращается).
              Да и вопрос тогда - даже если он вернет пустоту - почему network_error? Почему не zbx_unsuported или некий agent_error?


              P.s. Послал уже два запроса на платный сапорт (на мыло [email protected] и через вормочку на сайте) - ни ответа ни привета.
              Где-то то ли на форуме, то ли на багтрекере уже обсуждалась нелогичность некоторых ошибок... Даже патч какой-то давали. К сожалению не вспомню, где.

              Это дамп со стороны клиента? Если да, то есть такой же со стороны сервера? Может до сервака пакет просто не доходит.

              Comment

              • MurgaNikolay
                Junior Member
                • May 2014
                • 21

                #22
                Нет нет, это дамп со стороны сервера.

                Comment

                • Zentarim
                  Senior Member
                  • Mar 2012
                  • 526

                  #23
                  Originally posted by murganikolay
                  Нет нет, это дамп со стороны сервера.
                  Тогда странно...

                  В принципе у вас есть вся информация для обоснованного и корректного обращения на багтрекер. Я думаю, вам стоит обратиться туда.

                  Comment

                  • asaveljevs
                    Zabbix developer
                    • Feb 2010
                    • 36

                    #24
                    Николай, расскажите, пожалуйста, сколько у Вас UserParameter'ов на агенте? Все ли они всегда выполняются за короткое время или иногда зависают? Не бывает ли так, что UserParameter'ов несколько, они исполняются долго, в результате все listener'ы агента занимаются их выполнением и прокси не может к ним подсоединиться, чтобы опросить другие айтемы? Сколько у Вас айтемов на этом хосте, все ли они пассивные, сколько поллеров у прокси и сколько listener'ов у агента? По поводу TCP дампа, расскажите, пожалуйста, на что конкретно нужно обратить внимание.
                    Last edited by asaveljevs; 28-07-2015, 09:33.

                    Comment

                    • MurgaNikolay
                      Junior Member
                      • May 2014
                      • 21

                      #25
                      Я прошу прощения, я все напишу чуть позже. Скажите пожалуйста
                      какой таймаут при ожидании ответа от агента?


                      Скрипт отрабатывает около 2-3 секунд, если верить zabbix_get.
                      Безусловно он может отрабатывать и дольше. Мало ли;

                      судя по strace
                      zabbix_strace.log:[pid 5300] 00:15:39.491851 read(6, <unfinished ...>
                      zabbix_strace.log:[pid 5300] 00:15:42.560878 <... read resumed> 0x7ffd93b5ca2c, 5) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)

                      От начала чтения сокета и до возникновения ошибки около 3-х секунд.
                      3 секунды стоит в настройках по умолчанию. У меня в конфиге прокси (и сервера) стоит Timeout=10
                      Затрагивает ли параметр Timeout время ожидания ответа от агента?

                      Спасибо.

                      Comment

                      • asaveljevs
                        Zabbix developer
                        • Feb 2010
                        • 36

                        #26
                        Да, параметр Timeout в конфигурационном файле сервера и прокси распространяется также и на время ожидания ответа от агента.

                        Таким образом, если Timeout=10, то прокси должен ждать ответа от агента в течение 10 секунд. Обычно рекомендуется таймаут на сервере/прокси ставить больше, чем на агенте (см. ZBX-8620), чтобы в случае таймаута скрипта у агента была возможность успеть отослать сообщение об ошибке.

                        Если у Вас Timeout=10 и прокси ждёт ответа от агента всего 3 секунды, то это подозрительно. Вы можете попробовать проверить в самом начале лога прокси, действительно ли он загружает тот конфигурационный файл, который Вы задумали (ищите строчку "using configuration file: ...").

                        Comment

                        • asaveljevs
                          Zabbix developer
                          • Feb 2010
                          • 36

                          #27
                          На всякий случай уточню, что в конфигурационном файле агента также есть параметр Timeout. Если в агенте Timeout=3, то исполнять Ваш скрипт он будет тоже не более 3 секунд.

                          Comment

                          • MurgaNikolay
                            Junior Member
                            • May 2014
                            • 21

                            #28
                            Всем привет.

                            Ну что сказать, чувствую себя тюленем.
                            Проверил конфиг прокси, и оказалось, что там нет Timeout'a

                            Дело в том, что у нас все это дело устанавливается через Chef, и в той кукбуке почему-то небыло параметра Timeout в шаблоне конфига.
                            Я прописал в атрибуты Timeout, но для proxy он попросту не использовался;
                            К тому же у нас вместе с анричбл валили тригеры на веб мониторинг, и это сбило с толку, так как когда я руками раньше прописывал таймаут, они не перетсавали срабатывать, и создавалось ощущение что "не помогло".

                            В общем я поставил Timeout 10 на проксе, и лог успокоился, потом полез на проект который валит периодически веб мониторинг, и действительно нашел там проблему.

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

                            Всем спасибо.

                            Comment

                            Working...