我试图为cassandra创建一个grafana Jmeter 板,我需要帮助如何从指标输出中筛选变量。
Grafana查询:label_values(collectd_dse_histogram_p98{cluster_name=~"$cluster",dse=~"org.apache.cassandra.metrics.table.read_latency.*.*"},dse)
Regex尝试:org.apache.cassandra.metrics.table.read_latency.(.*)
输出格式为keyspace.table_name
。需要帮助如何将Regex表达式格式化为仅从输出中提取keyspace
。
获取输出为“keyspace”.“table_name”
只需要“keyspace”作为输出变量。
1条答案
按热度按时间ca1c2owp1#
要在
org.apache.cassandra.metrics.table.read_latency.keyspace.table_name
中匹配keyspace
,正确的正则表达式是org\.apache\.cassandra\.metrics\.table\.read_latency\.(\[^.\]*)\..*
:它匹配预定义的前缀(同时转义点,因为在正则表达式中有特殊的含义),然后它捕获所有内容,直到下一个点进入一个组。
请注意,这里的正则表达式匹配完整的字符串。
/org\.apache\.cassandra\.metrics\.table\.read_latency\.([^.]*)/
也可以工作,但在这种情况下,请注意regex被/
包围。不同之处在于Grafana根据它们是否包含在
/.../
中而对正则表达式进行了不同的处理。那些没有斜线的会自动添加锚点^
和$
。