可观测监控 Prometheus 版提供了Prometheus HTTP API地址,以便于您在自建的Grafana中接入Promethues监控数据,或在二次开发过程中通过Prometheus API获取监控数据。
获取HTTP API地址
登录ARMS控制台。
在左侧导航栏选择 ,进入可观测监控 Prometheus 版的实例列表页面。
在页面顶部选择Prometheus实例所在的地域,并在目标集群右侧的操作列单击设置。
在设置页签上,根据需求复制公网或内网的HTTP API地址(图标①)。
说明如果是云服务类型的Prometheus实例,请根据接入云服务的产品类型选择对应的HTTP API地址。
可选:如果您需要提高Grafana数据读取的安全性,可以单击生成token,获取Prometheus实例的鉴权Token。
重要生成Token后,在Grafana中添加数据源时必须配置Token,否则无法读取Prometheus的监控数据。
接入自建Grafana
配置Grafana数据源。
以管理员账号登录本地Grafana系统。
在左侧导航栏中选择
。说明仅管理员可以看到此菜单。
在Data Sources页签上单击Add data source。
在Add data source页面上单击Prometheus。
在Settings页签的Name字段输入自定义的名称,在URL字段粘贴上文获取HTTP API地址中获得的HTTP API地址。
可选:在Custom HTTP Headers区域单击+Add header,设置Header为Authorization,设置Value为获取HTTP API地址中获取的鉴权Token。
单击页签底部的Save & Test。
验证结果。
登录本地Grafana系统。
在左侧导航栏中选择
。在New dashboard页面单击Add a new panel。
在Edit Panel页面的Query页签的下拉框中选择步骤1中添加的数据源,在A区域的Metrics字段输入指标名称并按回车。
如果能显示出相应指标的图表,则说明操作成功。否则请检查填写的接口地址或Token是否正确,以及数据源是否有Prometheus的监控数据。
获取Prometheus监控数据
调用Prometheus监控数据的请求示例如下。更多使用HTTP API获取Prometheus监控数据的操作,请参见Prometheus HTTP API。
GET {HTTP API}/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: {Token}
{
"query":"arms_prometheus_target_interval_length_seconds_sum",
"time":"1635302655",
"timeout":"1000"
}
{HTTP API}
和{Token}
请替换为上文获取HTTP API地址中获取的HTTP API和鉴权Token。
返回示例:
{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"__name__": "arms_prometheus_target_interval_length_seconds_sum",
"instance": "localhost:9335",
"interval": "15s",
"job": "_arms-prom/kubelet/1"
},
"value": [
1635302655,
"146655.24420603***"
]
},
{
"metric": {
"__name__": "arms_prometheus_target_interval_length_seconds_sum",
"instance": "localhost:9335",
"interval": "30s",
"job": "_arms-prom/kubelet/1"
},
"value": [
1635302655,
"879810.747346***"
]
},
{
"metric": {
"__name__": "arms_prometheus_target_interval_length_seconds_sum",
"instance": "localhost:9335",
"interval": "20s",
"job": "_arms-prom/kubelet/1"
},
"value": [
1635302655,
"73320.13578499***"
]
}
]
}