要将 Prometheus API 中的 node_systemd_unit_state 监控数据导出为 Excel,可以按照以下步骤进行操作:
- 使用 cURL 或其他 HTTP 客户端向 Prometheus API 发送查询请求。例如,可以使用以下命令查询所有节点上 Systemd 单元状态的指标值:
curl -G 'http://prometheus-server:9090/api/v1/query' --data-urlencode 'query=node_systemd_unit_state'
- 将返回的 JSON 格式的查询结果转换为 Excel 文件。可以使用 Python 的 Pandas 库来实现此操作。首先需要安装 Pandas:
pip install pandas
- 编写 Python 脚本读取 JSON 数据并将其转换为 DataFrame 对象,然后将 DataFrame 保存为 Excel 文件。
import pandas as pd
import requests
# 发送查询请求,并获取响应数据
url = 'http://prometheus-server:9090/api/v1/query'
params = {'query': 'node_systemd_unit_state'}
response = requests.get(url, params=params).json()
# 解析响应数据,并将其转换为 DataFrame 对象
data = []
for result in response['data']['result']:
instance = result['metric']['instance']
unit_name = result['metric']['unit_name']
state = result['value'][1]
data.append({'instance': instance, 'unit_name': unit_name, 'state': state})
df = pd.DataFrame(data)
# 将 DataFrame 保存为 Excel 文件
writer = pd.ExcelWriter('node_systemd_unit_state.xlsx')
df.to_excel(writer, index=False)
writer.save()
- 运行 Python 脚本,即可将 Prometheus API 中的 node_systemd_unit_state 监控数据导出为 Excel 文件。




