Ad Widget

Collapse

Триггер срабатывает не правильно на знач

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • MrConstantine
    Junior Member
    • Aug 2015
    • 9

    #1

    Триггер срабатывает не правильно на знач

    Приветствую всех.
    Возникла проблема в правильном отображении статуса по значению из скрипта

    Сам путь скрипта на клиенте (прописан в Zabbix_agentd.conf, UserParameter)
    Code:
    #!/bin/bash
    gname=vg1 # Имя группы из которой выбираем snapshot
    name=root # Имя snapshot'a
    lvs $gname | grep $name | sed -e "s/\,/./g" | awk '{print $1, $2, $4}';
    
    exit 0;
    Выдаёт такие значения:

    root vg1 27.94g (1 - название раздела LVM, 2 - название LVM группы, 3 - объём раздела LVM)

    Задача в том, чтобы zabbix через каждые (например, 5 минут) считывал значение по объёму из скрипта.

    Сам триггер (scriptsnapshotbig):

    Code:
    ((({Zabbix client:snapsize.active.regexp(({TRIGGER.VALUE}=0 and {Zabbix client:snapsize.active.min(5m)})>30) 
    
    OR
    
    (({Zabbix client:snapsize.active.regexp(({TRIGGER.VALUE}=1 and {Zabbix client:snapsize.active.max(10m)})<65))
    # разделил для удобного чтения

    Сделал простой Item

    Zabbix client - имя (как у agent'а)
    snapsize.active - Key


    Severity: Warning

    Каждый раз статус идёт в PROBLEM вместо OK, хотя по логике триггера значение 27.94g больше, чем 30g.

    Zabbix version 2.4

    Помогите пожалуйста, разобраться, или ссылкой ткнуть, чтобы я понял.
    Last edited by MrConstantine; 26-08-2015, 08:45. Reason: Добавил конфигурацию Item
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Извините, не совсем понятны два момента:
    1) какого типа у Вас Item (Numeric/Integer? Numeric/Float? Text?) и что именно Вы в него получаете (что видно для этого Item-а через Latest Data)?
    2) у Вас какая-то фигня в процитированном выражении триггера. Как минимум, куча непарных круглых скобок, да и непонятно, с какими параметрами вызывается функция regexp().

    Comment

    • MrConstantine
      Junior Member
      • Aug 2015
      • 9

      #3
      1) Text, в Latest Data пусто. Но в будущем я бы хотел еще из этого построить график, думаю тип text подойдёт же.
      2) Конструкцию брал с примера https://www.zabbix.com/documentation...onfig/triggers пункт 7.8 . Переделал под свой вариант.

      Comment

      • Zentarim
        Senior Member
        • Mar 2012
        • 526

        #4
        У вас текстовый тип данных получается, насколько я вижу. Как вы собираетесь сравнивать текстовые значения? И как вы собираетесь строить по ним график?

        Comment

        • MrConstantine
          Junior Member
          • Aug 2015
          • 9

          #5
          Originally posted by Zentarim
          У вас текстовый тип данных получается, насколько я вижу. Как вы собираетесь сравнивать текстовые значения? И как вы собираетесь строить по ним график?
          Да, текстовый. Теперь я понял и сформирую вывод скриптом такой:

          27.94 (объем раздела LVM).

          Тогда можно будет установить в Character и сравнить со значениями в триггере. А может проще всё это писать в лог файл и из лог файла брать значение в Zabbix (хотя удобнее средствами Zabbix схатывать "на лету", но у меня проблема в написании триггера )

          Comment

          • yukra
            Senior Member
            • Apr 2013
            • 1359

            #6
            text и Character нафиг. Только числа, и плавающие. Тогда и график будет и триггеры.

            А если в lates data у вам "пусто", то ваши данные до заббикса не доезжают

            Comment

            • MrConstantine
              Junior Member
              • Aug 2015
              • 9

              #7
              Сделал script для проверки в Administration - Scripts с данными
              /srv/snapscript/snap.sh {HOST.CONN} 2>&1
              И он отображает мне верно значение (использовал в Maps его при нажатии на картинку хоста, можно выбрать свой скрипт на исполнение).

              Неужели данные не доходят.

              На клиенте такой конфиг (всё настроено для выполнения, может что то упустил).

              /etc/zabbix/zabbix_agentd.conf
              Code:
              # This is a config file for the Zabbix agent daemon (Unix)
              # To get more information about Zabbix, visit http://www.zabbix.com
              
              PidFile=/var/run/zabbix/zabbix_agentd.pid
              LogFile=/var/log/zabbix/zabbix_agentd.log
              LogFileSize=0
              EnableRemoteCommands=1
              LogRemoteCommands=1
              Server=192.168.1.219
              ListenPort=10050
              ListenIP=192.168.1.207
              ServerActive=192.168.1.219
              Hostname=Zabbix client
              AllowRoot=1
              Include=/etc/zabbix/zabbix_agentd.d/
              # Include=/usr/local/etc/zabbix_agentd.userparams.conf
              # Include=/usr/local/etc/zabbix_agentd.conf.d/
              # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
              UserParameter=snapsize.active[*],/srv/snapscript/snap.sh $1
              Last edited by MrConstantine; 26-08-2015, 11:55.

              Comment

              • yukra
                Senior Member
                • Apr 2013
                • 1359

                #8
                Originally posted by MrConstantine
                Сделал script для проверки в Administration - Scripts с данными
                /srv/snapscript/snap.sh {HOST.CONN} 2>&1
                И он отображает мне верно значение (использовал в Maps его при нажатии на картинку хоста, можно выбрать свой скрипт на исполнение).

                Неужели данные не доходят.

                На клиенте такой конфиг (всё настроено для выполнения, может что то упустил).

                /etc/zabbix/zabbix_agentd.conf
                Code:
                # This is a config file for the Zabbix agent daemon (Unix)
                # To get more information about Zabbix, visit http://www.zabbix.com
                
                PidFile=/var/run/zabbix/zabbix_agentd.pid
                LogFile=/var/log/zabbix/zabbix_agentd.log
                LogFileSize=0
                EnableRemoteCommands=1
                LogRemoteCommands=1
                Server=192.168.1.219
                ListenPort=10050
                ListenIP=192.168.1.207
                ServerActive=192.168.1.219
                Hostname=Zabbix client
                AllowRoot=1
                Include=/etc/zabbix/zabbix_agentd.d/
                # Include=/usr/local/etc/zabbix_agentd.userparams.conf
                # Include=/usr/local/etc/zabbix_agentd.conf.d/
                # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
                UserParameter=snapsize.active[*],/srv/snapscript/snap.sh $1
                если в Lates data по данному айтему у данного хоста ничего нет, значит данные в заббикс не доходят.

                Comment

                • MrConstantine
                  Junior Member
                  • Aug 2015
                  • 9

                  #9
                  Куда смотреть тогда, не понятно
                  Конфиги правильные, пинги ходят, скрипты выполняются.

                  Comment

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

                    #10
                    Советуют совершенно справедливо:
                    1) прежде всего нужно добиться того, чтобы данные попадали на Zabbix-сервер (Вы их должны увидеть в Latest Data);
                    2) с текстовыми типами не будет никаких графиков и будут проблемы с написанием условий триггера, поэтому тип Item-а в Вашем случае однозначно должен быть числовым, а вот целым или вещественным - это уже Вам решать (и в каких единицах данные он будет содержать);
                    3) уже после этого можно разбираться с триггером. В примере, на который Вы ссылаетесь, со скобками и триггерными функциями всё в порядке (в отличие от того примера, что Вы процитировали в первом сообщении).

                    Куда смотреть тогда, не понятно
                    Конфиги правильные, пинги ходят, скрипты выполняются.
                    Прежде всего смотреть в лог агента, выставив уровень лога в 4.
                    Также, написать - какой режим агента используется для данного Item-а (пассивный или активный).
                    Потом смотреть на веб-интерфейс сервера Zabbix. Например, не переходит ли этот Item в состояние "not supported" (в частности, это может быть, если пересылаемые данные не соответствуют указанному типу).
                    Last edited by Kos; 26-08-2015, 13:03.

                    Comment

                    • yukra
                      Senior Member
                      • Apr 2013
                      • 1359

                      #11
                      Originally posted by Kos
                      Прежде всего смотреть в лог агента, выставив уровень лога в 4.
                      Также, написать - какой режим агента используется для данного Item-а (пассивный или активный).
                      Потом смотреть на веб-интерфейс сервера Zabbix. Например, не переходит ли этот Item в состояние "not supported" (в частности, это может быть, если пересылаемые данные не соответствуют указанному типу).
                      В случае если айтем активный, то можно подергать его zabbix_get'ом.

                      Comment

                      • MrConstantine
                        Junior Member
                        • Aug 2015
                        • 9

                        #12
                        Item не переходит в режим "not supported" . В лог файле всё хорошо:

                        Code:
                        4397:20150827:105354.800 EXECUTE_STR() command:'/srv/snapscript/snap.sh ' len:5 cmd_result:'27.94'
                          4397:20150827:105354.800 for key [snapsize.active] received value [27.94]
                          4397:20150827:105354.800 In process_value() key:'Zabbix client:snapsize.active' value:'27.94'
                          4397:20150827:105354.800 In send_buffer() host:'192.168.1.219' port:10051 values:0/100
                          4397:20150827:105354.800 End of send_buffer():SUCCEED
                          4397:20150827:105354.800 buffer: new element 0
                          4397:20150827:105354.800 End of process_value():SUCCEED
                          4397:20150827:105354.800 End of process_active_checks()
                          4397:20150827:105354.800 In get_min_nextcheck()
                          4397:20150827:105354.800 active checks #1 [idle 1 sec]
                          4392:20150827:105354.884 collector [processing data]
                          4392:20150827:105354.884 In update_cpustats()
                          4392:20150827:105354.885 End of update_cpustats()
                          4392:20150827:105354.885 collector [idle 1 sec]
                          4394:20150827:105354.904 listener #2 [processing request]
                          4394:20150827:105354.905 Requested [vfs.fs.inode[/,pfree]]
                          4394:20150827:105354.905 Sending back [95.324809]
                          4394:20150827:105354.905 listener #2 [waiting for connection]
                          4397:20150827:105355.801 In send_buffer() host:'192.168.1.219' port:10051 values:1/100
                          4397:20150827:105355.801 JSON before sending [{"request":"agent data","data":[{"host":"Zabbix client","key":"snapsize.active","value":"27.94","clock":1440651234,"ns":800813893}],"clock":1440651235,"ns":801183259}]
                          4397:20150827:105355.802 JSON back [{"response":"success","info":"processed: 1; failed: 0; total: 1; seconds spent: 0.000112"}]
                          4397:20150827:105355.802 In check_response() response:'{"response":"success","info":"processed: 1; failed: 0; total: 1; seconds spent: 0.000112"}'
                          4397:20150827:105355.802 info from server: 'processed: 1; failed: 0; total: 1; seconds spent: 0.000112'
                          4397:20150827:105355.802 End of check_response():SUCCEED
                          4397:20150827:105355.802 OK
                          4397:20150827:105355.802 End of send_buffer():SUCCEED
                          4397:20150827:105355.802 active checks #1 [idle 1 sec]
                          4392:20150827:105355.885 collector [processing data]
                          4392:20150827:105355.885 In update_cpustats()
                          4392:20150827:105355.885 End of update_cpustats()
                          4392:20150827:105355.885 collector [idle 1 sec]
                          4396:20150827:105355.907 listener #3 [processing request]
                          4396:20150827:105355.907 Requested [vfs.fs.inode[/var/lib/docker/aufs,pfree]]
                          4396:20150827:105355.907 Sending back [95.324809]
                          4396:20150827:105355.907 listener #3 [waiting for connection]

                        Строки доказывают, что мой скрипт работает:

                        Code:
                        4397:20150827:105354.800 EXECUTE_STR() command:'/srv/snapscript/snap.sh ' len:5 cmd_result:'27.94'
                        4397:20150827:105354.800 for key [snapsize.active] received value [27.94]
                        4397:20150827:105354.800 In process_value() key:'Zabbix client:snapsize.active' value:'27.94'
                        4397:20150827:105355.801 In send_buffer() host:'192.168.1.219' port:10051 values:1/100
                         4397:20150827:105355.801 JSON before sending [{"request":"agent data","data":[{"host":"Zabbix client","key":"snapsize.active","value":"27.94","clock":1440651234,"ns":800813893}],"clock":1440651235,"ns":801183259}]
                        Хотя в Latest Data пусто и триггеры не понимаю как настроить
                        Помогите пожалуйста

                        Comment

                        • yukra
                          Senior Member
                          • Apr 2013
                          • 1359

                          #13
                          Originally posted by MrConstantine
                          Item не переходит в режим "not supported" . В лог файле всё хорошо:

                          Code:
                          4397:20150827:105354.800 EXECUTE_STR() command:'/srv/snapscript/snap.sh ' len:5 cmd_result:'27.94'
                            4397:20150827:105354.800 for key [snapsize.active] received value [27.94]
                            4397:20150827:105354.800 In process_value() key:'Zabbix client:snapsize.active' value:'27.94'
                            4397:20150827:105354.800 In send_buffer() host:'192.168.1.219' port:10051 values:0/100
                            4397:20150827:105354.800 End of send_buffer():SUCCEED
                            4397:20150827:105354.800 buffer: new element 0
                            4397:20150827:105354.800 End of process_value():SUCCEED
                            4397:20150827:105354.800 End of process_active_checks()
                            4397:20150827:105354.800 In get_min_nextcheck()
                            4397:20150827:105354.800 active checks #1 [idle 1 sec]
                            4392:20150827:105354.884 collector [processing data]
                            4392:20150827:105354.884 In update_cpustats()
                            4392:20150827:105354.885 End of update_cpustats()
                            4392:20150827:105354.885 collector [idle 1 sec]
                            4394:20150827:105354.904 listener #2 [processing request]
                            4394:20150827:105354.905 Requested [vfs.fs.inode[/,pfree]]
                            4394:20150827:105354.905 Sending back [95.324809]
                            4394:20150827:105354.905 listener #2 [waiting for connection]
                            4397:20150827:105355.801 In send_buffer() host:'192.168.1.219' port:10051 values:1/100
                            4397:20150827:105355.801 JSON before sending [{"request":"agent data","data":[{"host":"Zabbix client","key":"snapsize.active","value":"27.94","clock":1440651234,"ns":800813893}],"clock":1440651235,"ns":801183259}]
                            4397:20150827:105355.802 JSON back [{"response":"success","info":"processed: 1; failed: 0; total: 1; seconds spent: 0.000112"}]
                            4397:20150827:105355.802 In check_response() response:'{"response":"success","info":"processed: 1; failed: 0; total: 1; seconds spent: 0.000112"}'
                            4397:20150827:105355.802 info from server: 'processed: 1; failed: 0; total: 1; seconds spent: 0.000112'
                            4397:20150827:105355.802 End of check_response():SUCCEED
                            4397:20150827:105355.802 OK
                            4397:20150827:105355.802 End of send_buffer():SUCCEED
                            4397:20150827:105355.802 active checks #1 [idle 1 sec]
                            4392:20150827:105355.885 collector [processing data]
                            4392:20150827:105355.885 In update_cpustats()
                            4392:20150827:105355.885 End of update_cpustats()
                            4392:20150827:105355.885 collector [idle 1 sec]
                            4396:20150827:105355.907 listener #3 [processing request]
                            4396:20150827:105355.907 Requested [vfs.fs.inode[/var/lib/docker/aufs,pfree]]
                            4396:20150827:105355.907 Sending back [95.324809]
                            4396:20150827:105355.907 listener #3 [waiting for connection]

                          Строки доказывают, что мой скрипт работает:

                          Code:
                          4397:20150827:105354.800 EXECUTE_STR() command:'/srv/snapscript/snap.sh ' len:5 cmd_result:'27.94'
                          4397:20150827:105354.800 for key [snapsize.active] received value [27.94]
                          4397:20150827:105354.800 In process_value() key:'Zabbix client:snapsize.active' value:'27.94'
                          4397:20150827:105355.801 In send_buffer() host:'192.168.1.219' port:10051 values:1/100
                           4397:20150827:105355.801 JSON before sending [{"request":"agent data","data":[{"host":"Zabbix client","key":"snapsize.active","value":"27.94","clock":1440651234,"ns":800813893}],"clock":1440651235,"ns":801183259}]
                          Хотя в Latest Data пусто и триггеры не понимаю как настроить
                          Помогите пожалуйста
                          может быть вы "lates data" как то не так смотрите? Введите справа сверху в поле поиска имя хоста, нажмите enter, в появившемся списке хостов на нужном хосте нажмите lates data (последние данные) и там уже найдите ваш айтем в нужной группе.

                          Comment

                          • MrConstantine
                            Junior Member
                            • Aug 2015
                            • 9

                            #14
                            Спасибо вам всем большое, теперь в Latest Data всё отображается и у меня даже график заработал. Но задача по триггеру пока не решена, понять не могу этим условия Может есть какой нибудь мануал подробный.

                            Comment

                            • yukra
                              Senior Member
                              • Apr 2013
                              • 1359

                              #15
                              Originally posted by mrconstantine
                              Спасибо вам всем большое, теперь в latest data всё отображается и у меня даже график заработал. Но задача по триггеру пока не решена, понять не могу этим условия Может есть какой нибудь мануал подробный.
                              перечитал ваше первое сообщение и ничего не понял. Что там в триггере нужно отслеживать? что получаемая цифра меньше 30?

                              Comment

                              Working...