4.2. 指定 Cluster Observability Operator 如何监控服务


要使用您在 "Deploying a sample service for Cluster Observability Operator" 部分创建的样本服务公开的指标,您必须将监控组件配置为从 /metrics 端点中提取指标。

您可以使用一个 ServiceMonitor 对象来创建此配置,指定如何监控该服务,或指定如何监控 pod 的 PodMonitor 对象。ServiceMonitor 对象需要一个 Service 对象。PodMonitor 对象不需要,它允许 MonitoringStack 对象直接从 Pod 公开的指标端点中提取指标。

此流程演示了如何在 ns1-coo 命名空间中为名为 prometheus-coo-example-app 的示例服务创建 ServiceMonitor 对象。

先决条件

  • 您可以使用具有 cluster-admin 集群角色或具有命名空间管理权限的用户身份访问集群。
  • 已安装 Cluster Observability Operator。
  • 您已在 ns1-coo 命名空间中部署了 prometheus-coo-example-app 示例服务。

    注意

    prometheus-coo-example-app 示例服务不支持 TLS 身份验证。

流程

  1. 创建名为 example-coo-app-service-monitor.yaml 的 YAML 文件,其中包含以下 ServiceMonitor 对象配置详情:

    apiVersion: monitoring.rhobs/v1
    kind: ServiceMonitor
    metadata:
      labels:
        k8s-app: prometheus-coo-example-monitor
      name: prometheus-coo-example-monitor
      namespace: ns1-coo
    spec:
      endpoints:
      - interval: 30s
        port: web
        scheme: http
      selector:
        matchLabels:
          app: prometheus-coo-example-app

    此配置定义 MonitoringStack 对象将引用的 ServiceMonitor 对象,以提取由 prometheus-coo-example-app 示例服务公开的指标数据。

  2. 运行以下命令,将配置应用到集群:

    $ oc apply -f example-coo-app-service-monitor.yaml
  3. 运行以下命令并验证 ServiceMonitor 资源是否已创建并观察输出:

    $ oc -n ns1-coo get servicemonitors.monitoring.rhobs

    输出示例

    NAME                         AGE
    prometheus-coo-example-monitor   81m

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.