Ad Widget

Collapse

Вывести общее количество данных с item в zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #16
    Originally posted by Zentarim
    Вообще проблема у вас в кавычках (точнее в их отсутствии), как мне кажется. Но это вопрос, скорее к sql.ru или куда-то в те дебри.

    Рабочий запрос:
    select sum(Duration)/60 AS 'Minutes' from cdr where SrcNum like "%0000";

    P.S. Только сейчас дошло, что UNIXTIME и т.д. - это не замазанные для безопасности значения. Тогда у вас ошибка НЕ ТОЛЬКО в отсутствии кавычек...
    Кавычки не нужны (во всяком случае в моей перконе, работает и без них)
    Code:
    yukra@yukra-ThinkPad-Edge-E330 ~ $ ssh zabbix
    Last login: Fri Jul 31 09:02:27 2015 from 194.226.8.79
    [ykurilkin@zabbix ~]$ sudo su - 
    [root@zabbix ~]# mysql
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 129460
    Server version: 5.6.25-73.1 Percona Server (GPL), Release 73.1, Revision 07b797f
    
    Copyright (c) 2009-2015 Percona LLC and/or its affiliates
    Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> use zabbix;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> select SUM(value) from history where itemid = 59423 and clock > 1435650000;
    +-----------------+
    | SUM(value)      |
    +-----------------+
    | 2625765685.0000 |
    +-----------------+
    1 row in set (1 min 26.09 sec)
    
    mysql>

    Comment

    • Zentarim
      Senior Member
      • Mar 2012
      • 526

      #17
      Originally posted by yukra
      Кавычки не нужны
      [/code]
      Хм, да, и правда. Ну... тогда дело определенно не в кавычках.

      Comment

      • ka4a
        Member
        • Jul 2015
        • 68

        #18
        mysql Ver 14.14 Distrib 5.5.43

        Вот мой вывод из совета предпоследнего поста

        mysql> select SUM(value) from history where itemid = 23918 and clock > 1435650000;

        ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql> select SUM(value) from history where itemid = 23918 and clock > 143565000' at line 1
        Last edited by ka4a; 03-08-2015, 09:06.

        Comment

        • yukra
          Senior Member
          • Apr 2013
          • 1359

          #19
          Originally posted by ka4a
          mysql Ver 14.14 Distrib 5.5.43

          Вот мой вывод из совета предпоследнего поста

          mysql> mysql> select SUM(value) from history where itemid = 23918 and clock > 1435650000;

          ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql> select SUM(value) from history where itemid = 23918 and clock > 143565000' at line 1
          Слишком мало 'mysql>' напишете в начале строки "mysql> mysql> mysql> mysql> mysql> mysql> mysql> mysql> mysql> mysql> mysql> mysql> mysql> mysql> ..."

          Comment

          • ka4a
            Member
            • Jul 2015
            • 68

            #20
            вот мой вывод.

            mysql> select SUM(value) from history where itemid = 23918 and clock > 1435650000;
            +------------+
            | SUM(value) |
            +------------+
            | NULL |
            +------------+
            1 row in set (0.04 sec)

            Данных нет почему то? Заметил ещё одну особенность, ни один мой итем не выдает результатов в mysql по айди из браузера. Возможно я не то id получаю?

            Разобрался. Почему то он не хватает данные имено с id нужного мне итема. id итема смотрел через браузер в свойствах итема.

            А вот в таблице history_uint нашло значение по id моего итема. Вопрос тогда из какой таблицы тягать данные?

            И в догонку вопрос о дате. Мне нужен вывод данных за 7 дней. Как это задать в запросе?
            Last edited by ka4a; 03-08-2015, 10:13.

            Comment

            • yukra
              Senior Member
              • Apr 2013
              • 1359

              #21
              Originally posted by ka4a
              вот мой вывод.

              mysql> select SUM(value) from history where itemid = 23918 and clock > 1435650000;
              +------------+
              | SUM(value) |
              +------------+
              | NULL |
              +------------+
              1 row in set (0.04 sec)

              Данных нет почему то? Заметил ещё одну особенность, ни один мой итем не выдает результатов в mysql по айди из браузера. Возможно я не то id получаю?

              Разобрался. Почему то он не хватает данные имено с id нужного мне итема. id итема смотрел через браузер в свойствах итема.

              А вот в таблице history_uint нашло значение по id моего итема. Вопрос тогда из какой таблицы тягать данные?


              Originally posted by ka4a
              И в догонку вопрос о дате. Мне нужен вывод данных за 7 дней. Как это задать в запросе?
              Code:
              yukra@yukra-ThinkPad-Edge-E330 ~ $ date +%s --date='-7 day'
              1437986341
              yukra@yukra-ThinkPad-Edge-E330 ~ $ date -d @1437986341
              Пн. июля 27 11:39:01 MSK 2015

              Comment

              • ka4a
                Member
                • Jul 2015
                • 68

                #22
                Спасибо огромное всем кто помогал. Добился того что нужно было.

                Comment

                • ka4a
                  Member
                  • Jul 2015
                  • 68

                  #23
                  Не могу передать нужные данные в заббикс.

                  Всплыла такая проблема.

                  Хочу через юзерпараметр делать запрос

                  UserParameter=mysql.st[*], mysql -uzabbix -p12345 -e "use zabbix;select SUM(value) from history_uint where itemid = $1 and clock > $2;"

                  В заббиксе соотвесно создан итем.

                  Подскажите как вывести

                  +------------+
                  | SUM(value) |
                  +------------+
                  | 25099469 |
                  +------------+

                  Именно значение!
                  Last edited by ka4a; 03-08-2015, 16:27.

                  Comment

                  • lpkone
                    Member
                    • May 2015
                    • 56

                    #24
                    Code:
                    UserParameter=mysql.st[*], mysql -uzabbix -p12345 [B]-s -N[/B] -e "use zabbix;select SUM(value) from history_uint where itemid = $1 and clock > $2;"
                    --silent, -s
                    Silent mode. Produce less output. This option can be given multiple
                    times to produce less and less output.
                    This option results in nontabular output format and escaping of
                    special characters. Escaping may be disabled by using raw mode; see
                    the description for the --raw option.

                    --skip-column-names, -N
                    Do not write column names in results.

                    Comment

                    • ka4a
                      Member
                      • Jul 2015
                      • 68

                      #25
                      Разобрался всё заработало
                      Last edited by ka4a; 04-08-2015, 08:25.

                      Comment

                      • rough-84
                        Senior Member
                        • Oct 2014
                        • 198

                        #26
                        Originally posted by ka4a
                        Не могу передать нужные данные в заббикс.

                        Всплыла такая проблема.

                        Хочу через юзерпараметр делать запрос

                        UserParameter=mysql.st[*], mysql -uzabbix -p12345 -e "use zabbix;select SUM(value) from history_uint where itemid = $1 and clock > $2;"

                        В заббиксе соотвесно создан итем.

                        Подскажите как вывести

                        +------------+
                        | SUM(value) |
                        +------------+
                        | 25099469 |
                        +------------+

                        Именно значение!
                        Подскажите новичку mysql как вы задали $2.
                        У меня похожая задача, мне нужно сделать выборку данных полученных за последние 5 минут.
                        Задача: Посчитать колличесво записей за последние 5 минут определенного id, при условии что в поле value = "словосочетание"
                        Я сделал запрос но не пойму, как выставить условие "за последние 5 минут"
                        select count(itemid) from history_log where value LIKE "%installed%" and itemid=28127 and clock(хрен его знает что тут нужно )

                        Comment

                        • ka4a
                          Member
                          • Jul 2015
                          • 68

                          #27
                          Originally posted by rough-84
                          Я сделал запрос но не пойму, как выставить условие "за последние 5 минут"
                          select count(itemid) from history_log where value LIKE "%installed%" and itemid=28127 and clock(хрен его знает что тут нужно )
                          Давайте попробую как новичек новичку.

                          В заббиксе итем должен быть так:

                          mysql.st[23918,1437986766]

                          Где $1 = 23918 $2 = 1437986766

                          Значение $2 это так называемый unix timestamp - формат времени в системах unix. У меня стоит дата 27 июля, вы можете сконвертировать время коммандами описаными выше в этом топике либо через онлайн конвертер времени. У вас в задаче подход должен быть другой. Вам нужно дергать данные из базы каждые 5 минут. Либо вам нужно будет менять постоянно timestammp. Посмотрите шаблоны в сети для майскуль там должно быть то что вы ищите.

                          Либо сделать скрипт который будет расчитывать таймстамп и подставлять его.

                          Comment

                          Working...