Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Influxdb 将xdb查询转换为PromQL_Influxdb_Promql_Influxql - Fatal编程技术网

Influxdb 将xdb查询转换为PromQL

Influxdb 将xdb查询转换为PromQL,influxdb,promql,influxql,Influxdb,Promql,Influxql,我正在尝试将查询从XDB query重写为PROMQ: SELECT non_negative_derivative("wait_time_ms", 1s) FROM "sqlserver_waitstats" WHERE ("sql_instance" =~ /^$InstanceName$/) AND ("wait_type" =~ /HADR/) AND $timeFilter GROUP BY "wait_type" 有人能帮忙吗?相应的ProMQ查询应该如下所示: rate(sqls

我正在尝试将查询从XDB query重写为PROMQ:

SELECT non_negative_derivative("wait_time_ms", 1s) FROM "sqlserver_waitstats" WHERE ("sql_instance" =~ /^$InstanceName$/) AND ("wait_type" =~ /HADR/) AND $timeFilter GROUP BY "wait_type"

有人能帮忙吗?

相应的ProMQ查询应该如下所示:

rate(sqlserver_waitstats_wait_time_ms{sql_instance=~"$InstanceName", wait_type=~".*HADR.*"}[5m])
假设将流入管线转换为普罗米修斯指标时执行以下转换:

  • 度量值
    名称在每个
    字段
    名称前加上,以获得与普罗米修斯兼容的度量值名称。例如,如果
    measurement
    sqlserver\u waitstats
    ,而字段名是
    wait\u time\u ms
    ,则生成的普罗米修斯度量名称将是
    sqlserver\u waitstats\u wait\u time\u ms
    ,如上面的查询所示
  • 所有的
    标签
    按原样翻译为普罗米修斯标签。例如,
    sql\u instance=foobar
    inflow行中的标记被转换为
    sql\u instance=“foobar”
    Prometheus标签
这是VictoriaMetrics在接受流入管线协议数据时使用的默认转换-有关详细信息,请参阅

请注意,PROMQ标签匹配器中的正则表达式默认绑定到标签值的开头和结尾。因此,无需在上面的
sql\u实例的regexp中设置
^
$
,而我们需要将
*
添加到
wait\u type
regexp,这样它就可以匹配任何包含
HADR
的值,而不是精确匹配


为了更好地感受PromQL和InfluxQL之间的差异,我建议您也阅读一些内容。

相应的PromQL查询应该如下所示:

rate(sqlserver_waitstats_wait_time_ms{sql_instance=~"$InstanceName", wait_type=~".*HADR.*"}[5m])
假设将流入管线转换为普罗米修斯指标时执行以下转换:

  • 度量值
    名称在每个
    字段
    名称前加上,以获得与普罗米修斯兼容的度量值名称。例如,如果
    measurement
    sqlserver\u waitstats
    ,而字段名是
    wait\u time\u ms
    ,则生成的普罗米修斯度量名称将是
    sqlserver\u waitstats\u wait\u time\u ms
    ,如上面的查询所示
  • 所有的
    标签
    按原样翻译为普罗米修斯标签。例如,
    sql\u instance=foobar
    inflow行中的标记被转换为
    sql\u instance=“foobar”
    Prometheus标签
这是VictoriaMetrics在接受流入管线协议数据时使用的默认转换-有关详细信息,请参阅

请注意,PROMQ标签匹配器中的正则表达式默认绑定到标签值的开头和结尾。因此,无需在上面的
sql\u实例的regexp中设置
^
$
,而我们需要将
*
添加到
wait\u type
regexp,这样它就可以匹配任何包含
HADR
的值,而不是精确匹配

我还建议阅读,以便更好地感受PromQL和InfluxQL之间的区别