Ad Widget

Collapse

Вывод результата zabbix_agent

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • toptop
    Junior Member
    • Dec 2022
    • 13

    #1

    Вывод результата zabbix_agent

    составил запрос для получения данных
    Code:
    curl -sk https://url:port/path  | grep "[*]" | grep -v '^#' | awk -F' ' '/^'"$1"'/ {print $2}' | sed 's/.* //'
    Вывод 1.82382288E8

    Добавил проверку в забикс агент
    Code:
    UserParameter=keycloak.metrics[*],curl -sk https://url:port/path | grep "$1" | grep -v '^#' | awk -F' ' '/^'"$1"'/ {print $2}' | sed 's/\[t|\(.*\)\]/\1/'
    Добавляю элемент данных keycloak.metrics[vendor_memory_usedNonHeap_bytes]

    Code:
    zabbix_agentd -t keycloak.metrics[vendor_memory_usedNonHeap_bytes]
    \keycloak.metrics[vendor_memory_usedNonHeap_bytes] [t|vendor_memory_usedNonHeap_bytes 1.82386128E8]
    Мне надо чтобы заббикс показывал только результат выводил метрики без названия.
    Как сделать ?

    Click image for larger version

Name:	zabbix___.png
Views:	184
Size:	46.9 KB
ID:	470594
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Не Prometheus checks изобретаете часом?

    Comment

    • toptop
      Junior Member
      • Dec 2022
      • 13

      #3
      Originally posted by Semiadmin
      Не Prometheus checks изобретаете часом?

      у keycloak есть метрики , вот решил их собирать zabbix server

      Comment

      • Semiadmin
        Senior Member
        • Oct 2014
        • 1625

        #4
        Ну эти метрики, похоже, с экспортера?

        Comment

        • toptop
          Junior Member
          • Dec 2022
          • 13

          #5
          Originally posted by Semiadmin
          Ну эти метрики, похоже, с экспортера?
          на выходе я получил примерно такое, data value , хотелось причесать все чтобы каждая метрика (data) собирала значения (value)

          Code:
          vendor_agroal_acquire_count_total{datasource="defa ult"} 27671.0
          vendor_agroal_active_count{datasource="default"} 0.0
          vendor_agroal_available_count{datasource="default" } 3.0
          vendor_agroal_awaiting_count{datasource="default"} 0.0
          vendor_agroal_blocking_time_average_seconds{dataso urce="default"} 0.0

          Comment

          • Semiadmin
            Senior Member
            • Oct 2014
            • 1625

            #6
            Это данные от prometheus exporter. В заббиксе есть встроенный функционал для работы с ним, начиная, кажется, с 4.2. Нет смысла делать костыли.

            Comment

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

              #7
              Ну, по сути коллега Semiadmin уже ответил.
              Осталось прокомментировать по форме

              1) вывод в формате
              Code:
              keycloak.metrics[vendor_memory_usedNonHeap_bytes] [t|vendor_memory_usedNonHeap_bytes 1.82386128E8]
              - это специфика zabbix_agentd при запуске с ключом "-t" (см. тут подробнее). В реальные данные попадает только часть этой строки - то, что в квадратных скобках после вертикальной черты, отделяющей тип выводимого значения (для UserParameter всегда "t") от самого значения. Поэтому нет смысла пытаться вырезать этот кусок sed-ом.

              То, что реально возвращается агентом, лучше смотреть утилитой zabbix_get (ссылка), запускаемой на сервере Zabbix: она покажет именно то, что приходит в ответ на запрос со стороны сервера.

              2) если в конвейере присутствует awk, то нет смысла в том же конвейере использовать grep и sed - с их функциями прекрасно справляется и сам awk.

              3) FAQ в документации (ссылка), вопрос номер 6.

              В итоге, исходное выражение превращается в примерно такое:
              Code:
              UserParameter=keycloak.metrics[*],curl -sk https://url:port/path | awk '/^$1/ {print $$2}'
              Но лучше, конечно, использовать встроенный функционал: при помощи агента HTTP (ссылка) забирать один раз исходную страницу с данными, а затем при помощи зависимых элементов данных (ссылка) и предобработки (ссылка) разбирать её на составляющие. В том числе и предобработки Prometheus (ссылка).​

              Comment


              • AnatoliyS
                AnatoliyS commented
                Editing a comment
                По агенту HTTP актуальная тема для меня. Попробую настроить затем, отпишусь.
            • toptop
              Junior Member
              • Dec 2022
              • 13

              #8
              Originally posted by Kos
              Ну, по сути коллега Semiadmin уже ответил.
              Осталось прокомментировать по форме

              1) вывод в формате
              Code:
              keycloak.metrics[vendor_memory_usedNonHeap_bytes] [t|vendor_memory_usedNonHeap_bytes 1.82386128E8]
              - это специфика zabbix_agentd при запуске с ключом "-t" (см. тут подробнее). В реальные данные попадает только часть этой строки - то, что в квадратных скобках после вертикальной черты, отделяющей тип выводимого значения (для UserParameter всегда "t") от самого значения. Поэтому нет смысла пытаться вырезать этот кусок sed-ом.

              То, что реально возвращается агентом, лучше смотреть утилитой zabbix_get (ссылка), запускаемой на сервере Zabbix: она покажет именно то, что приходит в ответ на запрос со стороны сервера.

              2) если в конвейере присутствует awk, то нет смысла в том же конвейере использовать grep и sed - с их функциями прекрасно справляется и сам awk.

              3) FAQ в документации (ссылка), вопрос номер 6.

              В итоге, исходное выражение превращается в примерно такое:
              Code:
              UserParameter=keycloak.metrics[*],curl -sk https://url:port/path | awk '/^$1/ {print $$2}'
              Но лучше, конечно, использовать встроенный функционал: при помощи агента HTTP (ссылка) забирать один раз исходную страницу с данными, а затем при помощи зависимых элементов данных (ссылка) и предобработки (ссылка) разбирать её на составляющие. В том числе и предобработки Prometheus (ссылка).​
              круто, не первый раз выручаете . спасибо )
              надерусь наглости тут не подскажите https://www.zabbix.com/forum/in-russ...B1%D0%BA%D0%B0

              Comment

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

                #9
                Originally posted by toptop

                круто, не первый раз выручаете . спасибо )
                надерусь наглости тут не подскажите https://www.zabbix.com/forum/in-russ...B1%D0%BA%D0%B0
                Спасибо на добром слове, но в той теме, увы, не помогу

                Comment

                Working...