Prometheus API可以使用Python的requests库进行数据查询和导出Excel操作。以下是一个示例代码:
import requests
import pandas as pd
# 定义Prometheus的查询语句
query = 'http_requests_total{job="example_job"}'
# 定义查询的时间范围
start_time = '2021-01-01T00:00:00Z'
end_time = '2021-01-31T23:59:59Z'
# 发送查询请求,获取结果
url = f'http://prometheus.example.com/api/v1/query_range?query={query}&start={start_time}&end={end_time}&step=3600'
response = requests.get(url)
data = response.json()['data']['result']
# 将结果转化为DataFrame对象
df_list = []
for item in data:
values = item['values']
metric_name = item['metric']['__name__']
labels = [f'{k}={v}' for k, v in item['metric'].items() if k != '__name__']
columns = ['time', metric_name] + labels
df_item = pd.DataFrame(values, columns=columns)
df_item[metric_name] = pd.to_numeric(df_item[metric_name])
df_list.append(df_item)
df_result = pd.concat(df_list, axis=1)
# 导出为Excel文件
filename = 'http_requests_total.xlsx'
df_result.to_excel(filename, index=False)
在以上代码中,需要替换以下内容:
query
: Prometheus中要查询的指标名称和条件。start_time
和end_time
: 查询时间范围。url
: Prometheus API的地址。filename
: 导出的Excel文件名。
在运行代码前需要安装以下库:
pip install requests pandas