Ad Widget

Collapse

Запрос к базе mysql

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zmdpc
    Senior Member
    • Oct 2014
    • 484

    #1

    Запрос к базе mysql

    Есть запрос к базе mysql который запрашивает несколько значений (колво пользователей разного типа подключения). Вопрос есть ли возможность воспользоваться результатом этого запроса и какимто образом по значениям рисовать график?
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by zmdpc
    Есть запрос к базе mysql который запрашивает несколько значений (колво пользователей разного типа подключения). Вопрос есть ли возможность воспользоваться результатом этого запроса и какимто образом по значениям рисовать график?
    1) https://www.zabbix.com/documentation...types/external
    2) Возвращать нужно по одной строке (числу) за раз

    Comment

    • ableev
      Senior Member
      Zabbix Certified Specialist
      • Oct 2012
      • 276

      #3
      Можно сделать отправлять все значения за один раз через zabbix_sender, придется создать N айтемов с типом trapper ( https://www.zabbix.com/documentation...mtypes/trapper ).
      Таким образом сохранится целостность данных: все значения будут приезжать в одно и то же время, а не размазаны в интервал снятия данных.

      Comment

      • zmdpc
        Senior Member
        • Oct 2014
        • 484

        #4
        Originally posted by ableev
        Можно сделать отправлять все значения за один раз через zabbix_sender, придется создать n айтемов с типом trapper ( https://www.zabbix.com/documentation...mtypes/trapper ).
        Таким образом сохранится целостность данных: все значения будут приезжать в одно и то же время, а не размазаны в интервал снятия данных.
        Отлично наиболее подходящий способ.
        Как заставить отправлять мускул трапы?

        Comment

        • ableev
          Senior Member
          Zabbix Certified Specialist
          • Oct 2012
          • 276

          #5
          Originally posted by zmdpc
          Отлично наиболее подходящий способ.
          Как заставить отправлять мускул трапы?
          MySQL – никак. Напишите скрипт (bash/php/python), который будет совершать запрос, а затем по всему массиву данных отправлять данные в zabbix.

          Comment

          • zmdpc
            Senior Member
            • Oct 2014
            • 484

            #6
            Originally posted by ableev
            MySQL – никак. Напишите скрипт (bash/php/python), который будет совершать запрос, а затем по всему массиву данных отправлять данные в zabbix.
            В получении результатов проблемы нет. Вопрос с отправкой. В мауале написано
            HTML Code:
            В самом простом случае, вы можете использовать утилиту zabbix_sender для отправки некоторого 'test value'
            а какие еще есть варианты и как лучше организовать передачу 5 значений полученных при помощи запроса?

            Comment

            • yukra
              Senior Member
              • Apr 2013
              • 1359

              #7
              Originally posted by zmdpc
              а какие еще есть варианты и как лучше организовать передачу 5 значений полученных при помощи запроса?
              Ну например http://search.cpan.org/~tex/Zabbix-S...bbix/Sender.pm. Варианты отправки зависят от способа. Если мы говорим о zabbix_sender, то например:
              -i, --input-file <inputfile>
              Load values from input file. Specify - for standard input. Each line of file contains whitespace delimited:
              <hostname> <key> <value>. Specify - in <hostname> to use hostname from configuration file or --host argu-
              ment. All entries are sent in a sequential order top-down.

              Comment

              • ableev
                Senior Member
                Zabbix Certified Specialist
                • Oct 2012
                • 276

                #8
                Originally posted by zmdpc
                В получении результатов проблемы нет. Вопрос с отправкой. В мауале написано
                HTML Code:
                В самом простом случае, вы можете использовать утилиту zabbix_sender для отправки некоторого 'test value'
                а какие еще есть варианты и как лучше организовать передачу 5 значений полученных при помощи запроса?
                Вы спросили – " Как заставить отправлять мускул трапы?". Ответ – "Никак".

                Кроме заббикс сендера и его различных вариаций – никак одновременно не отправить.

                Пример, чтобы было понятно, как:

                1. Есть данные из MySQL:
                Code:
                $ mysql -sN -uroot -e "SHOW GLOBAL STATUS WHERE Variable_name LIKE 'Qcache%'"
                Qcache_free_blocks      0
                Qcache_free_memory      0
                Qcache_hits     0
                Qcache_inserts  0
                Qcache_lowmem_prunes    0
                Qcache_not_cached       0
                Qcache_queries_in_cache 0
                Qcache_total_blocks     0
                2. Отправляем:
                Code:
                $ mysql -sN -uroot -e "SHOW GLOBAL STATUS WHERE Variable_name LIKE 'Qcache%'" | sed -e 's/Qcache/example.com Qcache/g' | zabbix_sender -vv -z zabbix.local -p 10051 -i -
                zabbix_sender [24289]: DEBUG: answer [{
                        "response":"success",
                        "info":"processed: 0; failed: 8; total: 8; seconds spent: 0.000081"}]
                info from server: "processed: 0; failed: 8; total: 8; seconds spent: 0.000081"
                sent: 8; skipped: 0; total: 8
                Первый столбец должен содержать хостнейм (ну, или читать из конфиг файла).

                Comment

                • zmdpc
                  Senior Member
                  • Oct 2014
                  • 484

                  #9
                  Подскажите в чем необходимость такого преобразования?
                  sed -e 's/Qcache/example.com Qcache/g'

                  example.com - что необходимо подставлять в своем случае?

                  Comment

                  • aib
                    Senior Member
                    • Jan 2014
                    • 1615

                    #10
                    Originally posted by ableev
                    Первый столбец должен содержать хостнейм (ну, или читать из конфиг файла).
                    В оригинальном сообщении, последняя строчка

                    Соответственно, если ваш сервер имеет имя "SERVERad-18", то строка для sed Будет другой

                    Code:
                    sed -e 's/Qcache/SERVERad-18 Qcache/g'
                    Будьте внимательны с регистром в именах хостов - zabbix отличает хост "SERVER-1" от любого другого "SeRvEr-1".
                    Sincerely yours,
                    Aleksey

                    Comment

                    • ableev
                      Senior Member
                      Zabbix Certified Specialist
                      • Oct 2012
                      • 276

                      #11
                      Originally posted by zmdpc
                      Подскажите в чем необходимость такого преобразования?
                      Sed -e 's/qcache/example.com qcache/g'

                      example.com - что необходимо подставлять в своем случае?
                      Необходимость – в том, что в первом столбце должны быть хосты, куда вы данные отправляете.

                      Comment

                      Working...