postgresql云原生监控如何集成_prometheus监控postgresql方案


通过部署postgres_exporter采集PostgreSQL指标,结合Prometheus抓取数据并使用Grafana可视化,实现云原生环境下PostgreSQL的高效监控。1. 创建专用监控用户并授予权限;2. 部署postgres_exporter容器暴露:9187/metrics;3. 配置Prometheus通过ServiceMonitor或静态配置抓取指标;4. 在Grafana导入官方Dashboard(如ID 9628)展示连接数、慢查询、WAL速率等关键指标,并基于PromQL设置告警规则,保障数据库可观测性。

postgresql云原生监控如何集成_prometheus监控postgresql方案

PostgreSQL 在云原生环境中运行时,通常以容器化方式部署在 Kubernetes 上。为了实现对 PostgreSQL 的高效、实时监控,集成 Prometheus 是一种主流且成熟的做法。以下是完整的 Prometheus 监控 PostgreSQL 的集成方案。

1. 使用 Prometheus Exporter 采集 PostgreSQL 指标

Prometheus 本身不能直接抓取 PostgreSQL 的内部状态,需要借助 postgres_exporter(也叫 prometheus-postgres-exporter)作为中间代理,将 PostgreSQL 的性能指标暴露为 Prometheus 可读的格式。

关键步骤:

  • 在 PostgreSQL 实例中创建专用监控用户并授权:
CREATE USER postgres_exporter WITH PASSWORD 'your_secure_password';
ALTER USER postgres_exporter SET SEARCH_PATH TO postgres_exporter,pg_catalog;
CREATE SCHEMA IF NOT EXISTS postgres_exporter;
GRANT USAGE ON SCHEMA pg_catalog TO postgres_exporter;
GRANT SELECT ON pg_stat_database TO postgres_exporter;
-- 更多权限可参考官方推荐 SQL 脚本
  • 下载或使用官方镜像 wrouesnel/postgres_exporter 启动 exporter 服务。
  • 配置环境变量连接数据库:
export DATA_SOURCE_NAME="postgresql://postgres_exporter:password@localhost:5432/postgres?sslmode=disable"
  • 启动后,默认在 :9187/metrics 暴露指标,如:
pg_up{datname="postgres"} 1
pg_stat_database_numbackends{datname="postgres"} 3
pg_longest_query_time_seconds 12.4

2. 在 Kubernetes 中部署 Postgres 和 Exporter

若使用云原生架构,建议将 PostgreSQL(如通过 Crunchy Data Operator 或 Zalando Postgres Operator 部署)与 exporter 一同部署。

部署方式示例(Sidecar 模式或独立 Deployment):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: postgres-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: postgres-exporter
  template:
    metadata:
      labels:
        app: postgres-exporter
    spec:
      containers:
      - name: postgres-exporter
        image: wrouesnel/postgres_exporter:v0.14.0
        env:
        - name: DATA_SOURCE_URI
          value: "postgres-service:5432/postgres?sslmode=disable"
        - name: DATA_SOURCE_USER
          value: "postgres_exporter"
        - name: DATA_SOURCE_PASS
          valueFrom:
            secretKeyRef:
              name: postgres-exporter-secret
              key: password
        ports:
        - containerPort: 9187
---
apiVersion: v1
kind: Service
metadata:
  name: postgres-exporter
  annotations:
    prometheus.io/scrape: "true"
    prometheus.io/port: "9187"
spec:
  selector:
    app: postgres-exporter
  ports:
    - name: metrics
      port: 9187
      targetPort: 9187

3. 配置 Prometheus 抓取指标

Explainpaper Explainpaper

阅读学术论文的更好方法,你的学术论文阅读助手。

Explainpaper 89 查看详情 Explainpaper

确保 Prometheus 能发现并抓取 exporter 暴露的端点。

在 Prometheus 配置中添加 job:

scrape_configs:
  - job_name: 'postgres'
    static_configs:
      - targets: ['postgres-exporter:9187']

如果使用 Prometheus Operator 和 ServiceMonitor:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: postgres-exporter-monitor
  labels:
    release: prometheus-stack  # 与 Prometheus 实例的 selector 匹配
spec:
  selector:
    matchLabels:
      app: postgres-exporter
  endpoints:
  - port: metrics
    interval: 30s

4. 使用 Grafana 展示监控面板

