Influxdb 将xdb查询转换为PromQL
我正在尝试将查询从XDB query重写为PROMQ: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
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
- 所有的
按原样翻译为普罗米修斯标签。例如,标签
inflow行中的标记被转换为sql\u instance=foobar
Prometheus标签sql\u instance=“foobar”
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之间的区别