Ad Widget

Collapse

Не применяются макросы через веб.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Piknik
    Junior Member
    • Jun 2016
    • 22

    #1

    Не применяются макросы через веб.

    Добрый день!

    Имеется сервер Zabbix 3.2.6-1 на Centos 7.1

    Имеется сервер Postgres 9.6 с Zabbix-агентом.

    Заббикс-сервер проверят работоспособность сервиса PostgreSQL следующим образом:
    Шаблон: PostgreSQL
    Макрос: {$PG_PROCESS_NAME} = postmaster
    Элемент данных: proc.num[{$PG_PROCESS_NAME}]

    Всё работает нормально. Сервер в простое возвращает значение 35-36.

    Но недавно подняли другой сервер БД на Postgres 9.5.
    Проблема началась в том, что на версии 9.5 нет процесса postmaster - там используется главный процесс postgres. И в итоге получается, что вышеуказанных элемент данных не срабатывает и выводится 0.

    Решение было очевидным - залезть в настройки узла сети и там прописать макрос {$PG_PROCESS_NAME} = postgres, который согласно документации должен быть приоритетней макроса шаблона.

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

    Возникли подозрения, что макросы через веб-морду так просто не меняются. Решил проверить: становил на шаблоне макрос {$PG_PROCESS_NAME} = postgres, на узле макрос удалил, а на элементе данных поставил proc.num[,{$PG_PROCESS_NAME}]

    Согласно zabbix-get у меня должно было получиться ~46 и 10 процессов на 9.6 и 9.5 соотвественно. Но в "Последних данных" по прежнему "висят" 35 и 10.

    Собственно на этом и подтвердилось, что для того, чтобы zabbix увидел изменения макросов нужно что-то сделать.

    Вот вывод из консоли (Х.Х.Х.12 - 9.6, Х.Х.Х.30 - 9.5):
    Code:
    # zabbix_get -s Х.Х.Х.30 -p 10050 -k "proc.num[postmaster]"
    0
    # zabbix_get -s Х.Х.Х.30 -p 10050 -k "proc.num[postgres]"
    10
    # zabbix_get -s Х.Х.Х.12 -p 10050 -k "proc.num[postmaster]"
    35
    # zabbix_get -s Х.Х.Х.12 -p 10050 -k "proc.num[postgres]"
    0
    
    # zabbix_get -s Х.Х.Х.12 -p 10050 -k "proc.num[,postgres]"
    46
    # zabbix_get -s Х.Х.Х.30 -p 10050 -k "proc.num[,postgres]"
    10
    Как выглядит значение макросе на узле сети во вложении

    Подскажите, что нужно сделать zabbix, чтобы он пересчитал новые параметры макроса? Это нужно копать в сторону агента или сервера Заббикс?
    Attached Files
  • Piknik
    Junior Member
    • Jun 2016
    • 22

    #2
    В веб последние данные выглядят вот так

    Верхнее - 9.6
    Нижнее - 9.5
    Attached Files

    Comment

    • Semiadmin
      Senior Member
      • Oct 2014
      • 1625

      #3
      Честно говоря, не очень понял, зачем вы поставили запятую и стали передавать значение макроса не процессу, а пользователю:
      proc.num[,{$PG_PROCESS_NAME}]
      А так, я делал то же самое, что и вы, с тем же самым, видимо, шаблоном (правда, менял postgres на postmaster, но разницы нет), и никаких проблем не возникло:
      joxi.ru/82QEJddU14jzy2
      joxi.ru/YmEGlEEIZL07bA

      Comment

      • Piknik
        Junior Member
        • Jun 2016
        • 22

        #4
        Поставил запятую только ради одного - проверить, что у меня значения 35 и 0 застыли независимо от значения макросов. Это сделал только для проверки и потом вернул всё назад.

        Вот примерно такую картину я ожидал - но она не наступила.

        Comment

        • Semiadmin
          Senior Member
          • Oct 2014
          • 1625

          #5
          Zabbix-proxy, часом, не используется? Он может вносить задержку в применение изменений.

          Comment

          • Piknik
            Junior Member
            • Jun 2016
            • 22

            #6
            Включил дополнительную информацию. Веб говорит, что правильно распределил значения в квардратных скобках. Тогда вопрос, почему они так разняться с get-zabbix?
            Attached Files

            Comment

            • Piknik
              Junior Member
              • Jun 2016
              • 22

              #7
              Originally posted by Semiadmin
              Zabbix-proxy, часом, не используется? Он может вносить задержку в применение изменений.
              Не используется. Только Агент, сервер и веб.

              Вообще в целом уже много серверов достаточно большое время на нём весит. Данные всегда приходили на сервер ожидаемо быстро. И на новом сервере остальные метрики корректно приходят. Только с Postgres проблема

              Comment

              • Piknik
                Junior Member
                • Jun 2016
                • 22

                #8
                В общем заработало и помогло... забитие большого и толстого на проблему.
                Видимо нужно было только подождать и не теребить лишний раз - заббикс сам разберётся когда ему собирать данные)



                Благодарю за помощь всем!

                Comment

                • Daikazahn
                  Member
                  • Nov 2016
                  • 69

                  #9
                  Всем привет!
                  Тоже столкнулся с такой проблемой

                  Code:
                  [root@test-db2 ~]# cat /etc/redhat-release 
                  CentOS release 6.8 (Final)
                  
                  [root@test-db2 ~]# zabbix_agentd -t proc.num[postmaster] && ps aux | grep postgres | grep -v "grep" | wc -l
                  proc.num[postmaster]                          [u|1205]
                  1205
                  
                  [root@test-db2 ~]# zabbix_agentd -t proc.num[postgres] && ps aux | grep postgres | grep -v "grep" | wc -l
                  proc.num[postgres]                            [u|0]
                  1202
                  
                  [root@test-db2 ~]# pstree -a
                  init
                    ├─postmaster -D /var/lib/pgsql/9.6/data
                    │   ├─postmaster                             
                    │   ├─postmaster
                    │   ├─postmaster                       
                    │   ├─postmaster                             
                    │   ├─postmaster                    
                    │   └─postmaster
                  Т.е. для centos процесс не postgres, а postmaster??
                  Или я не прав

                  Comment

                  • Daikazahn
                    Member
                    • Nov 2016
                    • 69

                    #10
                    Code:
                    [root@test-postgresql-96-1 etc]# cat /etc/redhat-release 
                    CentOS Linux release 7.4.1708 (Core) 
                    [root@test-postgresql-96-1 etc]# zabbix_agentd -t proc.num[postmaster] && ps aux | grep postgres | grep -v "grep" | wc -l
                    proc.num[postmaster]                          [u|48]
                    49
                    [root@test-postgresql-96-1 etc]#
                    И в тоже время на другом сервере где используется репликация PaceMaker и CoroSync, то процесс запуска - postgres
                    Code:
                    [root@test-pgsql96-db1 ~]# cat /etc/redhat-release 
                    CentOS Linux release 7.4.1708 (Core) 
                    [root@test-pgsql96-db1 ~]# zabbix_agentd -t proc.num[postgres] && ps aux | grep postgres | grep -v "grep" | wc -l
                    proc.num[postgres]                            [u|97]
                    97
                    Last edited by Daikazahn; 17-12-2017, 14:30.

                    Comment

                    • Daikazahn
                      Member
                      • Nov 2016
                      • 69

                      #11
                      Скорее всего
                      из-за https://github.com/ClusterLabs/resou...beat/pgsql#L48

                      Comment

                      • Daikazahn
                        Member
                        • Nov 2016
                        • 69

                        #12
                        The following bug has been logged on the website: Bug reference: 14981 Logged by: Anton Patsev Email address: [email protected] PostgreSQL …

                        Comment

                        • Daikazahn
                          Member
                          • Nov 2016
                          • 69

                          #13
                          Кто-нибудь знает как мониторить кол-во 2-х процессов используя 1 item: postmaster и postgres?

                          Comment

                          Working...