Ad Widget

Collapse

Как втянуть данные в Zabbix?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SolarW
    Member
    • Feb 2011
    • 41

    #1

    Как втянуть данные в Zabbix?

    Здравствуйте.

    Есть некая программка под Linux которая выдает следующие данные (после обработки grep & awk)

    Code:
    1
    20315.000000
    20554.000000
    20752.000000
    0.950000
    0.870000
    1.090000
    35355.000000
    35791.000000
    35539.000000
    27.000000
    -39.000000
    47.000000
    Можно ли эти данные как-то за один приём закинуть в Zabbix? (возможно с помощью sed заменив точку на запятую)
    Подозреваю это можно через агента сделать, но есть некоторые сомнения сумеет ли он так.

  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    немного «подправить» файл и использовать опцию -i

    Comment

    • SolarW
      Member
      • Feb 2011
      • 41

      #3
      Originally posted by Hamardaban
      немного «подправить» файл и использовать опцию -i
      https://www.zabbix.com/documentation.../zabbix_sender
      О, пасиба за пинок в нужном направлении.
      Пошёл читать про возможные типы данных.

      Comment

      • Victor Vislobokov
        Senior Member
        • Aug 2018
        • 298

        #4
        Способов много. Можно прописать ключ на Zabbix Agent'е, чтобы по вызову ключа срабатывала ваша программка и возвращала эти данные. Ну и опять же в каком виде. То что вы привели - это будет символ или текст

        Comment

        • SolarW
          Member
          • Feb 2011
          • 41

          #5
          Originally posted by Victor Vislobokov
          Способов много. Можно прописать ключ на Zabbix Agent'е, чтобы по вызову ключа срабатывала ваша программка и возвращала эти данные. Ну и опять же в каком виде. То что вы привели - это будет символ или текст
          Вроде если запуск из агента прописывать - то только оп одному ключу дергать получится?
          Т.е. прописав 13 ключей получаю 13 запусков программы?

          В каком виде - первый параметр true/false, а вот остальные хотелось бы в виде чисел, чтобы строить графики, алертить выход за границы и т.д.
          Поэтому символ или текст не сильно подойдут...

          Comment

          • Victor Vislobokov
            Senior Member
            • Aug 2018
            • 298

            #6
            Сколько ключей вам нужно и каких - решайте сами. Ключ ставить всего лишь соответствие команде, т.е. набрав определённый ключ вы получаете на агенте определённый запуск. Можно к ключу давать параметры, кроме того. Подробности в документации

            Comment

            • Hamardaban
              Senior Member
              Zabbix Certified SpecialistZabbix Certified Professional
              • May 2019
              • 2713

              #7
              Если контроль над структурой создаваемого файла в ваших руках - то генерируйте json или xml в котором каждому значению сопоставьте ключ.
              потом этот файл можно забрать в забикс например через выполнение system.run и распарсить на стороне забикса в зависимые элементы данных.

              Comment

              • SolarW
                Member
                • Feb 2011
                • 41

                #8
                Originally posted by Victor Vislobokov
                Сколько ключей вам нужно и каких - решайте сами. Ключ ставить всего лишь соответствие команде, т.е. набрав определённый ключ вы получаете на агенте определённый запуск. Можно к ключу давать параметры, кроме того. Подробности в документации
                Я немного не это спросил.
                О возможности создавать свои ключи, запуская из под агента программу и получая её вывод я в курсе (например использую такой способ для получения некоторых данных по работе asterisk'а)
                Но как я понимаю получение одного параметра = одному запуску программу.
                Т.е. чтобы получить пять разных данных я пять раз запускаю asterisk с помощью grep & awk & wc отфильтровывая вывод для получения нужного значения.

                В описываемом же случае мне не хотелось бы применять такой вариант, ибо программа выдающая данные получает/выводит их достаточно долго.
                Поэтому меня интересовал вариант позволяющий получив вывод работы программы из 13 строк закинуть их в zabbix за одну операцию.

                Comment

                • SolarW
                  Member
                  • Feb 2011
                  • 41

                  #9
                  Originally posted by Hamardaban
                  Если контроль над структурой создаваемого файла в ваших руках - то генерируйте json или xml в котором каждому значению сопоставьте ключ.
                  потом этот файл можно забрать в забикс например через выполнение system.run и распарсить на стороне забикса в зависимые элементы данных.
                  Ну как бы относительно в моих руках - раз уже вышеприведенный вариант данных получил то буду пробовать его скриптом на bash'е привести в вид понятный zabbix_sender'у (похоже это оптимальный из приведенных вариант)
                  Хотя про system.run сейчас почитаю.

                  Comment


                  • Hamardaban
                    Hamardaban commented
                    Editing a comment
                    system.run позволяет выполнить например cut и получить в ответ содержимое файла...
                • Victor Vislobokov
                  Senior Member
                  • Aug 2018
                  • 298

                  #10
                  Originally posted by SolarW
                  В описываемом же случае мне не хотелось бы применять такой вариант, ибо программа выдающая данные получает/выводит их достаточно долго.
                  Поэтому меня интересовал вариант позволяющий получив вывод работы программы из 13 строк закинуть их в zabbix за одну операцию.
                  Так а что мешает-то? Закиньте в Заббикс всю эту портянку разом. Затем в Заббиксе с помощью зависимых элементов данных и предобработки и регулярок, выцепите то что вам надо в отдельные элементы данных.

                  Comment

                  • SolarW
                    Member
                    • Feb 2011
                    • 41

                    #11
                    Originally posted by Victor Vislobokov

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

                    Спасибо, буду искать как закидывать всю эту портянку в Заббикс и распарсивать её на отдельные элементы данных.

                    Comment

                    • Hamardaban
                      Senior Member
                      Zabbix Certified SpecialistZabbix Certified Professional
                      • May 2019
                      • 2713

                      #12
                      to SolarW позволю маленький совет: если описать задачу целиком - то и ответ возможно будет гораздо оптимальнее...
                      а то частенько спрашивают в какой цвет костыль покрасить - а уже и автомобили изобрели! :-)

                      Comment

                      • SolarW
                        Member
                        • Feb 2011
                        • 41

                        #13
                        Originally posted by Hamardaban
                        to SolarW позволю маленький совет: если описать задачу целиком - то и ответ возможно будет гораздо оптимальнее...
                        а то частенько спрашивают в какой цвет костыль покрасить - а уже и автомобили изобрели! :-)
                        Вроде был конкретен в стартовом сообщении :-)
                        Приведен вывод программы.
                        Описана необходимость за раз закидывать эти данные в Заббикс.
                        Вот тип данных не указал, да.
                        Из предложенных вариантов пока кажется самым разумным немного откорректировать вывод (добавить нужные поля) и скармливать получившийся файл с данными zabbix_sender'у.

                        Comment

                        • Whols
                          Senior Member
                          • Jul 2018
                          • 133

                          #14
                          Есть другой вариант - создаете UserParameter, где указываете свой ключ и запуск вывода содержимого файла (cat). Можно и не городить огород, а использовать встроенный ключ для лог-файла.
                          Last edited by Whols; 13-12-2020, 02:02.

                          Comment

                          • Whols
                            Senior Member
                            • Jul 2018
                            • 133

                            #15
                            system.run вам не нужен, тк это влечёт за собой флаг выполнения команд на агенте. Это не безопасно.
                            Last edited by Whols; 13-12-2020, 01:49.

                            Comment

                            Working...