Ad Widget

Collapse

Как можно мониторить состояние UPS через com?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • nitrogear
    Junior Member
    • Apr 2009
    • 28

    #1

    Как можно мониторить состояние UPS через com?

    Хочется добавить мониторинг состояния батарей на APC SmartUPS (к примеру, SURT3000XLI). SNMP он не умеет. Подключается к компу через rs232. Как быть в этом случае? Может есть софтень какая-нибудь, или может какой-то checker подходящий для zabbix?
  • dotneft
    Senior Member
    • Nov 2008
    • 699

    #2
    думаю если unix, то через upsmon (nut)

    Comment

    • nitrogear
      Junior Member
      • Apr 2009
      • 28

      #3
      Originally posted by dotneft
      думаю если unix, то через upsmon (nut)
      Кому интересно - отвечаю.
      Ставим пакет apcupsd, настраиваем мониторинг упсов. Создаем скрипты парсящие вывод apcaccess и выдающие нужную информацию.
      Поднимаем SNMP, прописываем там запуск внешних скриптов:
      extend apcbcharge /root/apcbcharge.sh
      Список параметров забираем по
      snmpwalk -v2c -c <password> <IP> NET-SNMP-EXTEND-MIB::nsExtendObjects

      Comment

      • Hober
        Senior Member
        • Dec 2008
        • 109

        #4
        Или скриптом (apcupcd):

        Code:
        #!/usr/bin/perl
        my @All = ();
        if (open (APC, "/sbin/apcaccess |")) {
            @All = <APC>;
            close (APC);
        } else {
            print "0";
            exit 0;
        }
        
        foreach (@All) {
            $voltage = $1 if (/LINEV\s*:\s*([\d\.]+)\s*Volts/);
            $charge = $1 if (/BCHARGE\s*:\s*([\d\.]+)\s*Percent/);
            $load = $1 if (/LOADPCT\s*:\s*([\d\.]+)\s*Percent/);
        }
        Ну а дальше, что вам надо:
        print $voltage;
        ............
        Zabbix Servers - 1
        Zabbix Proxy - 145
        Monitored Servers: ~ 1400

        Comment

        • nitrogear
          Junior Member
          • Apr 2009
          • 28

          #5
          Originally posted by Hober
          Или скриптом (apcupcd):
          у меня это вот так:
          Code:
          #!/bin/sh
          apcaccess | grep BCHARGE | cut -d " " -f 4
          exit 0
          Но теперь встал другой вопрос - SNMP возвращает тип данных STRING, а нужно чтобы тип возращаемых данных был Float:
          snmpwalk -v2c -c <pass> <IP> NET-SNMP-EXTEND-MIB::nsExtendOutputFull.\"apcbcharge\"
          NET-SNMP-EXTEND-MIB::nsExtendOutputFull."apcbcharge" = STRING: 100.0
          Как это сделать?

          Comment

          • Alexei
            Founder, CEO
            Zabbix Certified Trainer
            Zabbix Certified SpecialistZabbix Certified Professional
            • Sep 2004
            • 5654

            #6
            Originally posted by nitrogear
            exit 0[/code]Но теперь встал другой вопрос - SNMP возвращает тип данных STRING, а нужно чтобы тип возращаемых данных был Float
            Zabbix 1.6.4 (и 1.6.3) автоматически конвертирует строки в числа.
            Alexei Vladishev
            Creator of Zabbix, Product manager
            New York | Tokyo | Riga
            My Twitter

            Comment

            • Rob Bikmansurov
              Junior Member
              • Apr 2009
              • 1

              #7
              У меня так

              Установлен apcupsd
              В zabbix_agentd.conf добавлен пользовательский параметр:
              UserParameter=ups[*],cat /var/lib/apcupsd/apcupsd.status |grep -i "^$1" | awk '{print $$3}'

              Настроены элементы данных с ключем - ups[itemp] - температура, ups[linev] - вх.напряжение и т.д.

              Comment

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

                #8
                Установлен NUT 2.4.3
                В zabbix_agentd.conf добавлен пользовательский параметр:
                Code:
                UserParameter=ups[*],upsc $1 $2
                Настроены элементы данных с ключами:
                Code:
                ups[{$UPSNAME},battery.charge]
                ups[{$UPSNAME},ups.status]
                и другие.
                Пользовательский макрос {$UPSNAME} определен на уровне узла сети и определяет имя Упса "myupsname", сконфигурированного согласно документации NUT.
                Доступные опрашиваемые параметры (например "battery.charge") для конкретного Упса можно получить, выполнив на хосте с установленным NUT команду:
                Code:
                upsc myupsname
                , где myupsname - это имя Упса.

                Пример результатов доступных параметров:
                Code:
                battery.charge: 100
                battery.voltage: 268.80
                battery.voltage.high: 269
                battery.voltage.low: 180
                battery.voltage.nominal: 240.0
                beeper.status: enabled
                device.mfr: Sinapse
                device.model: MS II
                device.type: ups
                driver.name: blazer_ser
                driver.parameter.pollinterval: 2
                driver.parameter.port: /dev/ttyu0
                driver.version: 2.4.3
                driver.version.internal: 1.51
                input.current.nominal: 26.0
                input.frequency: 50.0
                input.frequency.nominal: 50
                input.voltage: 241.3
                input.voltage.fault: 190.0
                input.voltage.nominal: 230
                output.voltage: 230.9
                ups.delay.shutdown: 30
                ups.delay.start: 180
                ups.firmware: MS3006AG
                ups.load: 16
                ups.mfr: Sinapse
                ups.model: MS II
                ups.status: OL
                ups.temperature: 25.0
                ups.type: online
                На всякий случай: кроме того, эти параметры можно легко забирать по TCP с другого хоста.
                Code:
                upsc [email protected]
                Если будет вдохновение - оформлю это все на Вики с шаблонами и картинками.

                Comment

                • genakir
                  Member
                  • Mar 2011
                  • 49

                  #9
                  UserParameter в zabbix_agent Windows

                  Доброго времени суток.
                  Есть лог, который генерирует apcupsd каждые 60 секунд.
                  Я хочу добавить параметр UserParameter в zabbix_agent Windows, который будет передавать нужные мне данные на сервер zabbix.
                  Файл имеет синтаксис:
                  MODEL : Back-UPS ES 525
                  STATUS : ONLINE
                  LINEV : 222.2 Volts
                  Мне надо брать данные за ":". Прошу помощи.

                  Comment

                  Working...