Ad Widget

Collapse

посоветуйте способ решения вопроса)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • cmd
    Member
    • Jun 2012
    • 40

    #1

    посоветуйте способ решения вопроса)

    итак:
    Есть некая железка (IP streamer, Appear TV, далее железка), у которой есть API, с которым работаем посредством SOAP XML.
    Таким образом, есть след скрипт:
    Code:
    #!/bin/sh
    echo "<?xml version=\"1.0\"?>
     <env:Envelope xmlns:env=\"http://www.w3.org/2003/05/soap-envelope\">
    <env:Body>
     <getAlarmList xmlns=\"http://www.appeartv.com/automation/v1\">
      <option>Active</option>
     </getAlarmList>
    </env:Body>
     </env:Envelope>"            >  AAA.xml
    
    
    AAA=`curl -s -d @AAA.xml -H "Content-Type: text/xml; charset=utf-8"  "http://192.168.215.100/automation/service/v1" | xpath -q -e '//*/text()'`
    echo $AAA
    rm AAA.xml
    и есть строчка, задающая ключ и ссылку на этот скрипт в агенте.

    Итого, получаем:


    вопрос один: итем делает этот запрос куждую минуту, и добавляет соответственно строчку каждую минуту, можно ли как-то сделать, чтобы строчка не добавлялась, а висела с момента ее появления до момента ее пропадания? Но в одном колличестве?
    При этом надо помнить, что строчки бывают разные ) и могут висеть разное время, а также этот скрипт может присылать сразу несколько строчек...

    Ну и также я сделал тригер:
    {Zabbix server:activeAlarms.str(CRITICAL)}=1&{Zabbix server:activeAlarms.nodata(30)}=0


    который мне спамит в почту также раз в минуту - это второй вопрос. как написать тригер, чтобы он не слал каждую минуту...
    Думаю, эти 2 вопроса тесно связаны)



    ХЕЛП, умные люди _)



    зы: С днем Радио "и примазавшейся к нему электрической связи"
    Last edited by cmd; 08-05-2013, 10:02.
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #2
    Переписать скрипт в демона, который будет пулить железку и писать лог. Запоминать в демоне последнюю полученную строку и при последующем пуле определять появились ли еще записи. Забикс будет делать тоже самое когда будет выгребать данные через log[] и т.п.

    P.S. еще есть web-проверки в забиксе, может через них можно напрямую пулить вашу железку (предположение, я этими чеками никогда не пользовался)

    Comment

    • Heilig
      Senior Member
      Zabbix Certified Trainer
      Zabbix Certified SpecialistZabbix Certified Professional
      • Mar 2013
      • 366

      #3
      А сообщения только с CRITICAL бывают или есть и c ОК?
      Попробуйте выражение триггера на подобии этого:
      ({TRIGGER.VALUE}=0&{Zabbix server:activeAlarms.str(CRITICAL)}=1)|({TRIGGER.VA LUE}=1&{Zabbix server:activeAlarms.nodata(2m)}=0)
      Или вот так, если приходит ОК:
      ({TRIGGER.VALUE}=0&{Zabbix server:activeAlarms.str(CRITICAL)}=1)|({TRIGGER.VA LUE}=1&{Zabbix server:activeAlarms.str(OK)}=0)

      Comment

      • cmd
        Member
        • Jun 2012
        • 40

        #4
        Щас посмотрел про веб мониторинг..., чтобы настраивать шаги надо ссылки указывать, ну например, первым шагом я логинюсь по ссылке такой-то..., потом мне надо перейти на страничку где пишутся алармы, в обычной ситуации это могло бы выглядеть так: http://1.1.1.1/active_alarm.index.php, но в ситуации с моей железкой web не меняется, он все время 1.1.1.1... так что , веб мониторинг отпадает ?

        Comment

        • cmd
          Member
          • Jun 2012
          • 40

          #5

          вот аларм хистори, OK не встречается..., если проблема не актуальна, она просто пропадает из активных алармов, но остается в аларм хистори. Это разные XML запросы.., и аларм хистори чистится после перезагрузки железки )

          в общем, на сам текст сообщения решили не опираться, их много сотен вариантов, но есть один плюс, все эти сообщения я сам обзываю Критикалом или варнигом.. как хочу, так что, поэтому я и сделал в тригере реакцию на CRITIСAL...
          Last edited by cmd; 08-05-2013, 11:14.

          Comment

          • Heilig
            Senior Member
            Zabbix Certified Trainer
            Zabbix Certified SpecialistZabbix Certified Professional
            • Mar 2013
            • 366

            #6
            Веб мониторингом можно проверять наличие* определенного текста по ссылке. Если Вам подходит это решение, то веб мониторинг не отпадает.

            Значит вариант с ОК отпадает, попробуйте выражение триггера на подобии этого, должно перестать спамить:
            ({TRIGGER.VALUE}=0&{Zabbix server:activeAlarms.str(CRITICAL)}=1)|({TRIGGER.VA LUE}=1&{Zabbix server:activeAlarms.nodata(2m)}=0)
            Last edited by Heilig; 08-05-2013, 11:17. Reason: изменил слово отмеченное *

            Comment

            • cmd
              Member
              • Jun 2012
              • 40

              #7
              все равно спамит почту раз в минуту. по одной итой же трабле...
              Last edited by cmd; 08-05-2013, 11:30.

              Comment

              • Heilig
                Senior Member
                Zabbix Certified Trainer
                Zabbix Certified SpecialistZabbix Certified Professional
                • Mar 2013
                • 366

                #8
                Какая именно ошибка и убедитесь, что у Вас {trigger.va lue} без пробела - {trigger.value}.
                update: и TRIGGER.VALUE большими буквами (форум авто понижеет регистр символов).
                Last edited by Heilig; 08-05-2013, 11:30.

                Comment

                • Jimson
                  Senior Member
                  • Jan 2008
                  • 1327

                  #9
                  Даже если вы решите проблему с триггером, то останется еще проблема засирания базы забикса ненужными данными, к тому же еще и строковыми. Мне кажется что правильнее решить проблему с итемом и проблема с триггером решится сама собой.

                  Comment

                  • cmd
                    Member
                    • Jun 2012
                    • 40

                    #10
                    Originally posted by heilig
                    Какая именно ошибка и убедитесь, что у Вас {trigger.va lue} без пробела - {trigger.value}.
                    Update: и trigger.value большими буквами (форум авто понижеет регистр символов).
                    да да, нашел, тригер работает, т е реагирует на ошибку, но он все равно делает это каждую минуту... (итем работает каждую минуту)...

                    Comment

                    • Heilig
                      Senior Member
                      Zabbix Certified Trainer
                      Zabbix Certified SpecialistZabbix Certified Professional
                      • Mar 2013
                      • 366

                      #11
                      Да, Вы правы, выражение не правильное. Извините, я ошибся.
                      Предлагаю вернуться к началу и попробовать увеличить таймаут до 2-х минут, попробуйте следующее выражение:
                      {Zabbix server:activeAlarms.str(CRITICAL)}=1&{Zabbix server:activeAlarms.nodata(2m)}=0
                      Если не поможет, пойду утоплюсь.

                      При этом, соглашусь с Jimson, если есть возможность, перепишите скрипт.

                      Comment

                      • cmd
                        Member
                        • Jun 2012
                        • 40

                        #12
                        не хочу расстраивать )) но не получилось..., спамит почту=((
                        я на днях попробую еще более подроно описать свою связку... скрипт я могу редактировать, я ж его писал, но я начинающий, далеко не все могу... ) так что помогайте плиз )) и если не сложно пояснять че как))) пожалуйста)

                        на счет тригера, хочу понять его конструкцию:
                        {Zabbix server:activeAlarms.str(CRITICAL)}=1&{Zabbix server:activeAlarms.nodata(2m)}=0 Он состоит у нас из 2 частей,
                        первая часть - {Zabbix server:activeAlarms.str(CRITICAL)}=1 , если в выводе нашего итема видим строковый тип данных "КРИТИКАЛ", то включаем тревогу, =1.
                        &=и
                        вторая часть - {Zabbix server:activeAlarms.nodata(2m)}=0 если нет данных от итема 2 минуты, то вырубаем тревогу.
                        Если я правильно понимаю, то она и не пропадет потому что итем, делая запрос каждую минуту получает в ответ ключевое слово "Критикал" каждую минуту, поэтому он и будет по-любому каждый раз срабатывать.

                        Я так понимаю, что методом тригера этот вопрос не решить? Друю конструкцию сделать нет возможности..? У меня опыта мало в тригерах совсем...(


                        зы и прошу ко мне "на ты"..=)


                        зыы че-то шлюз на работе тупит, подключение vpn сбрасывает.., не могу еще скринов наделать ) на днях сделаю больше данных.
                        Last edited by cmd; 10-05-2013, 07:34.

                        Comment

                        • Heilig
                          Senior Member
                          Zabbix Certified Trainer
                          Zabbix Certified SpecialistZabbix Certified Professional
                          • Mar 2013
                          • 366

                          #13
                          На счет триггера, не совсем так. Выражение означает, если за последние 2 минуты были полученны данные и в полученном значении была строка CRITICAL, то триггер сработает. Так используется функция времени (nodata), то выражение пересчитывается каждые 30 секунд. Выложите пожалуйста скриншот с последнимы данными для элемента данных "activeAlarms", мне не понятно почему триггер каждую минуту срабатывает.
                          У Вас галочка "Multiple PROBLEM events generation" в настройках триггера точно не стоит?

                          Comment

                          • cmd
                            Member
                            • Jun 2012
                            • 40

                            #14
                            стоит ) ща уберу)

                            зы: не спамит )


                            скрин:
                            Last edited by cmd; 10-05-2013, 08:51.

                            Comment

                            • Heilig
                              Senior Member
                              Zabbix Certified Trainer
                              Zabbix Certified SpecialistZabbix Certified Professional
                              • Mar 2013
                              • 366

                              #15
                              зы: не иду топиться )

                              Comment

                              Working...