首页 > 数据库 >zabbix5.0监控postgresql13.6

zabbix5.0监控postgresql13.6

时间:2023-12-22 15:45:17浏览次数:45  
标签:postgresql13.6 postgresql conf zabbix5.0 db pgsql zabbix 监控 sql

环境描述

  • zabbix版本:5.0.12
  • PG版本:13.6

监控需求

  • 监控postgresql运行情况(非核心业务,主要监控挂没挂)
  • 监控流复制运行情况

如有异常,则告警

具体步骤

  1. 在postgresql上创建监控用户, 授权, 并配置pg_hba.conf 文件允许通过该用户去访问
  2. 到zabbix的网站上下载监控脚本
  3. 将脚本部署在postgresql数据库服务器中,并根据实际情况调整zabbix agent脚本
  4. zabbix server中导入模板(步骤2中里的文件有)
  5. 将模板关联到被监控的主机(postgresql数据库服务器)
  6. 重启zabbix agent

实际操作

(1)数据库中创建监控用户, 并配置`pg_hba.conf`

postgres=# CREATE USER zbx_monitor WITH PASSWORD 'zbx_8643' INHERIT;
CREATE ROLE
postgres=# GRANT pg_monitor TO zbx_monitor;
GRANT ROLE
$ vim pg_hba.conf 
local   all             all                                     trust
host    all             all             127.0.0.1/32            trust

(2)到https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql?at=refs%2Ftags%2F5.0.12 下载软件下来(只要templates/db/postgresql)

# ls -alrt
total 184
-rw-r--r--  1 root root 142049 May 24  2021 template_db_postgresql.xml			# 模板文件,用于导入zabbix server
-rw-r--r--  1 root root   3109 May 24  2021 template_db_postgresql.conf			# zabbix agent配置文件
-rw-r--r--  1 root root  33964 May 24  2021 README.md                           # 本文所参考的文档
drwxr-xr-x  2 root root   4096 May 24  2021 postgresql							# zabbix agent主要的执行脚本

(3)我这里的zabbix_agent是通过yum安装的,配置文件路径在/etc/zabbix

# tree -L 2 /etc/zabbix/
.
├── postgresql			# 这个是上面的postgresql文件夹, 我放在了这里,后面的conf需要对应修改
│   ├── pgsql.bgwriter.sql
│   ├── pgsql.cache.hit.sql
│   ├── pgsql.config.hash.sql
│   ├── pgsql.connections.prepared.sql
│   ├── pgsql.connections.sql
│   ├── pgsql.connections.sum.sql
│   ├── pgsql.dbstat.sql
│   ├── pgsql.dbstat.sum.sql
│   ├── pgsql.discovery.db.sql
│   ├── pgsql.frozenxid.sql
│   ├── pgsql.locks.sql
│   ├── pgsql.ping.time.sql
│   ├── pgsql.query.time.sql
│   ├── pgsql.replication.lag.sql
│   ├── pgsql.replication.recovery_role.sql
│   ├── pgsql.replication.status.sql
│   ├── pgsql.scans.sql
│   ├── pgsql.transactions.sql
│   ├── pgsql.uptime.sql
│   └── pgsql.wal.stat.sql
├── server_info
├── zabbix_agentd.conf
├── zabbix_agentd.d
│   ├── server_info.conf
│   └── template_db_postgresql.conf		# conf放在了这里
└── zabbix_agentd.log
将template_db_postgresql.conf 放在zabbix_agentd.d 下, 
# cat template_db_postgresql.conf  | more 
UserParameter=pgsql.bgwriter[*], psql -qtAX -h "$1" -p "$2" -U "$3" -d "$4" -f "/var/lib/zabbix/postgresql/pgsql.bgwriter.sql"

UserParameter=pgsql.connections.sum[*], psql -qtAX -h "$1" -p "$2" -U "$3" -d "$4" -f "/var/lib/zabbix/postgresql/pgsql.connections.sum.sql"
这里可以看到调用的脚本目录是/var/lib/zabbix/postgresql, 我这里想要把步骤2的postgresql放在/etc/zabbix/下,因此需要修改一下这个配置文件。
# cd /etc/zabbix/zabbix_agentd.d/
# sed -i 's#/var/lib/zabbix#/etc/zabbix#g' template_db_postgresql.conf
另外,template_db_postgresql.conf里是通过psql去执行的, 我这里是源码安装的postgresql ,并且zabbix user 是nologin, 我不想改zabbix的环境变量,因此这里需要改成绝对路径,否则将会报错“psql command not found”
改完后的文件大体如下:
# cat template_db_postgresql.conf  | more 
UserParameter=pgsql.bgwriter[*], /postgresql/pg13/bin/psql -qtAX -h "$1" -p "$2" -U "$3" -d "$4" -f "/etc/zabbix/postgresql/pgsql.bgwriter.sql"
# chown -R zabbix.zabbix /etc/zabbix

