You need to enable JavaScript to run this app.
文档中心
托管 Prometheus

托管 Prometheus

复制全文
下载 pdf
Exporter 接入
PostgreSQL Exporter 接入
复制全文
下载 pdf
PostgreSQL Exporter 接入
托管 Prometheus 服务提供基于 exporter 的方式来监控 PostgreSQL 运行状态,本文为您介绍如何在集群中部署 postgres-exporter,并实现对 PostgreSQL 的监控。
前提条件
  • 托管 Prometheus
  • 已创建托管 Prometheus 工作区,详情请参见 创建工作区
  • 容器服务
  • 已注册并开通火山引擎容器服务(VKE)。
  • 已部署 Grafana 并接入工作区。
配置步骤
步骤一:使用 Secret 配置 PostgreSQL 密码
  1. 单击左侧导航栏中的 集群
  1. 在集群列表页面,单击需要配置的目标集群。
  1. 在集群管理页面的左侧导航栏中,选择 配置管理 > 保密字典,单击 使用 Yaml 创建,配置保密字典。
apiVersion: v1
kind: Secret
metadata:
name: postgres-demo
namespace: volcano-metrics
type: Opaque
stringData:
username: pg-username # 配置 PostgreSQL 的登录用户名
password: pg-password # 配置 PostgreSQL 的登录密码
步骤二:部署 postgres-exporter
  1. 在左侧菜单栏中选择 工作负载 > 无状态负载
  1. 单击 使用 Yaml 创建 ,部署 postgres-exporter。
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres-exporter # 配置 exporter 的名称
namespace: volcano-metrics # 配置 exporter 的命名空间
labels:
app-name: postgres-exporter # 配置 exporter 的标签
spec:
replicas: 1 # 配置 exporter 副本数
selector:
matchLabels:
app-name: postgres-exporter # 根据业务需要调整成对应的名称,建议加上 Redis 实例的信息
template:
metadata:
labels:
app-name: postgres-exporter # 根据业务需要调整成对应的名称,建议加上 Kafka 实例的信息
spec:
containers:
- name: postgres-exporter # 配置容器名称
image: prometheuscommunity/postgres-exporter:latest # 拉取 Docker Hub 中的 exporter 镜像
args:
- "--web.listen-address=:9187"
- "--log.level=debug"
env:
- name: DATA_SOURCE_USER
valueFrom:
secretKeyRef:
name: postgres-demo
key: username
- name: DATA_SOURCE_PASS
valueFrom:
secretKeyRef:
name: postgres-demo
key: password
- name: DATA_SOURCE_URI
value: "x.x.x.x:5432/postgres?sslmode=disable" # 配置 PostgreSQL 的地址和端口号
ports:
- name: metric-port # 配置容器端口名称
containerPort: 9187 # 配置容器端口号
步骤三:配置采集规则
  1. 在左侧菜单栏中选择 工作负载 > 对象浏览器
  1. 单击 使用 Yaml 创建 ,通过 PodMonitor 配置采集规则。
  • 类型 下拉菜单中选择 自定义
  • Yaml 配置框内输入 Yaml 配置。
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: postgres-exporter # 配置 PodMonitor 的名称
namespace: volcano-metrics # 配置 PodMonitor 的命名空间
labels:
volcengine.vmp: "true" # 配置 PodMonitor 的标签,允许被 Prometheus-agent 发现
spec:
podMetricsEndpoints:
- interval: 30s
port: metric-port # 填写 exporter 的容器端口名称
path: /metrics # 填写指标暴露的 URI 路径,不填默认为 /metrics
relabelings: # 配置指标的 relabel。如没有该需求,可省略。
- action: replace
sourceLabels:
- instance
regex: (.*)
targetLabel: instance
replacement: 'postgres-xxxx' # 调整为 postgres 实例的 ID 值
namespaceSelector:
matchNames:
- volcano-metrics # 配置为 exporter 所在的命名空间
selector:
matchLabels:
app-name: postgres-exporter # 配置 exporter 的 Label 值,以定位和选择目标 Pod
结果验证
  1. 执行以下命令,配置 Grafana 端口映射。
kubectl port-forward service/grafana 3000:3000 -n volcano-metrics
  1. 在本地环境(Linux/Mac)中打开浏览器,在地址栏中输入 localhost:3000,进入 Grafana 登录界面,使用默认用户名admin密码admin登录。
  • alt
  1. 创建大盘,即可查看 PostSQL 指标信息。
说明
postgres-exporter 的详细参数,请参见 postgres-exporter
最近更新时间:2025.09.03 15:13:01
这个页面对您有帮助吗?
有用
有用
无用
无用