Ad Widget

Collapse

Как получить состояние "сервер выключен"?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • pomidorov
    Junior Member
    • Aug 2020
    • 7

    #1

    Как получить состояние "сервер выключен"?

    Добрый день! Использую Zabbix 4.0, пытаюсь настроить мониторинг серверов в локальной сети по состоянию "вкл" или "выкл". Т.к. железо разное и, соответственно, датчики тоже, решил получать значение "CPU1 Temp", который есть на всех серверах.
    Но возникла проблема: если целевой сервер выключен, то вместо значения "0" (пробовал делать предобработку, заменяя "na" от ipmitool на 0) Zabbix возвращает ошибку: "sensor data is not available".
    Можно ли как-то его настроить, чтобы "отсутствие ответа" тоже считалось за ответ, но со значением ноль? Заранее спасибо за любую помощь.
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Насколько я понимаю в такой ситуации элемент данных не получает значение, а получает состояние ошибки. Поэтому припроцесинг с этим ничего поделать не может.
    Если очень нужно получать состояние сервера по ipmi - можно использовать userparameter (или systemrun) + ipmitools и запрашивать непосредственно состояние power.

    Comment

    • bboyshock
      Member
      • May 2016
      • 93

      #3
      Вы хотите видеть когда сервер отключился? В zabbix-agent есть триггер Zabbix agent not available x minutes.

      Comment

      • nobodysu
        Member
        • Sep 2016
        • 84

        #4
        Шаблон ICMP точно не подходит?

        Comment

        • pomidorov
          Junior Member
          • Aug 2020
          • 7

          #5
          Originally posted by Hamardaban
          Если очень нужно получать состояние сервера по ipmi - можно использовать userparameter (или systemrun) + ipmitools и запрашивать непосредственно состояние power.
          Подскажите, пожалуйста, чуть подробнее, что за systemrun? Дело в том, что ipmitool на тех серверах отдельно не выделяет сенсор Power, поэтому приходится извращаться и смотреть по линии 12V

          Comment

          • pomidorov
            Junior Member
            • Aug 2020
            • 7

            #6
            Originally posted by bboyshock
            Вы хотите видеть когда сервер отключился? В zabbix-agent есть триггер Zabbix agent not available x minutes.
            Да, хотелось бы видеть на графиках, когда вкл/выкл. Но "упавший" Zabbix-агент будет сигнализировать, что сервер выключился целиком, хотя это не так.

            Comment

            • Hamardaban
              Senior Member
              Zabbix Certified SpecialistZabbix Certified Professional
              • May 2019
              • 2713

              #7
              system.run[команда,<режим>]
              https://www.zabbix.com/documentation...s/zabbix_agent

              Comment

              • pomidorov
                Junior Member
                • Aug 2020
                • 7

                #8
                Originally posted by Hamardaban
                system.run[команда,<режим>]
                https://www.zabbix.com/documentation...s/zabbix_agent
                Погодите, я правильно понимаю, что Вы предлагаете на "сервере" (в который стекается вся информация), через агента дёргать команду ipmitool, которая будет с "сервера" стучаться на IPMI других серверов и смотреть, включены они или нет?

                Comment

                • Hamardaban
                  Senior Member
                  Zabbix Certified SpecialistZabbix Certified Professional
                  • May 2019
                  • 2713

                  #9
                  я ничего не предлагаю, а описываю возможности. как и что делать - решать вам.
                  да именно такой сценарий: на забикс сервере через system run локального агента вызываете команду ос ipmitools , которая пробует подключиться к наблюдаемому серверу и получить состояние power state.

                  Comment

                  • pomidorov
                    Junior Member
                    • Aug 2020
                    • 7

                    #10
                    Originally posted by Hamardaban
                    на забикс сервере через system run локального агента вызываете команду ос ipmitools, которая пробует подключиться к наблюдаемому серверу и получить состояние power state.
                    Спасибо за идею, но, боюсь, это не совсем то. В таком виде не получится создать шаблон (template), который привязывался бы к новым серверам; придётся каждый раз добавлять ещё один элемент данных к основному серверу.

                    Comment

                    • ManMinas
                      Junior Member
                      • Jun 2020
                      • 5

                      #11
                      Добрый день. У вас такой большой парк осей? В связи с чем создать группы под определенные оси и указать 2-3 темплейта руками не комельфо? Собственно на данный момент какая-то часть групп идёт по шаблону, которую можно корректировать. "Но "упавший" Zabbix-агент будет сигнализировать, что сервер выключился целиком, хотя это не так." т.е. "упавший" агент должен сообщить вам какую-то информацию во время того как он лежит? Как вариант, учитывая парк серверов, скорее всего упсы у вас есть, можете попробовать вариант мониторинга через них, у заббикса вроде есть решения.

                      Comment

                      • Hamardaban
                        Senior Member
                        Zabbix Certified SpecialistZabbix Certified Professional
                        • May 2019
                        • 2713

                        #12
                        опят же как вариант: делаете LLD на основе вычисляемого ЭД у которого в припроцесенге формируется json (возможно из макроса) содержащий список серверов. а в прототипах вы уже делаете те ЭД которые будут мониторить состояние.
                        Но как правильно заметили коллеги - если задача имеет гемороидальное решение - то возможно стоит пересмотреть постановку задачи.
                        Например принять что «сервер выключен» == «нет ответа ICMP 10 минут» - и сразу всё решается искаропки.
                        Last edited by Hamardaban; 10-08-2020, 15:28.

                        Comment

                        • pomidorov
                          Junior Member
                          • Aug 2020
                          • 7

                          #13
                          Originally posted by ManMinas
                          Добрый день. У вас такой большой парк осей? В связи с чем создать группы под определенные оси и указать 2-3 темплейта руками не комельфо?
                          Боюсь, неправильно выразился. Ось-то везде одна (точнее, почти везде Ubuntu 18.04 и несколько 20.04). Проблема в том, что вариант, предложенный уважаемым Hamardaban, хороший, но не подходит для шаблонизации. Попросту говоря, насколько я понимаю, т.к. запрос к ipmitool должен идти всегда с одной машины (сервер Zabbix) и в обход Заббикса, то нельзя создать шаблон и подложить его на каждый сервер. Вместо этого надо на Zabbix-сервере сделать кучу элементов данных, по одному на каждую исследуемую машину. Вроде такого:
                          1. system.run (запрос на хост А)
                          2. system.run (запрос на хост Б)
                          3. system.run (запрос на хост В)
                          и т.д. И после этого следить, что добавляются/удаляются какие-то серверы, чтобы идти и руками всё это удалять. Можно, но не комильфо. Шаблоны-то обычно привязывают к тем серверам, НА которые идут запросы.

                          Либо я как-то неправильно понимаю Zabbix?

                          Comment

                          • Kos
                            Senior Member
                            Zabbix Certified SpecialistZabbix Certified Professional
                            • Aug 2015
                            • 3404

                            #14
                            Originally posted by Hamardaban
                            да именно такой сценарий: на забикс сервере через system run локального агента вызываете команду ос ipmitools , которая пробует подключиться к наблюдаемому серверу и получить состояние power state.
                            Всё то же самое можно сделать, если вместо "system run локального агента" оформить нужные действия как скрипт, вызываемый в качестве external check. Тогда элемент данных привязывается не к серверу Zabbix, а к проверяемому хосту (и, как следствие, может быть безболезненно вынесен в отдельный шаблон).

                            Comment

                            Working...