12.4. 从集群外部访问自定义应用程序的指标


在使用用户定义的项目监控您自己的服务时,您可以从集群外部查询 Prometheus 指标。使用 thanos-querier 路由从集群外部访问这些数据。

此访问仅支持使用 bearer 令牌进行身份验证。

先决条件

  • 您已按照用户定义的项目启用监控部署了自己的服务。
  • 您可以使用 cluster-monitoring-view 集群角色登录到帐户,它提供访问 Thanos Querier API 的权限。
  • 已登陆到一个有权获取 Thanos Querier API 路由的帐户。

    注意

    如果您的帐户没有权限获取 Thanos Querier API 路由,集群管理员可以提供路由的 URL。

流程

  1. 运行以下命令,提取身份验证令牌以连接到 Prometheus:

    $ TOKEN=$(oc whoami -t)
  2. 运行以下命令,提取 thanos-querier API 路由 URL:

    $ HOST=$(oc -n openshift-monitoring get route thanos-querier -ojsonpath={.status.ingress[].host})
  3. 使用以下命令,将命名空间设置为运行服务的命名空间:

    $ NAMESPACE=ns1
  4. 运行以下命令,在命令行中查询您自己的服务的指标:

    $ curl -H "Authorization: Bearer $TOKEN" -k "https://$HOST/api/v1/query?" --data-urlencode "query=up{namespace='$NAMESPACE'}"

    输出显示 Prometheus 提取的每个应用程序 pod 的状态:

    格式的示例输出

    {
      "status": "success",
      "data": {
        "resultType": "vector",
        "result": [
          {
            "metric": {
              "__name__": "up",
              "endpoint": "web",
              "instance": "10.129.0.46:8080",
              "job": "prometheus-example-app",
              "namespace": "ns1",
              "pod": "prometheus-example-app-68d47c4fb6-jztp2",
              "service": "prometheus-example-app"
            },
            "value": [
              1591881154.748,
              "1"
            ]
          }
        ],
      }
    }

    注意
    • 格式的示例输出使用过滤工具(如 jq )来提供格式化的缩进 JSON。有关使用 jq 的更多信息,请参阅 jq Manual ( jq 文档)。
    • 命令请求 Thanos Querier 服务的即时查询端点,它会一次评估选择器。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.