导入官方推荐的 Grafana Dashboard(如 ID: 962817495),可视化以下关键指标:

  • 数据库连接数(pg_stat_database_numbackends
  • 事务提交/回滚率
  • 慢查询趋势
  • 表膨胀与死元组数量
  • WAL 日志生成速率
  • 缓存命中率(blks_hit / (blks_hit + blks_read)

可通过自定义 PromQL 查询构建告警规则,例如:

- alert: HighConnectionUsage
  expr: rate(pg_stat_database_xact_commit[5m]) > 1000
  for: 5m
  labels:
    severity: warning
  annotations:
    summary: "PostgreSQL 提交事务过高"

基本上就这些。整个流程在云原生环境下稳定可靠,结合 Kubernetes 的弹性与 Prometheus 的生态,能有效保障 PostgreSQL 服务的可观测性。

以上就是postgresql云原生监控如何集成_prometheus监控postgresql方案的详细内容,更多请关注其它相关文章!


# app  # 社交营销推广算不算传销  # 丽水网络营销的推广方式  # 建筑劳务东莞网站建设  # 网络营销推广咨询热线  # 餐饮公司网站建设流程  # 私域网站建设公司  # 宿迁推广营销  # 嘉兴seo实战  # 可通过  # 过高  # 镜像  # 解决问题  # 自定义  # 中文网  # 相关文章  # 是一种  # 连接数  # 服务端  # igs  # kubernetes  # 环境变量  # ai  # ssl  # word  # 嘉善营销推广开发  # 京东网站seo优化 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 手机雨课堂网页版入口免登录 雨课堂网页版可点击直接进入  空腹吃苹果好吗 苹果空腹摄入指南  抖音手机分身两个账号怎么切换?分身两个系统是一样的吗?  使用VS Code调试Python代码:从入门到精通  excel怎么计算平均值 excel平均函数*ERAGE使用教学  风神瞳获取全攻略  折叠屏手机充不进电是什么问题? 特殊结构带来的维修难点  C++中的explicit关键字有什么作用_C++类型转换控制与explicit使用  大众点评了却看不到是怎么回事  tiktok国际版入口_tiktok官网网页版链接  性能与资源监视器快捷打开  sublime怎么快速在浏览器中预览HTML_sublime配置View in Browser教程  《海贝音乐》均衡器设置方法  《海底捞》点外卖方法  Go语言反射机制:如何访问被嵌入结构体遮蔽的方法  使用Python和NLTK从文本中高效提取名词的实用教程  Go语言中方法接收器的选择:值类型还是指针类型?  优化长HTML属性值:SonarQube警告与实用策略  蛙漫2(台版)正版官网 2025免费网页版分享  PPT智能排版生成入口 免费PPT内容自动生成平台  《暗黑破坏神4》国服回归送狂欢礼包 价值6916元  厨房地面防滑垫的油污怎么洗? 机洗和手洗防滑垫的注意事项  智学网app怎么登录忘记密码_智学网app忘记密码找回与重新登录操作方法  抄漫画官网防走失地址_抄漫画最新漫画完整版阅读入口  mysql中外键约束如何使用_mysql FOREIGN KEY操作  百度浏览器无法安装扩展程序_百度浏览器插件安装失败原因解析  实时数据流中高效查找最小值与最大值  mysql通配符能用于日志查询吗_mysql通配符在系统日志查询中的实际使用方法  如何使用 Optional 类型并满足 Pylint 的类型检查  如何外贸网站设计-能留住客户提升用户体验!  Python定时发送QQ消息  qq邮箱格式填写示例 qq邮箱标准填写规范  百度识图图像分析 百度识图识别平台  《宝可梦大集结》S4冠军之路开始时间介绍  冬季去哪个城市旅游更有可能观测到极光  search中maxlength属性用法解析  蜻蜓FM如何设置移动流量播放  腾讯QQ邮箱官方入口 QQ邮箱网页版登录平台  iPhone 15 Pro如何查看存储空间占用_iPhone 15 Pro存储空间查看教程  店铺如何做视频号推广?做视频号推广有用吗?  谷歌浏览器官方镜像获取方法_谷歌浏览器网页版入口极速直达  德邦快递会员怎么开通  Python中对象引用与链表属性赋值的机制解析  疯狂小鸟微信小游戏入口 疯狂小鸟网页版秒玩  获取WooCommerce产品在后台编辑页面的分类ID  PHP中获取HTTP响应状态消息:方法与限制  J*aScript中高效处理用户输入:从Keyup事件到表单提交的优化实践  c++20的指定初始化(Designated Initializers)怎么用_c++ C风格结构体初始化  C++如何使用CMake构建项目_C++ CMakeLists.txt编写入门教程  在Flask应用中安全高效地更新SQLAlchemy用户数据 

 2025-12-02

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.