要将 Prometheus API 中的 node_systemd_unit_state 查询监控数据导出到 Excel,可以使用以下步骤:
- 使用 Prometheus 的 Web UI 或者 curl 命令来验证查询请求是否有效。例如,可以使用以下命令:
curl -G 'http://prometheus.example.com:9090/api/v1/query' --data-urlencode 'query=node_systemd_unit_state'
- 在编程语言中编写代码来向 Prometheus API 发送查询请求,并接收响应。例如,可以使用 Python requests 库:
import requests
url = 'http://prometheus.example.com:9090/api/v1/query'
params = {'query': 'node_systemd_unit_state'}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
# 处理查询结果...
else:
print(f'Failed to query Prometheus API: {response.status_code} {response.reason}')
- 将查询结果转换为 Excel 格式。可以使用 pandas 库将 JSON 数据转换为 DataFrame 对象,并将其保存为 Excel 文件:
import pandas as pd
df = pd.DataFrame.from_dict(data['data']['result'])
df.to_excel('node_systemd_unit_state.xlsx', index=False)
- 完整代码示例:
import requests
import pandas as pd
url = 'http://prometheus.example.com:9090/api/v1/query'
params = {'query': 'node_systemd_unit_state'}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
df = pd.DataFrame.from_dict(data['data']['result'])
df.to_excel('node_systemd_unit_state.xlsx', index=False)
else:
print(f'Failed to query Prometheus API: {response.status_code} {response.reason}')




