首页 > 数据库 >Grafana:监控PostgreSQL数据运维新利器

Grafana:监控PostgreSQL数据运维新利器

时间:2024-11-14 13:29:37浏览次数:1  
标签:stat exporter PostgreSQL postgres Grafana 利器 pg statements name

在数据驱动的业务环境中,数据库的性能监控是确保数据流畅和系统稳定的关键。PostgreSQL,作为强大的开源关系型数据库,其性能监控尤为重要。Grafana,一个开源的数据可视化和监控平台,提供了一个直观的界面来监控和分析数据。本文将带您了解如何利用Grafana来监控PostgreSQL,让您的数据库运维工作更加高效。

一、postgres_exporter部署

1、下载postgres_exporter部署包


$ curl -L -O https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz

2、解压并拷贝命令

$ temdir=$(mktemp -d)
$ tar xvf postgres_exporter-0.15.0.linux-amd64.tar.gz -C ${temdir}
$ sudo cp ${temdir}/postgres_exporter-0.15.0.linux-amd64/postgres_exporter /usr/local/bin/

3、启动postgres_exporter服务

$cat <<'EOF' | sudo tee /usr/lib/systemd/system/postgres_exporter.service >> /dev/null
[Unit]
Description=postgres_exporter
Documentation=https://github.com/prometheus-community/postgres_exporter
Wants=network.service
After=network.service

[Service]
Type=simple
User=postgres
Environment=DATA_SOURCE_USER=postgres
Environment=DATA_SOURCE_PASS=123456
Environment=DATA_SOURCE_URI=localhost:5432/postgres?sslmode=disable
ExecStart=/usr/local/bin/postgres_exporter --web.listen-address=:9187 --collector.postmaster --collector.stat_statements
ExecStop=/bin/kill -s SIGTERM $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl enable postgres_exporter.service --now

4、清理文件

$ sudo rm -rf ${temdir}

二、postgresql配置扩展

1、验证是否有编译pg_stat_statements扩展

ls /app/postgresql/lib/pg_stat_statements.so

2、编译pg_stat_statements扩展

$ cd ./postgresql-14.10/contrib/pg_stat_statements/
$ make && sudo make install

3、修改postgresql配置文件

$ grep shared_preload_libraries $PGDATA/postgresql.confshared_preload_libraries = 'pg_stat_statements' # (change requires restart)
$ sudo systemctl restart postgresql

4、验证是否有pg_stat_statements扩展

$ psql -h localhost -p 5432 -U postgres -W -c "select name from pg_available_extensions where name = 'pg_stat_statements';"
Password: 
        name        
--------------------
 pg_stat_statements
(1 row)

5、添加pg_stat_statements扩展

$ psql -h localhost -p 5432 -U postgres -W -c "CREATE EXTENSION pg_stat_statements;"
Password: 

三、Prometheus和grafana配置

1、Prometheus采集postgres数据

$ kubectl -n kube-system edit cm prometheus
    - job_name: "postgres-exporter"
      static_configs:
      - targets:
        - "172.139.20.17:9187"
        - "172.139.20.81:9187"
        - "172.139.20.177:9187"

2、验证是否采集成功

$ curl -s $(kubectl -n kube-system get svc prometheus -ojsonpath='{.spec.clusterIP}:{.spec.ports[0].port}')/prometheus/api/v1/query --data-urlencode 'query=up{job="postgres-exporter"}' 
{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"up","instance":"172.139.20.17:9187","job":"postgres-exporter"},"value":[1731314524.901,"1"]},{"metric":{"__name__":"up","instance":"172.139.20.81:9187","job":"postgres-exporter"},"value":[1731314524.901,"1"]},{"metric":{"__name__":"up","instance":"172.139.20.177:9187","job":"postgres-exporter"},"value":[1731314524.901,"1"]}]}}

3、grafana上添加postgres_exporter dashboard,对应的id为12485

