Ad Widget

Collapse

Обнаружение процесов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • YuraI
    Member
    • Jun 2012
    • 35

    #1

    Обнаружение процесов

    День добрый!

    Нужно мониторить кучу однотипных процессов, например proc1, proc2 .. procN, количество динамическое, может быть 2000 шт, а может 3000 шт и т.д.
    Вопрос:
    Можно как то автоматизировать добавление их в систему например так как дисковые маунты или сетевые интерфейсы. Появился процесс система его добавила и мониторит, если пропал то на оброт? Скажите пожалуйста, можно как то такое реализовать средствами заббикса?

    Зарание спасибо.
  • SergeniuS
    Member
    • Jan 2012
    • 68

    #2
    Не совсем понятно, что именно вы хотите мониторить. Число процессов итого, их наличие, или в разрезе по каждому процессу какую-то аналитику?

    Comment

    • YuraI
      Member
      • Jun 2012
      • 35

      #3
      Originally posted by sergenius
      Не совсем понятно, что именно вы хотите мониторить. Число процессов итого, их наличие, или в разрезе по каждому процессу какую-то аналитику?
      В разрезе по каждому процессу.

      Comment

      • bga83
        Senior Member
        • Sep 2011
        • 268

        #4
        Originally posted by YuraI
        В разрезе по каждому процессу.
        Я для подобных целей использую низкоуровневое обнаружение

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

        Comment

        • YuraI
          Member
          • Jun 2012
          • 35

          #5
          Originally posted by bga83
          Я для подобных целей использую низкоуровневое обнаружение

          Написан скрипт непосредственно обнаружения, который в json формате возвращает забиксу перечень процессов. Так же созданы прототипы элементов, где уже по каждому процессу вытягивается интересующая информация.
          А это уже интересно, а можно пример скрипта увидеть?
          Спасибо.

          Comment

          • bga83
            Senior Member
            • Sep 2011
            • 268

            #6
            Originally posted by YuraI
            А это уже интересно, а можно пример скрипта увидеть?
            Спасибо.
            На скринах 2 скрипта.
            Работают они под Solaris. Один непосредственно производит обнаружение: выбергивает топ 5 процессов по нагрузке на CPU и возвращает pid и имя. А второй используется уже в прототипе элемента и по pid-у ищет текущую нагрузку процессом на CPU. Получение самих данных реализовано не самым лучшим способом, но идея думаю ясна, в скрипте обнаружения можно вставить цикл который будет выдавать данные в нужном количестве в зависимости от текущих требований.


            PS. Сории, за кривой способ демонстрации, но текстом форум не дал вставить ругнувшись "Too many live links/images found in your post content. Please edit your post or contact the administrator."
            Attached Files

            Comment

            • YuraI
              Member
              • Jun 2012
              • 35

              #7
              Большое спасибо за введение в курс. Буду пробовать.

              Comment

              • hapten
                Junior Member
                • Aug 2015
                • 1

                #8
                Добрый день, бьюсь над схожей по структуре задачей: получить список VZPID'ов и далее получить (и отобразить на графике) счетчики по ним.

                На стороне скриптов, вроде, все работает (по крайней мере, zabbix_get исправно получает данные):

                Code:
                # zabbix_get -s 192.168.1.15 -p 10050 -k ovz.ioacct
                {
                	"data":[
                		{ "{#VZPID}":"102", "{#VZVALUE}":"1650630656" },
                		{ "{#VZPID}":"154", "{#VZVALUE}":"3719667712" },
                		{ "{#VZPID}":"289", "{#VZVALUE}":"804057088" },
                		{ "{#VZPID}":"297", "{#VZVALUE}":"3241533440" },
                		{ "{#VZPID}":"394", "{#VZVALUE}":"7591043072" },
                		{ "{#VZPID}":"476", "{#VZVALUE}":"1025798144" },
                		{ "{#VZPID}":"480", "{#VZVALUE}":"748597248" },
                		{ "{#VZPID}":"492", "{#VZVALUE}":"20477227008" },
                		{ "{#VZPID}":"502", "{#VZVALUE}":"336183296" },
                		{ "{#VZPID}":"563", "{#VZVALUE}":"4641742848" },
                		{ "{#VZPID}":"583", "{#VZVALUE}":"5582450688" },
                		{ "{#VZPID}":"593", "{#VZVALUE}":"855126016" },
                		{ "{#VZPID}":"613", "{#VZVALUE}":"303435776" },
                		{ "{#VZPID}":"615", "{#VZVALUE}":"182312960" },
                		{ "{#VZPID}":"618", "{#VZVALUE}":"68017770496" },
                		{ "{#VZPID}":"622", "{#VZVALUE}":"4201226240" },
                		{ "{#VZPID}":"624", "{#VZVALUE}":"1958023168" },
                		{ "{#VZPID}":"629", "{#VZVALUE}":"2956935168" },
                		{ "{#VZPID}":"630", "{#VZVALUE}":"4410720256" },
                		{ "{#VZPID}":"631", "{#VZVALUE}":"259350528" },
                		{ "{#VZPID}":"635", "{#VZVALUE}":"22942433280" },
                		{ "{#VZPID}":"636", "{#VZVALUE}":"15035338752" },
                		{ "{#VZPID}":"637", "{#VZVALUE}":"2035752960" },
                		{ "{#VZPID}":"642", "{#VZVALUE}":"25115680768" },
                		{ "{#VZPID}":"643", "{#VZVALUE}":"64946176" },
                		{ "{#VZPID}":"644", "{#VZVALUE}":"4528123904" },
                		{ "{#VZPID}":"645", "{#VZVALUE}":"1961984000" },
                		{ "{#VZPID}":"646", "{#VZVALUE}":"6458630144" }
                	]
                }
                root@zabbix:~# zabbix_get -s 192.168.1.15 -p 10050 -k ovz.ioacct[644]
                4528283648
                (насколько я в данный момент понимаю, VZVALUE - излишнее значение, потом уберу)

                А вот в интерфейсе заббикса данные упорно не получаются.

                Создано Discovery Rule: Key - ovz.ioacct, указано Name, остальные поля не менялись.

                Создан Item Prototype:
                Name - ioacct write VZPID {#VZPID}
                Type - Zabbix agent
                Key - ovz.ioacct[{#VZPID}]
                Type of information - Numeric (unsigned)
                Data type - Decimal
                Store value - Delta (speed per second)
                Show value - As is

                В итоге вижу, что item'ы созданы, но вот значения не получаются.

                Подскажите пожалуйста, что упустил.
                Заранее благодарен!

                Comment

                • sadman
                  Senior Member
                  • Dec 2010
                  • 1611

                  #9
                  "значения не получаются" - это означает, что элемент данных переходит в состояние "Неподдерживается" или значения нулевые?

                  Что в Latest Data - есть ли кресты в красных квадратах; не закрался ли в Item Prototype "Zabbix (active)" при ненастроенном агенте; не случается ли такое, что скрипт выполняется дольше таймаута; интервалы получения данных выжидаете; zabbix_get производится с узла, где находится zabbix_server?

                  Comment

                  Working...