Ad Widget

Collapse

Добавление в графики данных из внешней БД

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • thedomeno
    Junior Member
    • May 2016
    • 4

    #1

    Добавление в графики данных из внешней БД

    Добрый день!

    Перед тем как постить свой вопрос просмотрел google и другие ресурсы на предмет уже имеющегося ответа, но ничего не нашел.

    У меня работает zabbix и мониторит количество получаемых пакетов на каждую сетевую карту.
    Также у меня есть альтернативная система по сбору статистики, которая мониторит количество пакетов но со стороны отправителя. К ней я толком доступа не имею, но есть доступ к статистическим данным, которые агрегируются в таблицах Oracle.

    Подскажите, пожалуйста, я могу настроить на своей стороне zabbix, чтобы на гарфиках статистики принимаемых пакетов еще и отображались графики с таблиц Oracle, которые находятся на удаленном хосте? Такая возможность вообще есть?

    Заранее благодарен за помощь!
  • id2669099
    Member
    • Mar 2016
    • 68

    #2
    думаю да, надо провести миграцию БД с Oracle на ту БД которую используете, изучить структуры таблиц и в заббиксе и той из которой Вы хотите перенести, подогнать старую таблицу под вид заббикса и перенести записи

    Comment

    • thedomeno
      Junior Member
      • May 2016
      • 4

      #3
      Originally posted by id2669099
      думаю да, надо провести миграцию БД с Oracle на ту БД которую используете, изучить структуры таблиц и в заббиксе и той из которой Вы хотите перенести, подогнать старую таблицу под вид заббикса и перенести записи
      Насколько я правильно понял, данное решение предполагает единовременное сравнение показателей. Я же хотел бы иметь постоянное и автоматическое построение и обновление графиков на постоянной основе как данных с zabbix, так и данных с внешней БД Oracle.

      Comment

      • oitss
        Member
        • Dec 2013
        • 62

        #4
        Не понятно, зачем мигрировать с одной БД на другую. Zabbix может мониторить БД Oracle ? Может. Вот пусть и мониторит необходимые таблицы.

        Comment

        • thedomeno
          Junior Member
          • May 2016
          • 4

          #5
          !

          Originally posted by id2669099
          думаю да, надо провести миграцию БД с Oracle на ту БД которую используете, изучить структуры таблиц и в заббиксе и той из которой Вы хотите перенести, подогнать старую таблицу под вид заббикса и перенести записи
          Originally posted by oitss
          Не понятно, зачем мигрировать с одной БД на другую. Zabbix может мониторить БД Oracle ? Может. Вот пусть и мониторит необходимые таблицы.
          Подскажите, пожалуйста, zabbix может выгружать данные из определенной таблицы в Oracle и строить по ним график? Если да, скиньте пожалуйста хоть что-то, от чего я мог бы оттолкнуться. Заранее спасибо!

          Comment

          • oitss
            Member
            • Dec 2013
            • 62

            #6
            Для начала можно это почитать - https://habrahabr.ru/post/226365/

            Comment

            • thedomeno
              Junior Member
              • May 2016
              • 4

              #7
              Originally posted by oitss
              Для начала можно это почитать - https://habrahabr.ru/post/226365/
              Спасибо большое за наводку!

              Comment

              • aib
                Senior Member
                • Jan 2014
                • 1615

                #8
                Насколько я понял задачу, вам не надо мониторить "состояние" базы Оракл.
                Вам надо "забирать данные" из базы Оракл и рисовать графики.

                Если так, то мне видится такая последовательность действий:
                0) Заббикс рисует графики по данным из своей базы. Будем "забирать" данные у Оракла и "класть" в Заббиксовую БД.
                1) создаем Элементы Данных в описании того хоста, который уже отрисовывается на графике. Просто для удобства поиска. Назовем их, например:
                - ora.net.if.in
                - ora.net.if.out
                Тип данных зададим Zabbix Trapper.
                Остальные настройки - скопируем (вручную или как угодно) из текущих настроек net.if.in & net.if.out.
                2) На (любом) сервере, который имеет доступ к базе Оракл, устанавливаем пакет zabbix-sender (подберите подходящий способ установки сами, прочитав https://www.zabbix.com/documentation..._from_packages)
                3) Сами или с помощью друзей пишем скрипт на любом языке, который вам нравится (Pyton, PHP, shell, etc.). Cкрипт делает пару простых действий:
                - забирает данные из Оракл
                - отправляет их на сервер с помощью zabbix_sender
                Простейшая командная строка будет выглядеть как
                Code:
                zabbix_sender -z zabbix_server -s host -k key -o value
                Где:
                zabbix_server - имя Заббикс сервера
                host - имя хоста, который мониторится и содержит Элементы Данных для построения графика, созданные нами (ora.net.if.in / ora.net.if.out)
                key - имя элемента данных - например, ora.net.if.in
                value - текущее значение Элемента Данных - например, 223456

                т.е. что-то типа
                Code:
                zabbix_sender -z zabbix -s ORAserver -k ora.net.if.in -o 223456
                4) После того, как скрипт заработает, добавляете его в cron. Настраиваете, как часто скрипт будет вызываться и отсылать данные на сервер.

                Кстати - я думаю, что на Oracle сервере уже стоит некий скрипт/программа мониторинга, собирающая значения и запихивающая их в базу Oracle. Рассмотрите возможность добавить пару строчек к тому скрипту и отсылать данные параллельно в базу Oracle И на сервер Заббикс.
                Code:
                zabbix_sender -z zabbix -s ORAserver -k ora.net.if.in -o 223456
                zabbix_sender -z zabbix -s ORAserver -k ora.net.if.out -o 999
                Спрашивайте, если будут затруднения.
                Sincerely yours,
                Aleksey

                Comment

                • oitss
                  Member
                  • Dec 2013
                  • 62

                  #9
                  Originally posted by aib
                  Насколько я понял задачу, вам не надо мониторить "состояние" базы Оракл.
                  Вам надо "забирать данные" из базы Оракл и рисовать графики.
                  А в чем вы видите разницу ? В первом случае периодически опрашиваются
                  системные таблицы БД Oracle, а во втором пользовательские. Если Zabbix сервер способен сам обратиться к БД, выполнить SQL запрос, получить
                  и проанализировать данные, вряд ли стоить строить комбинацию из самописного скрипта, zabbix_sender и cron.

                  Comment

                  • aib
                    Senior Member
                    • Jan 2014
                    • 1615

                    #10
                    Originally posted by oitss
                    А в чем вы видите разницу ? В первом случае периодически опрашиваются
                    системные таблицы БД Oracle, а во втором пользовательские. Если Zabbix сервер способен сам обратиться к БД, выполнить SQL запрос, получить
                    и проанализировать данные, вряд ли стоить строить комбинацию из самописного скрипта, zabbix_sender и cron.
                    Zabbix Server НЕ способен
                    сам обратиться к БД, выполнить SQL запрос, получить
                    и проанализировать данные
                    Поэтому и нужны костыли в виде
                    самописного скрипта, zabbix_sender и cron
                    Та ссылка, которую вы привели, тоже содержит описание нескольких скриптов для получения данных из базы Оракл.
                    Sincerely yours,
                    Aleksey

                    Comment

                    • uscr
                      Member
                      • Feb 2012
                      • 30

                      #11
                      Originally posted by thedomeno
                      Добрый день!

                      Перед тем как постить свой вопрос просмотрел google и другие ресурсы на предмет уже имеющегося ответа, но ничего не нашел.

                      У меня работает zabbix и мониторит количество получаемых пакетов на каждую сетевую карту.
                      Также у меня есть альтернативная система по сбору статистики, которая мониторит количество пакетов но со стороны отправителя. К ней я толком доступа не имею, но есть доступ к статистическим данным, которые агрегируются в таблицах Oracle.

                      Подскажите, пожалуйста, я могу настроить на своей стороне zabbix, чтобы на гарфиках статистики принимаемых пакетов еще и отображались графики с таблиц Oracle, которые находятся на удаленном хосте? Такая возможность вообще есть?

                      Заранее благодарен за помощь!

                      Непременно заббикс нужен? Возможно, поможет grafana.
                      Есть удобный коннектор для zabbix: https://github.com/alexanderzobnin/grafana-zabbix
                      Как забирать данные из oracle придётся придумать.

                      Comment

                      • oitss
                        Member
                        • Dec 2013
                        • 62

                        #12
                        Originally posted by aib
                        Zabbix Server НЕ способен
                        Zabbix может выполнять запросы к любой базе данных, которая поддерживается ODBC. из https://www.zabbix.com/documentation...es/odbc_checks

                        Comment

                        Working...