应用运维管理 AOM
应用运维管理 AOM
- 最新动态
- 功能总览
- 产品介绍(2.0)
- 计费说明(2.0)
- 快速入门(2.0)
-
用户指南(2.0)
- 通过IAM授予使用AOM的权限
- 接入AOM
- 接入AOM(新版)
- 可观测指标浏览
- 仪表盘监控
- 告警监控
- 日志管理(新版)
- 日志管理(旧版)
-
Prometheus监控
- Prometheus监控概述
- 管理Prometheus实例
- 管理Prometheus实例指标数据
- 使用Prometheus监控CCE集群指标
- 配置多账号聚合实现指标统一监控
- 配置CCE集群监控采集指标规则
- 配置预聚合规则提升指标查询效率
- 配置数据多写实现监控指标转储到自建Prometheus
- 配置指标存储时长
- 通过仪表盘监控Prometheus实例指标数据
- 配置Remote Read地址实现自建Prometheus读取AOM的Prometheus数据
- 配置Remote Write地址实现自建Prometheus数据上报到AOM
- 通过Grafana查看Prometheus实例数据
- 查看Prometheus实例指标上报量
- 基础设施监控
- 智能洞察(BETA)
- 应用洞察
- 运维管理
- 全局设置
- 查看AOM审计事件
- 迁移AOM 1.0数据至AOM 2.0
- 最佳实践(2.0)
- 常见问题(2.0)
- API参考
- SDK参考
- 产品介绍(1.0)
- 快速入门(1.0)
- 用户指南(1.0)
- 最佳实践(1.0)
-
常见问题(1.0)
- 用户高频问题
- 常见咨询问题
-
常见使用问题
- 没有消息通知服务的访问权限?
- 资源运行异常怎么办?
- 如何设置全屏模式在线时长?
- 日志配额已达到90%或已满怎么办?
- 如何获取AK/SK?
- 如何查询服务不可用时间?
- AOM告警规则状态为什么显示“数据不足”?
- 正常状态的工作负载,AOM界面显示异常是什么原因?
- 如何创建委托apm_admin_trust?
- 如何通过创建委托获取AK/SK?
- 日志费用说明
- 在控制台查看不到日志怎么办?
- 如何处理界面“ICAgent状态”为“离线”的问题?
- 安装了ICAgent,但是监控不到主机是什么原因?
- 安装ICAgent过程中,系统提示“no crontab for root”是什么原因?
- AOM配置日志转储时无法选中obs桶是什么原因?
- Grafana无法展示内容是什么原因?
- 视频帮助(1.0)
-
更多文档
- 用户指南(1.0)(吉隆坡区域)
- 用户指南(2.0)(吉隆坡区域)
- API参考(吉隆坡区域)
- 用户指南(阿布扎比区域)
- API参考(阿布扎比区域)
- 用户指南(安卡拉区域)
- API参考(安卡拉区域)
- 通用参考
链接复制成功!
PostgreSQL Exporter接入
操作场景
使用PostgreSQL过程中需要对PostgreSQL运行状态进行监控,以便了解PostgreSQL服务是否运行正常,及时排查PostgreSQL故障问题原因。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控PostgreSQL运行状态。本文介绍如何部署Exporter以及实现PostgreSQL Exporter告警接入等操作。
前提条件
- CCE服务已拥有CCE集群并已安装PostgreSQL。
- 服务已接入可观测Prometheus监控并接入CCE集群,具体请参见Prometheus实例 for CCE。
- 已将postgres_exporter镜像上传到SWR,具体操作请参见使用容器引擎客户端上传镜像。
PostgreSQL Exporter 部署
- 登录CCE控制台。
- 单击已接入的集群名称,进入该集群的管理页面。
- 执行以下操作完成Exporter部署。
- 使用Secret管理PostgreSQL密码。
在左侧导航栏中选择“工作负载”,在右上角单击“YAML创建”完成YAML配置。YAML配置说明:使用Kubernetes的Secret来管理密码并对密码进行加密处理,在启动PostgreSQL Exporter的时候直接使用Secret Key,需要调整对应的password。
YAML 配置示例如下:
apiVersion: v1 kind: Secret metadata: name: postgres-test type: Opaque stringData: username: postgres password: you-guess #对应 PostgreSQL 密码
- 部署PostgreSQL Exporter。
在左侧导航栏中选择“工作负载”,在右上角单击“YAML创建”,以YAML的方式部署Exporter。
YAML配置示例如下(请直接复制下面的内容,根据实际业务调整相应的参数):
apiVersion: apps/v1 kind: Deployment metadata: name: postgres-test # 根据业务需要调整成对应的名称,建议加上 PG 实例的信息 namespace: default #需要和 postgres 的 service 在同一命名空间 labels: app: postgres app.kubernetes.io/name: postgresql spec: replicas: 1 selector: matchLabels: app: postgres app.kubernetes.io/name: postgresql template: metadata: labels: app: postgres app.kubernetes.io/name: postgresql spec: containers: - name: postgres-exporter image: swr.cn-north-4.myhuaweicloud.com/aom-exporter/postgres-exporter:v0.8.0 # 上传至 SWR 的 postgres-exporter 镜像 args: - "--web.listen-address=:9187" # Exporter 开启的端口 - "--log.level=debug" # 日志级别 env: - name: DATA_SOURCE_USER valueFrom: secretKeyRef: name: postgres-test # 对应上一步中的 Secret 的名称 key: username # 对应上一步中的 Secret Key - name: DATA_SOURCE_PASS valueFrom: secretKeyRef: name: postgres-test # 对应上一步中的 Secret 的名称 key: password # 对应上一步中的 Secret Key - name: DATA_SOURCE_URI value: "x.x.x.x:5432/postgres?sslmode=disable" # 对应的连接信息 ports: - name: http-metrics containerPort: 9187
- 获取指标。
通过“curl http://exporter:9187/metrics”无法获取Postgres实例运行时间,可以通过自定义一个queries.yaml来获取该指标。
- 创建一个包含queries.yaml的配置。
- 将配置作为Volume挂载到Exporter某个目录下。
- 通过extend.query-path来使用配置,将上述的Secret以及Deployment进行汇总,汇总后的YAML如下所示:
# 以下 document 创建一个包含自定义指标的 queries.yaml --- apiVersion: v1 kind: ConfigMap metadata: name: postgres-test-configmap namespace: default data: queries.yaml: | pg_postmaster: query: "SELECT pg_postmaster_start_time as start_time_seconds from pg_postmaster_start_time()" master: true metrics: - start_time_seconds: usage: "GAUGE" description: "Time at which postmaster started" # 以下 document 挂载了 Secret 和 ConfigMap ,定义了部署 Exporter 相关的镜像等参数 --- apiVersion: apps/v1 kind: Deployment metadata: name: postgres-test namespace: default labels: app: postgres app.kubernetes.io/name: postgresql spec: replicas: 1 selector: matchLabels: app: postgres app.kubernetes.io/name: postgresql template: metadata: labels: app: postgres app.kubernetes.io/name: postgresql spec: containers: - name: postgres-exporter image: wrouesnel/postgres_exporter:latest args: - "--web.listen-address=:9187" - "--extend.query-path=/etc/config/queries.yaml" - "--log.level=debug" env: - name: DATA_SOURCE_USER valueFrom: secretKeyRef: name: postgres-test-secret key: username - name: DATA_SOURCE_PASS valueFrom: secretKeyRef: name: postgres-test-secret key: password - name: DATA_SOURCE_URI value: "x.x.x.x:5432/postgres?sslmode=disable" ports: - name: http-metrics containerPort: 9187 volumeMounts: - name: config-volume mountPath: /etc/config volumes: - name: config-volume configMap: name: postgres-test-configmap --- apiVersion: v1 kind: Service metadata: name: postgres spec: type: NodePort selector: app: postgres app.kubernetes.io/name: postgresql ports: - protocol: TCP nodePort: 30433 port: 9187 targetPort: 9187
- 访问地址:
- 使用Secret管理PostgreSQL密码。
添加采集任务
通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。
说明:
如下指标采集的周期是30秒,所以等待大概30秒后才能在AOM的界面上查看到上报的指标。
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: postgres-exporter namespace: default spec: namespaceSelector: matchNames: - default # exporter 所在的命名空间 podMetricsEndpoints: - interval: 30s path: /metrics port: http-metrics selector: matchLabels: app: postgres
验证指标上报到AOM
- 登录AOM 2.0控制台。
- 在左侧菜单栏中选择“Prometheus监控 > 实例列表”。
- 单击接入了该CCE集群的“prometheus for CCE”实例名称,进入实例详情页面。
- 在“指标管理”页面的“指标”页签下,选择对应集群。
- 选择Job:{namespace}/postgres-exporter,可以查询到pg开头的postgresql指标。
父主题: CCE容器场景自建中间件接入