根据 Prometheus 指标触发操作
Trigger an action based on Prometheus metrics
我需要根据 Prometheus 指标(不是警报)触发 bash 命令。我发现 https://home.robusta.dev/ 可以执行一个动作,但它只消耗 Prometheus 警报。请推荐适合我任务的工具。
Prometheus 有一个 API,您可以获得任何能够执行 HTTP 请求的指标:
curl 'http://prometheus.example.com:9090/api/v1/query?query=up!=1'
成功后你会得到一个 JSON 这样的:
{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"__name__": "up",
"instance": "foo",
"job": "test"
},
"value": [
1646896269.124,
"0"
]
},
{
"metric": {
"__name__": "up",
"instance": "bar",
"job": "test"
},
"value": [
1646896269.124,
"0"
]
}
]
}
}
然后您可以添加一些逻辑:解析响应、进行另一个查询、运行 脚本等。
我需要根据 Prometheus 指标(不是警报)触发 bash 命令。我发现 https://home.robusta.dev/ 可以执行一个动作,但它只消耗 Prometheus 警报。请推荐适合我任务的工具。
Prometheus 有一个 API,您可以获得任何能够执行 HTTP 请求的指标:
curl 'http://prometheus.example.com:9090/api/v1/query?query=up!=1'
成功后你会得到一个 JSON 这样的:
{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"__name__": "up",
"instance": "foo",
"job": "test"
},
"value": [
1646896269.124,
"0"
]
},
{
"metric": {
"__name__": "up",
"instance": "bar",
"job": "test"
},
"value": [
1646896269.124,
"0"
]
}
]
}
}
然后您可以添加一些逻辑:解析响应、进行另一个查询、运行 脚本等。