Ad Widget

Collapse

non-existent process

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • maclin
    Member
    • Mar 2011
    • 76

    #1

    non-existent process

    Вечер добрый, коллеги! Ситуация такова:
    win 2008r2 standardx86, zabbix agent 1.8.6. Решил обновить, тормознул сервис, удалил сервис, установил новый (1.8.15) Запустил, не работает. Долго копался, оказалось, что завис старый процесс. TCPview показал что есть non-existent процесс с pid 1860, который слушает на 10050 порту. Когда запускаю сервис агента, то поднимается новый pid, который тоже слушает на 10050 порту, но все запросы, обрабатываются non-existent 1860 pid'ом. Убить его из TCPView не получается. CMD, taskkill, powershell kill не убивают. Может кто сталкивался с таким, как убить этого зомби, сервер уж очень не хочется рестартовывать.
  • zalex_ua
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Oct 2009
    • 1286

    #2
    Очень интересно, вам сюда



    Только пожалуйста, не убивайте процесс быстро, почитайте ссылки, разберитесь что у вас у как и расскажите нам.

    Comment

    • maclin
      Member
      • Mar 2011
      • 76

      #3
      Хех, вторая ссылка на мой пост )
      Тут дело в том, что процесс то как раз убить и не могу, так как его в системе типа нет (Process Explorer, TaskInfo не видят его) хотя он есть и еще гад слушает на порту.
      Last edited by maclin; 07-11-2012, 19:12.

      Comment

      • zalex_ua
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Oct 2009
        • 1286

        #4
        Originally posted by maclin
        Хех, вторая ссылка на мой пост )
        Прикольно, зачем тогда было иной топик открывать ?

        Originally posted by maclin
        Тут дело в том, что процесс то как раз убить и не могу, так как его в системе типа нет (Process Explorer, TaskInfo не видят его) хотя он есть и еще гад слушает на порту.
        Вы не внимательно рассмтрели картинки значит. Там Пид - это от родительского процесса которого уже нет, соответсвенно некого уже и убивать.
        Нужно чтобы закрылисись все порожденные родителем дети, проверьте существующие cmd процессы и завершите их.

        Comment

        • maclin
          Member
          • Mar 2011
          • 76

          #5
          Все верно, обновлять то я стал именно после того, как на одном из серваков как раз агент начал подвисать и не всегда отдавал данные.

          Смутила надпись о фиксе в 1.8.5 версии и да, картинки невнимательно рассмотрел, разрешение бы побольше)
          Завтра тогда постараюсь найти порожденные этим pid'ом так называемых детей
          updated:
          Точно, вообще пропустил это "When some long-running userparameter being worked in the time when the agent has received command to stop, then the child "cmd" process did not stop, holding opened TCP socket, consuming memory and maybe another problems, which avoided to to windows server hang."

          Убить то я тогда скорей всего убью, но какую полезную информацию можно вытащить (кроме скринов кем был запущен cmd), которая помогла бы вам в будущем?
          Last edited by maclin; 07-11-2012, 20:28.

          Comment

          • maclin
            Member
            • Mar 2011
            • 76

            #6
            Пока процесс не убивал, вот какая картина получается:
            (http://www42.zippyshare.com/v/10508845/file.html)
            По логам винды видно, что в один прекрасный момент поломалась сама утилита, которая проверяет adaptec raid controller:
            Code:
            Faulting application name: arcconf.exe, version: 0.0.0.0, time stamp: 0x49d102d3
            Faulting module name: afaapi.dll, version: 6.10.0.0, time stamp: 0x49d101b6
            Exception code: 0xc0000005
            Fault offset: 0x000000000006fdc3
            Faulting process id: 0x11cc
            Faulting application start time: 0x01cdba09a90eaf79
            Faulting application path: C:\Program Files\Adaptec\Adaptec Storage Manager\arcconf.exe
            Faulting module path: C:\Program Files\Adaptec\Adaptec Storage Manager\afaapi.dll
            Report Id: e765bd51-25fc-11e2-a2aa-002590629476
            А уже эту утилиту дергает powershell скрипт, вот похоже поэтому cmd и подвис.

            Comment

            • zalex_ua
              Senior Member
              Zabbix Certified Trainer
              Zabbix Certified SpecialistZabbix Certified Professional
              • Oct 2009
              • 1286

              #7
              В таких случаях возникал вопрос почему "дети" не завершаются самостоятельно а продолжают висеть ?

              В моем случае я нашел ответ что "ребенок" по неизвестной причине находился в Suspended состоянии, поэтому он и не завершался.
              Почему он переходил в это состояние - осталось загадкой.
              Когда я его переводил из Suspended в Running он сразу же завершался и проблема снималась.

              У вас нету этих симтомов (нет Suspended в колонке CPU), а просто скрипт остановился и что то ждет.
              Как раз с этим вам и нужно разобраться, как так получилось что стал и ждет ?

              в версии 1.8.5 (ZBX-3479) действительно был фикс - юзерпараметры игнорировали timeout параметр агента и другие исправления тоже.

              Comment

              • maclin
                Member
                • Mar 2011
                • 76

                #8
                Я вижу ситуацию таковой:
                zabbix сервер послал запрос по userparameter, запустился cmd строкой powershell C:\raid-checker\adaptec-check.ps1 1 0 Эта строка дергает arcconf.exe, сам arcconf.exe погибает по неизвестным причинам (слышал я о глючности этой тулзы) и cmd так и зависает в положении. Как копать глубже в этой ситуации - даже не представляю.

                Comment

                • zalex_ua
                  Senior Member
                  Zabbix Certified Trainer
                  Zabbix Certified SpecialistZabbix Certified Professional
                  • Oct 2009
                  • 1286

                  #9
                  Originally posted by maclin
                  Как копать глубже в этой ситуации - даже не представляю.
                  Обеспечивать чтобы скрипт в любом из случаев сам завершался, использовать таймауты выполнения и все такое.
                  Например для выполнения VBS скриптов в команде cscript вызова можно указывать таймаут /T выполнения скрипта.
                  Может что то похожее есть и для powershell, а может внутри самого скрипта можно рулить таймаутом выполнения внешних команд.

                  Comment

                  • maclin
                    Member
                    • Mar 2011
                    • 76

                    #10
                    Я думал вы говорите о еще каком-то разборе ситуации)
                    Я как раз подумываю о том, чтобы в любом случае скрипт отрабатывал.
                    Буду переписывать, спасибо большое за помощь.

                    Comment

                    • maclin
                      Member
                      • Mar 2011
                      • 76

                      #11
                      Ну вот после запуска агента, все равно не отрабатывается проверка рэйда, если локально на машине в cmd запускаю powershell C:\raid-checker\adaptec-check.ps1 1 0, то все ок, отрабатывает, если запускаю с заббикс-сервера:
                      zabbix_get -s 192.168.0.3 -k raid-check
                      timeout while executing a shell script

                      Запустил службу агента под пользователем администратора (не system) и все равно не получаю данных от этой проверки.

                      Comment

                      • maclin
                        Member
                        • Mar 2011
                        • 76

                        #12
                        Интересная штука получалась. Заходил под пользователя system, запускал powershell C:\raid-checker\adaptec-check.ps1 1 0, все отрабатывает. Вернул запуск сервиса заббикса под именем system, раз под ним все прекрасно работает. Посылал запросы с заббикс сервера, видел как появляется процесс cmd,powershell и arcconf. Arcconf зависал в положении выполнения команды C:\Program Files\Adaptec\Adaptec Storage Manager\arcconf.exe" getconfig 1 (тобишь первая строка из скрипта, которая обращается к arcconf.exe) и более ничего не происходило, потом отваливался по таймауту и процессы закрывались. Похоже, когда раньше я стопил агента, то в этот момент еще исполнялась команда в arcconf.exe и он, вместе с cmd и powershell процессами потом висели, не давая высвободиться процессу заббикс агента.

                        Обошел проблему путем обновления adaptec storage manager, сейчас пока все работает, надеюсь и далее так будет )

                        Comment

                        • turboon
                          Member
                          • Sep 2010
                          • 93

                          #13
                          Рейд Адаптек неплохо мониторится также с помощью snmp. Как вариант
                          Можно доставать как параметры жестких дисков, массивов и батареи, так и состояние контроллера в целом.

                          Comment

                          • maclin
                            Member
                            • Mar 2011
                            • 76

                            #14
                            Неплохой вариант тоже, решил пока писать статус в файлик, чтобы агент не повисал из-за кривого storage manager

                            Comment

                            • maclin
                              Member
                              • Mar 2011
                              • 76

                              #15
                              Up Up Up

                              ситуация не такая же, но похожая:
                              serv2008r2x64
                              1.8.16 версия агента.
                              Опять данные начали поступать рывками и agent.ping отрабатывает через раз. Начал копать, обнаружил кучу time_wait на 10050 порту сервера с pid = 0:


                              Перезапуск агента ничего не дает

                              netstat -na | find /C "10050" выдает 14402 записей, вчера ночью было около 6000 записей. В общем растет. Как быть, куда копать, можно конечно ребутнуть серв и обновить агента, но хотелось бы по возможности вылечить на лету.

                              Comment

                              Working...