Ad Widget

Collapse

Можно ли на заббикс отправлять http Запросы get или post, как для траппера

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zabbix777
    Member
    • Nov 2023
    • 70

    #1

    Можно ли на заббикс отправлять http Запросы get или post, как для траппера

    Здравствуйте
    Версия заббикса 6.4.12
    Обслуживаю ПО, которое при определенных событиях может формировать http-запросы (см. вложение). Можно ли на заббикс отправлять http Запросы get или post, как для траппера? Как это сделать? Если да, есть ли пример такого запроса для заббикс траппера?
    Attached Files
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    Если ПО обращается «куда то» с запросом - значит там его должны ждать/ слушать запросы/
    Если это «где то» - заббикс сервер ,то он умеет слушать запросы к своему api.
    Но что-то у вас не сходится с логикой - если ПО запрашивает - причем тут отправка заббиксом?

    Comment

    • zabbix777
      Member
      • Nov 2023
      • 70

      #3
      Originally posted by Hamardaban
      Если ПО обращается «куда то» с запросом - значит там его должны ждать/ слушать запросы/
      Если это «где то» - заббикс сервер ,то он умеет слушать запросы к своему api.
      Но что-то у вас не сходится с логикой - если ПО запрашивает - причем тут отправка заббиксом?
      Я вроде нигде не писал, что хочу заббиксом что-то отправлять. Отправлять будет ПО, но на заббиксе же надо создать элемент данных, насколько я понимаю, там есть два варианта zabbix_trapper и http-агент с функцией траппер. но я хотел пример какого нибудь http-запроса для заббикс траппера, чтобы заббикс его нормально смог принять и отобразить данные.

      Comment


      • Hamardaban
        Hamardaban commented
        Editing a comment
        странноо... мне казалось что фраза звучала " Можно ли заббикс отправлять http Запросы get или post" а не "Можно ли на заббикс"....
        вот от этого и вопрос был.. видимо приглючилось
        Last edited by Hamardaban; 11-03-2024, 15:53.
    • Alex_UUU
      Senior Member
      • Dec 2018
      • 541

      #4
      Так вы сами ответили на свой вопрос:
      12 Траппер элементы данных (zabbix.com)
      Там есть ссылка та python-zabbix-utils/README.md at main · zabbix/python-zabbix-utils · GitHub
      А оттуда на
      3 Trapper items (zabbix.com)
      Вот тут есть все описание​
      Code:
      {
                 "request":"sender data",
                 "data":[
                     {
                         "host":"<hostname>",
                         "key":"trap",
                         "value":"test value"
                     }
                 ]
             }​

      Comment

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

        #5
        zabbix777, не слушайте невнимательных людей, они вас плохому научат!

        Если ваш софт умеет отправлять HTTP-запросы (GET или POST), то, чтобы их принять, нужно, чтобы кто-то поддерживал этот протокол на другой стороне, т.е. выступал бы в роли веб-сервера. К сожалению, сам Zabbix в роли веб-сервера выступать не умеет.

        Да, вы можете сформировать JSON, соответствующий описанию элемента данных с типом траппер; но для пересылки таких элементов данных используется не протокол HTTP, а другой (собственный протокол Zabbix, требующий своих собственных бинарных заголовков). По протоколу HTTP можно обратиться разве что к Zabbix API (вот там используется уже HTTP, или чаще - HTTPS), но там другая засада - Zabbix API позволяет делать изменения в конфигурации либо забирать какие-то объекты, но не позволяет засылать данные для обработки

        Comment


        • zabbix777
          zabbix777 commented
          Editing a comment
          Благодарю за пояснение.
      • Hamardaban
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • May 2019
        • 2713

        #6
        Про будущее: а вот в 7 как раз реализовали передачу данных в zabbix через обращение к api !

        Comment


        • zabbix777
          zabbix777 commented
          Editing a comment
          ну как 7-ой забббикс выйдит, тогда посмотрим.
      • zabbix777
        Member
        • Nov 2023
        • 70

        #7
        Добрый день хотел узнать появилась ли в 7-ом заббиксе функция принятия get запросов. Вроде функционал zabbix trapper расширился, но не понятно как этим пользоваться (https://www.zabbix.com/documentation...mtypes/trapper). от куда брать токен -header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \, откуда itemid
        Attached Files

        Comment

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

          #8
          Originally posted by zabbix777
          Добрый день хотел узнать появилась ли в 7-ом заббиксе функция принятия get запросов. Вроде функционал zabbix trapper расширился, но не понятно как этим пользоваться (https://www.zabbix.com/documentation...mtypes/trapper). от куда брать токен -header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \, откуда itemid
          Выдаётся в ответ на успешную аутентификацию (см. примеры здесь).
          Я бы для скриптов использовал токены (ссылка).

          Comment

          • zabbix777
            Member
            • Nov 2023
            • 70

            #9
            Originally posted by Kos
            Выдаётся в ответ на успешную аутентификацию (см. примеры здесь).
            Я бы для скриптов использовал токены (ссылка).
            Спасибо. Инструкции конечно не очень понятные для тех кто с апи мало работал, но немного помогли. Сильно помог более развернутый пример здесь, особенно момент от куда брать токен .
            Но все-таки не понятно откуда брать itemid, для такой команды:
            curl --request POST --url 'http://127.0.0.1/zabbix/api_jsonrpc.php' --header 'Authorization: Bearer ххх' --header 'Content-Type: application/json-rpc' --data '{"jsonrpc":"2.0","method":"history.push","params" :[{"itemid":10362,"value":"1"}],"id":1}'. мне на эту команду выдается:
            {"jsonrpc":"2.0","result":{"response":"success","d ata":[{"error":"No permissions to referred object or it does not exist."}]},"id":1}. скорее всего я не оттуда itemid беру (см. 1.j[g). Нужно обязательно в базу лезть или есть какой-то другой способ?
            Attached Files

            Comment

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

              #10
              Originally posted by zabbix777
              Но все-таки не понятно откуда брать itemid
              [...]
              Нужно обязательно в базу лезть или есть какой-то другой способ?
              В веб-интерфейсе Zabbix идёте в раздел Мониторинг -> Последние данные, выбираете нужный узел сети, отыскиваете для него нужный элемент данных и наводите мышкой справа на ссылку "График" или "История". В статусной строке вашего браузера отобразится URL этой ссылки, который включает нужный itemid:
              Click image for larger version

Name:	screenshot-2024-07-03_01.png
Views:	179
Size:	94.2 KB
ID:	486860

              Comment

              • zabbix777
                Member
                • Nov 2023
                • 70

                #11
                Спасибо. Вроде удалось настроить http-запросы через zabbix-траппер.

                Comment

                Working...