(4)将template_db_postgresql.xml 导入zabbix server中。略

(5)将模板关联到被监控主机。模板名称为`Template DB PostgreSQL`。略
可以看到已经正常工作,如果报错的话,到item那里看具体报什么错。
image

(6)重启zabbix-agent

# systemctl restart zabbix-agent.service 

观察监控是否正常。步骤3如果不配置好路径,可能会报找不到psql,如下图所示:
image

也可以修改模板,去掉一些自己觉得不需要的监控指标。

标签:postgresql13.6,postgresql,conf,zabbix5.0,db,pgsql,zabbix,监控,sql
From: https://www.cnblogs.com/doctormo/p/17921732.html

相关文章

  • 我对线上质量监控大盘的思考
    前面几篇文章分享了生产环境质量保障面临的四大挑战,也聊了线上巡检的落地注意事项,线上巡检是生产环境质量保障的手段之一,其他手段还有配置变更验证、应急响应和质量度量评估。质量是定性的概念,但评估质量到底如何一定是需要定量度量的,否则无法进行持续的改进优化。这篇文章,分享......
  • jmeter +prometheus+grafana做性能测试监控
    1,环境搭建--->mac系统打开终端terminal,复制并粘贴以下命令:/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)然后按回车brew-version查看版本 2,安装prometheus方法一:brewinstallprometheus 安装完毕后,通过pwd查看......
  • 农牧业远程运维联网监控预警系统解决方案
    当前,我国农牧业稳步发展,产业结构不断调整、优化,许多企业力图实现生产管理水平的标准化、数字化、信息化的转型升级。对正在转型升级的企业而言,不仅生产要变得高效,管理运营也要更加智慧。通过物联网、云计算、大数据、5G、人工智能等技术,着力在制造业数字化、生产运维数字化等方面,持......
  • MySQL监控
    #My日常监控及sys库的使用##一、统计信息(维度)1、统计执行次数最多的语句:SELECTDIGEST_TEXT,COUNT_STAR,FIRST_SEEN,LAST_SEENFROM`performance_schema`.events_statements_summary_by_digestORDERBYCOUNT_STARDESC;2、查看平均响应时间最多的语句:SELECTDIGEST_TEXT,AVG_T......
  • 内蒙古某市财政提升IT基础监控运维案例剖析
    随着信息化建设的不断推进,内蒙古某市财政局的网络及运维管理面临着越来越多的挑战。为了解决这些问题,该财政局引入了监控易管理平台7.0,从而提升了IT基础监控的运行效率。一、现状与挑战随着财政局信息化的不断推进,其网络及运维管理面临着诸多问题。首先,该财政局的网络架构复杂,设备......
  • Qt/C++视频监控Onvif工具/组播搜索/显示监控画面/图片参数调节/OSD管理/祖传原创
    一、前言能够写出简单易用而又不失功能强大的组件,一直是我的追求,简单主要体现在易用性,不能搞一些繁琐的流程和一些极难使用的API接口,或者一些看不懂的很难以理解的函数名称,一定是要越简单越好。功能强大主要体现在功能的完整性,常规的接口肯定是必备的,然后在默认值方面,尽量将值设......
  • MySQL运维14-管理及监控工具Mycat-web的安装配置
    一、Mycat-web介绍Mycat-web(现改名为Mycat-eye)是对Mycat-server提供监控服务,通过JDBC连接对Mycat,MySQL监控,监控远程服务器的cpu,内存,网络,磁盘等情况的使用。Mycat-web运行过程中需要依赖zookeeper,因此需要先安装zookeeper,下载地址如下:zookeeper:链接: https://pa......
  • 搭建springcloud注册中心eureka以及admin监控
    现在springcloud微服务是当下盛行的主流框架,我们可以通过eureka实现服务监控和预警。接下来是项目搭建的主要步骤一、搭建eureka-server注册中心注意点有三个,分别是1.pom导入依赖(下面是完整的pom文件):springboot、eureka-server、springcloud<?xmlversion="1.0"encoding="UTF-......
  • python钉钉机器人运维脚本监控实例
    面是关于“Python钉钉机器人运维脚本监控实例”的完整攻略:目录介绍使用步骤配置机器人运行脚本示例说明监控服务器CPU使用率监控服务器磁盘空间总结介绍钉钉机器人是钉钉提供的一种形式化的通信渠道,可以通过代码来调用钉钉机器人的API,实现以机器人的形式向钉钉群组......
  • 可视化云平台EasyCVR远程视频监控技术在冬季电力巡检工作中的应用
    随着冬季的到来,电力巡检工作变得越来越重要。在这个寒潮天气频发的季节里,电力设备容易受到冰雪、寒风等自然因素的影响,导致故障和安全隐患,影响正常供电。为了确保电力设备的正常运行,电力公司需要加强巡检工作,及时发现和解决问题。在这个背景下,视频监控技术在冬季电力巡检工作中发......