Tip:postgres_exporter dashboard官网地址:(https://grafana.com/grafana/dashboards/12485-postgresql-exporter/),可能会有些坑,需要自行修改json适配各位环境。

效果图

结语

通过本文的介绍,您应该对如何使用Grafana来监控PostgreSQL有了更深入的了解。Grafana不仅提供了强大的数据可视化功能,还通过与Prometheus的集成,为PostgreSQL的性能监控提供了一个全面的解决方案。开始使用Grafana来监控您的PostgreSQL数据库,让您的数据运维工作更加智能和高效。

原创 jiaxzeng Linux运维智行录

标签:stat,exporter,PostgreSQL,postgres,Grafana,利器,pg,statements,name
From: https://www.cnblogs.com/o-O-oO/p/18542884

相关文章

  • 快速上手 KSQL:轻松与数据库交互的利器
    上次我们通过Docker安装了KingbaseES数据库,今天我们将开始学习并快速上手使用KSQL。简单来说,KSQL本质上是一个客户端工具,用于与数据库进行交互。启动后,我们可以像使用普通的SQL一样执行查询和操作,这将是一个很好的练习机会。同时,我们也可以借此机会探索KSQL是否有一些......
  • PostgreSQL 创建相同结构的表
    我们经常会遇到这样的需求,就是我有一个表A,现在表A由于设计的时候存在一些缺陷,我现在需要创建一个相同结构的表B但是不需要表A的数据,只需要保持其原来的表设计即可。有啥快速的方法没有。下面我介绍下几种常见的方法和每种方法的缺点以及最好的方法。方法一:BEGIN;CREA......
  • more Layer Architecture in Python and postgreSQL17.0
    postgreSQLscript:createtableSchool--創建表(SchoolIdchar(5)NOTNULLPRIMARYKEY,SchoolNamevarchar(500)NOTNULLDEFAULT'',SchoolTelNovarchar(8)NULLDEFAULT'');model:#encoding:utf-8#版权所有20......
  • 弹性伸缩:高可用架构利器(架构+算法+思维)
    弹性伸缩:高可用架构利器(架构+算法+思维) 1介绍云计算资源弹性伸缩是一种根据业务需求动态调整计算资源规模的技术。它可以根据系统的性能指标(如CPU使用率、内存占用率、磁盘IO、网卡读写率、请求响应时间等)或者预定义的规则(如时间周期、业务事件等),自动增加或减少计算资源的......
  • 《深度解析 C++中的弱引用(weak reference):打破循环依赖的利器》
    在C++编程的世界里,内存管理一直是一个关键且复杂的话题。而弱引用(weakreference)的出现,为我们处理一些特殊的内存相关问题提供了一种巧妙的方法。今天,我们就来深入了解一下什么是弱引用。一、从引用的基本概念说起我们都知道,在C++中,引用是一种给变量起别名的方式。正常......
  • Prometheus + Grafana 监控平台搭建
    1、下载 prometheus和node_exporter:https://prometheus.io/download/  下载完后上传到服务器解压tar-zxvfprometheus-3.0.0-rc.1.linux-amd64.tar.gztar-zxvfnode_exporter-1.8.2.linux-amd64.tar.gz2、启动node_exporternohup./node_exporter--web.listen-......
  • 中间件全球数据实时同步利器,EventGrid事件流重磅发布
    EventGrid事件流(简称EG)作为易用、稳定、高效的数据同步管道连接不同的系统与服务,支持中间件在线同步和实时同步。事件流围绕云中间件,降低了中间件之间数据流通的复杂性,有效地帮助您减少数据传输的成本。适用于上云、跨云数据搬迁和跨云、跨地域备份容灾等场景,为企业上云和容灾业务......
  • Exadata系列之配置利器OECA
    OracleExadataConfigurationAssistant(OECA)是一款简便的配置工具,用于快速生成Exadata系统的推荐配置方案。它根据用户的需求和负载特点,自动推荐合适的硬件和存储配置,简化配置过程,并确保性能和可扩展性最佳。1.OECA工具下载并准备就绪2.使用OECA配置ExadataX7-2HC八分......
  • 鹧鸪云光伏工程造价软件:企业提效的利器
    在这个数字化时代,各行各业都在寻找更加高效的管理工具。光伏项目不仅需要专业的技术支持,还需要一套完善的工程造价系统来确保其顺利进行。鹧鸪云光伏工程造价系统,是一款节约成本、提升效率的利器,我整理了下它的功能特点,有需要的小伙伴可以了解下。一、气象数据评估通过卫星......
  • PostgreSQL的奥秘:深入探究事务与锁的秘密世界
    PostgreSQL事务1.概述在数据库系统中,事务(Transaction)是执行数据库操作的最小逻辑单位。它确保了一组操作的完整性和一致性。事务可以通过显式的BEGIN、COMMIT和ROLLBACK语句块来控制,也可以在自动提交模式(autocommit)下隐式执行单条语句。在自动提交模式下,每条SQL......