要将 Prometheus API 中的 node_systemd_unit_state 查询监控数据导出到 Excel,可以使用以下步骤:
- 使用 Prometheus 的 HTTP API 来查询指定时间范围内的监控数据。例如,使用以下 URL 查询最近 24 小时内的数据:
http://prometheus-server:9090/api/v1/query_range?query=node_systemd_unit_state&start=2022-01-01T00:00:00Z&end=2022-01-02T00:00:00Z&step=60s
其中,prometheus-server 是你的 Prometheus 服务器地址,start 和 end 分别是查询时间范围的起始和结束时间,step 表示每个数据点之间的时间间隔。
- 解析查询结果,并将其转换为 Excel 格式。你可以使用 Python 或其他编程语言来完成这个任务。以下是一个 Python 脚本示例:
import requests
import pandas as pd
# 定义 Prometheu API 的 URL 和查询参数
url = 'http://prometheus-server:9090/api/v1/query_range'
params = {
'query': 'node_systemd_unit_state',
'start': '2022-01-01T00:00:00Z',
'end': '2022-01-02T00:00:00Z',
'step': '60s'
}
# 发送 HTTP GET 请求并获取 JSON 响应
response = requests.get(url, params=params)
data = response.json()
# 解析响应中的监控数据并转换为 Pandas DataFrame
values = data['data']['result'][0]['values']
df = pd.DataFrame(values, columns=['timestamp', 'value'])
df['timestamp'] = pd.to_datetime(df['timestamp'], unit='s')
df['value'] = df['value'].astype(float)
# 将 DataFrame 导出为 Excel 文件
df.to_excel('node_systemd_unit_state.xlsx', index=False)
这个脚本会从 Prometheus API 中查询指定时间范围内的 node_systemd_unit_state 监控数据,并将其转换为 Pandas DataFrame。然后,它会将 DataFrame 导出为一个名为 node_systemd_unit_state.xlsx 的 Excel 文件。你可以根据需要修改代码来适应你的具体场景。




