7.4. 从集群外部访问自定义应用程序的指标
在使用用户定义的项目监控您自己的服务时,您可以从集群外部查询 Prometheus 指标。使用 thanos-querier
路由从集群外部访问这些数据。
此访问仅支持使用 bearer 令牌进行身份验证。
先决条件
- 您已按照用户定义的项目启用监控部署了自己的服务。
-
您可以使用
cluster-monitoring-view
集群角色登录到帐户,它提供访问 Thanos Querier API 的权限。 已登陆到一个有权获取 Thanos Querier API 路由的帐户。
注意如果您的帐户没有权限获取 Thanos Querier API 路由,集群管理员可以提供路由的 URL。
流程
运行以下命令,提取身份验证令牌以连接到 Prometheus:
TOKEN=$(oc whoami -t)
$ TOKEN=$(oc whoami -t)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,提取
thanos-querier
API 路由 URL:HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath={.status.ingress[].host})
$ HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath={.status.ingress[].host})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令,将命名空间设置为运行服务的命名空间:
NAMESPACE=ns1
$ NAMESPACE=ns1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,在命令行中查询您自己的服务的指标:
curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"
$ curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示 Prometheus 提取的每个应用程序 pod 的状态:
格式的示例输出
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意-
格式的示例输出使用过滤工具(如
jq
)来提供格式化的缩进 JSON。有关使用jq
的更多信息,请参阅 jq Manual。 - 命令会请求 Thanos Querier 服务的一个即时查询端点,它会在某个时间点评估选择器。
-
格式的示例输出使用过滤工具(如