influxdb
  • grafana
  • 2016-03-29 4 views 0 likes 
    0

    У меня есть запрос:Удалите часть серии из запроса в притоке

    SELECT non_negative_derivative(max("value"), 10s) 
            FROM "interface_rx" 
            WHERE "host" =~ /host.+/ 
              AND "instance" =~ /eth.+/ 
              AND "type" = 'if_octets' 
              AND $timeFilter 
            GROUP BY time(5m), "instance" 
            fill(null) 
    

    Это возвращает все найденные серии - и это слишком много.

    Я хочу, чтобы сократить последовательности со значениями non_negative_derivative (макс ("значение"), 10s)> 100.

    Если я это сделать:

    SELECT non_negative_derivative(max("value"), 10s) 
         as irx 
         FROM "interface_rx" 
         WHERE "host" =~ /host.+/ 
          AND "instance" =~ /eth.+/ 
          AND "type" = 'if_octets' 
          AND $timeFilter 
          AND irx > 100 
        GROUP BY time(5m), "instance" 
        fill(null) 
    

    приток просто игнорирует меня (пустые результаты).

    Как отфильтровать медленную серию из результата? Благодарю.

    ответ

    2

    К сожалению, нет способа ссылаться на irx внутри тела запроса.

    Для достижения результата, который вы ищете вам необходимо оформить два запроса:

    SELECT non_negative_derivative(max("value"), 10s) AS irx 
           INTO tmp 
           FROM "interface_rx" 
           WHERE "host" =~ /host.+/ 
             AND "instance" =~ /eth.+/ 
             AND "type" = 'if_octets' 
             AND $timeFilter 
           GROUP BY time(5m), "instance" 
           fill(null) 
    

    и

    SELECT irx FROM tmp WHERE irx > 100 GROUP BY instance 
    

     Смежные вопросы

    • Нет связанных вопросов^_^