如何在Shell脚本中将含两个指标的Prometheus响应拆分为独立条目?
处理Prometheus指标响应的Shell实现方案
可以通过sed命令完成两个核心操作:拆分连在一起的指标条目、替换指标名标签,具体命令如下:
# 直接输出处理后的结果 echo "$PROMETHEUS_METRIC" | sed -e 's/}{/}\ {/g' -e 's/<strong>name<\/strong>/__name__/g'
命令解释
- 第一个sed表达式
s/}{/}\ {/g:将两个指标条目之间的}{分隔符替换成}\n{,把连在一起的两个条目拆分为独立行。 - 第二个sed表达式
s/<strong>name<\/strong>/__name__/g:将原始响应中的<strong>name</strong>替换为Prometheus标准的__name__标签。
扩展用法
- 将处理结果存入新变量:
PROCESSED_METRICS=$(echo "$PROMETHEUS_METRIC" | sed -e 's/}{/}\ {/g' -e 's/<strong>name<\/strong>/__name__/g')
- 将处理结果写入文件:
echo "$PROMETHEUS_METRIC" | sed -e 's/}{/}\ {/g' -e 's/<strong>name<\/strong>/__name__/g' > processed_metrics.txt
内容的提问来源于stack exchange,提问作者ramesh k
相关产品推荐
相关产品推荐

