Zabbix 通过shell脚本监控PostgreSQL

Zabbix 6.2 监控 PostgreSQL13 数据库 如果 Zabbix agent 和 PostgreSQL 在不同机器,需要配置密码文件,需要创建.pgpass 文件,并存放在 zabbix 用户的家目录下。添加 UserParameter 文件到 Agent 的 zabbix_agentd.d 目录(根据实际情况修改)修改 zabbix_agentd.conf 文件,确保 UserParameter 被加载。Postgresql 监控 SQL 文件。下载脚本和模版、监控conf文件。重启 Zabbix Agent。 阅读详情

        PostgreSQL是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSQL可以运行在所有主流操作系统上,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS X、Solaris和Tru64)和Windows。PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。它支持了大多数的SQL:2008标准的数据类型,包括整型、数值值、布尔型、字节型、字符型、日期型、时间间隔型和时间型,它也支持存储二进制的大对像,包括图片、声音和视频。PostgreSQL对很多高级开发语言有原生的编程接口,如C/C++、Java、.Net、Perl、Python、Ruby、Tcl 和ODBC以及其他语言等,也包含各种文档。

安装(略)

参考:

         https://www.cnblogs.com/qiyebao/p/4562557.html

授权:

CREATE ROLE zabbix WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE;

GRANT CONNECT ON DATABASE test TO zabbix;

alter user zabbix with password 'zabbix';

编辑zabbix客户端配置文件,添加监控项
[root@localhost zabbix]# vim /etc/zabbix/zabbix_agentd.conf
[root@localhost zabbix]# systemctl restart zabbix-agent

UserParameter=pg_chk[*],/etc/zabbix/chk_pg.sh $1 $2

[root@localhost zabbix]# more chk_pg.sh

#shell 参数说明:

  • $1--->'totalsize')
  • $2--->数据库名

#!/bin/bash
# by dwh 2018.6.21
case $1 in
'totalsize')
psql -h localhost -U zabbix -p 5432 test -t -c "select sum(pg_database_size(datid)) as total_size from pg_stat_database"
;;

'db_cache')
db_ca=`psql -h localhost -U zabbix -p 5432 test -t -c "select cast(blks_hit/(blks_read+blks_hit+0.000001)*100.0 as numeric(5,2)) as cache from pg_stat_database where datname
= '$2'"`
if [[ "$db_ca" == 0 ]];then
echo 0
else 
echo $db_ca
fi
;;

'db_success')
db_su=`psql -h localhost -U zabbix -p 5432 test -t -c "select cast(xact_commit/(xact_rollback+xact_commit+0.000001)*100.0 as numeric(5,2)) as success from pg_stat_database w
here datname = '$2'"`
if [[ "$db_su" == 0 ]];then
echo 0
else 
echo $db_su
fi
;;

'server_processes')
server_p=`psql -h localhost -U zabbix -p 5432 test -t -c "select sum(numbackends) from pg_stat_database"`
if [[ $server_p -eq 0 ]];then
echo 0
else 
echo $server_p
fi
;;

'tx_commited')
tx_c=`psql -h localhost -U zabbix -p 5432 test -t -c "select sum(xact_commit) from pg_stat_database"`
if [[ $tx_c -eq 0 ]];then
echo 0
else 
echo $tx_c
fi
;;

'tx_rolledback')
tx_r=`psql -h localhost -U zabbix -p 5432 test -t -c "select sum(xact_rollback) from pg_stat_database"`
if [[ $tx_r -eq 0 ]];then
echo 0
else 
echo $tx_r
fi
;;

'db_size')
db_s=`psql -h localhost -U zabbix -p 5432 test -t -c "select pg_database_size('$2')"` #as size"
if [[ $db_s -eq 0 ]];then
echo 0
else 
echo $db_s
fi
;;

'db_connections')
db_c=`psql -h localhost -U zabbix -p 5432 test -t -c "select numbackends from pg_stat_database where datname = '$2'"`
if [[ $db_c -eq 0 ]];then
echo 0
else 
echo $db_c
fi
;;

'db_returned')
db_r=`psql -h localhost -U zabbix -p 5432 test -t -c "select tup_returned from pg_stat_database where datname = '$2'"`
if [[ $db_r -eq 0 ]];then
echo 0
else 
echo $db_r
fi
;;

'db_fetched')
db_f=`psql -h localhost -U zabbix -p 5432 test -t -c "select tup_fetched from pg_stat_database where datname = '$2'"`
if [[ $db_f -eq 0 ]];then
echo 0
else 
echo $db_f
fi
;;

'db_inserted')
db_i=`psql -h localhost -U zabbix -p 5432 test -t -c "select tup_inserted from pg_stat_database where datname = '$2'"`
if [[ $db_i -eq 0 ]];then
echo 0
else 
echo $db_i
fi
;;

'db_updated')
db_u=`psql -h localhost -U zabbix -p 5432 test -t -c "select tup_updated from pg_stat_database where datname = '$2'"`
if [[ $db_u -eq 0 ]];then
echo 0
else 
echo $db_u
fi
;;

'db_deleted')
db_d=`psql -h localhost -U zabbix -p 5432 test -t -c "select tup_deleted from pg_stat_database where datname = '$2'"`
if [[ $db_d -eq 0 ]];then
echo 0
else 
echo $db_d
fi
;;

'db_commited')
db_co=`psql -h localhost -U zabbix -p 5432 test -t -c "select xact_commit from pg_stat_database where datname = '$2'"`
if [[ $db_co -eq 0 ]];then
echo 0
else 
echo $db_co
fi
;;

'db_rolled')
db_ro=`psql -h localhost -U zabbix -p 5432 test -t -c "select xact_rollback from pg_stat_database where datname = '$2'"`
if [[ $db_ro -eq 0 ]];then
echo 0
else 
echo $db_ro
fi
;;

'version')
# psql -h localhost -U zabbix -p 5432 test -t -c "select version()"
psql --version|head -n1 |awk -F " " '{print $3}'
;;
esac

进行监控:

模版下载:https://download.youkuaiyun.com/download/abel_dwh/10509978

监控结果展示:


Zabbix 7.0下postgresql 16.6数据库监控配置 localectl set-locale zh_CN.utf8 #根据上条命令里显示的中文字符集的utf8设置。然后,回到浏览器,重新打开zabbix,在用户设置里,就可以看到里面的语言,中文选项就可以选择了。1、设置主机名称、选择模板:PostgreSQL by Zabbix agent2,选择主机群组。文件选择打开--选中zabbix-appliance-7.0.12.vmx文件,加载虚拟机。# cat /etc/locale.conf #这条同上,也可以看到区域。 阅读详情

相关推荐

zabbix监控postgresql

Agent的默认端口。Zabbix-Get 是用于Zabbix-Server和Zabbix-Agent的数据获取,通常可以用来检测验证Agent的配置是否正确。

2401_84263114的博客 1127

云原生丨手把手教你使用zabbix监控postgresql数据库(超详细讲解)

保姆级纯享技术干货,手把手教你实现!

在数字化道路无限探索 4029

Ubuntu 20.04 部署 Zabbix 6.0 安全监控基线实践

Zabbix 是一款成熟稳定的开源监控系统,其核心价值不仅在于基础资源指标采集,更在于构建主动式安全可观测体系。它通过主动模式通信、TLS 加密传输、细粒度权限控制与实时行为触发器等机制,实现对服务器性能、异常登录、配置变更等安全事件的分钟级感知与响应。结合 Ubuntu 20.04 LTS 的长期支持特性与内核稳定性,该组合成为满足等保2.0、金融合规及 DevOps 可观测性需求的高性价比基线方案。本文聚焦 Zabbix 6.0 在 Ubuntu 20.04 上的生产级安全部署,涵盖 PostgreSQ

weixin_30385925的博客 493

ubuntu 16.04 + zabbix 3.4 + postgresql shell

os: ubuntu 16.04 zabbix: 3.4 ip 规划 192.168.56.101 node1 pgsql 9.6 master 192.168.56.102 node2 pgsql 9.6 slave 192.168.56.103 node3 zabbix proxy 192.168.56.104 node4 zabbix server 本篇blog介绍...

一名数据库爱好者的专栏 480

运维新手入门实战:从Linux、Nginx、MySQL到Docker与Zabbix监控

1. 从零开始,先搞清楚运维到底要做什么 如果你刚接触运维,或者想从开发、网管转行过来,最该弄明白的不是先学哪个命令,而是 运维工程师到底在解决什么问题 。很多人一上来就扎进 Linux 命令、Docker、K8s 的细节里,学了半天还是不知道这些东西在真实环境里怎么串起来用。 简单说,运维的核心目标是 保障线上服务的稳定、高效、安全运行 。这听起来很虚,但落到具体工作上,就是三件事: 部署、监控、排障 。你学的所有技术,都是为这三件事服务的。 部署 :把开发写好的代码、配置、数据库,放到服务器上跑起来。从

weixin_30800807的博客 479

Ubuntu 20.04 下用 Zabbix 深度监控 Docker 容器实战

Docker 容器监控本质是将运行时黑盒转化为可观测服务单元,其核心在于突破 docker ps 和 docker stats 的表层指标限制,深入进程级、组件级(如 InnoDB buffer pool、Nginx worker)和资源子系统(cgroup v2、/proc)维度采集。Zabbix 凭借 Agent 架构优势,支持在 Ubuntu 20.04 等传统 Linux 发行版上实现低延迟、高权限可控的本地化采集,并通过 UserParameter 机制安全桥接 Docker Socket 权限与

weixin_33922670的博客 510

阿里云centos7监控postgres9.6.6

1. 安装libzbxpgsql 下载地址https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7.5-x86_64/ 安装libzbxpgsql wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7.5-x86_64/pgdg-centos...

qq_40907977的博客 313

ZABBIX自动化安装脚本:多版本多系统一键部署指南

在IT基础设施运维中,监控平台是保障系统稳定性的关键一环。Zabbix作为开源监控领域的标杆工具,其部署过程却常因操作系统差异、依赖版本冲突、数据库初始化繁琐等问题而变得复杂。自动化运维的核心思想,就是通过脚本将重复性、易错的人工操作固化为标准流程。本文从自动化部署的原理出发,讲解如何通过一个设计良好的Shell脚本,实现Zabbix在CentOS、Rocky Linux、Ubuntu等主流Linux发行版上的快速安装,同时兼容Zabbix 6.0与7.0两大版本。该脚本自动识别系统环境、配置官方仓库、安装

weixin_28836989的博客 267

pg_monz 项目推荐

pg_monz 项目推荐 1. 项目基础介绍和主要编程语言 pg_monz 是一个用于 PostgreSQL 数据库的 Zabbix 监控模板项目。该项目的主要目的是通过 Zabbix 监控系统,对 PostgreSQL 数据库进行全面的监控,包括死活监控、资源监控和性能监控等。pg_monz 项目主要使用 Shell 脚本语言进行开发,同时也涉及到一些 PostgreSQL 和 Zabbix 的...

gitblog_00029的博客 706

ZabbixDBA:Zabbix数据库监视服务(Oracle,Pg,MySQL,MS SQL,DB2等)

ZabbixDBA:Zabbix数据库监视服务(Oracle,Pg,MySQL,MS SQL,DB2等)

MOOS-ivp 实验一 MOOS软件的安装与执行

MOOS-ivp实验一 实验一步骤总结 文章目录MOOS-ivp实验一前言一、实验一1.下载软件2.安装必要的插件3.安装后检查4.路径添加5.执行示例文件总结 前言 在moos学习过程中,我觉得最好把学习的每一步骤都总结一下,方便日后进行回顾。moos官网设置了十八个实验,涉及到了moos的各个方面,完成这些实验也是moos入门的好办法。 一、实验一 实验一主要内容仅仅是软件的安装,仅仅这一步就花费了我接近两天的时间。主要问题发生在linux系统的配置问题上。 1.下载软件 svn co https:

weixin_44151170的博客 6669

金仓数据库监控脚本结合ZABBIX

本文介绍基于Shell脚本与Zabbix构建金仓数据库监控方案,针对Zabbix无原生支持问题,自定义采集脚本实现连接数、缓存命中率、复制延迟、事务锁等待等核心指标监控,并通过JSON格式输出适配Zabbix JSONPath与低级发现(LLD),支持按库聚合及高危表识别,提升数据库可观测性与运维效率。

Mrzhou的博客 111

博图Advanced实战:VB脚本实现HMI画面智能弹出(附完整代码解析)

本文详细介绍了在西门子博图Advanced平台中利用VB脚本实现HMI画面智能弹出的实战方法。通过动态计算坐标、分辨率自适应方案和完整代码解析,帮助工程师解决不同显示环境下的定位难题,提升工业自动化界面的交互体验。

weixin_29041767的博客 343

最全阿里云centos7监控postgres9(1),软件测试面试题10道

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化的资料的朋友,可以戳这里获取一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长! zabbix | zabbix | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (7 rows)wiseucmsg=

2301_82242990的博客 449

AIGC大模型应用教学平台

该平台采用最新的AI推理加速芯片,提供30Tops算力和32GB存储,能够运行常见的大语言模型如ChatGLM2、Llama2、Baicuan、Mistral等,也可以运行文生图扩散模型Stable Diffusion,提供大模型微调、量化、转换和加速推理服务。在此基础上,平台还提供常见的生成式AI应用,包括AIGC知识抽取增强(RAG)、AIGC绘画、AIGC会话聊天、数字虚拟人等应用,以便学生能够掌握最新的生成式AI模型微调、提示工程和智能体应用技能。

中智讯的博客 1207

置顶必读(1) |《滚雪球学SpringBoot 3.x》· 高质量专栏介绍,你值得拥有!

《滚雪球学SpringBoot 3.x》 并不是普通的技术讲解合集,它是专为开发者精心设计的系统化学习路径。通过不断“滚动学习”,我们将带领你从基础入门到高阶应用,从理解每一行代码到设计和优化大规模分布式系统,最终帮助你成长为一位精通 spring架构 的工程师。

**My Coding Family** 12万+

2024年阿里云centos7监控postgres9,2024年软件测试常见面试题

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新需要这份系统化的资料的朋友,可以戳这里获取[root@localhost ~]# find / -name libzbxpgsql.so /usr/lib64/zabbix/modules/libzbxpgsql.so /usr/local/zabbix/

2401_84563354的博客 288

Python 爬虫实战:就业市场趋势数据抓取与行业洞察

在当今竞争激烈的就业市场中,了解行业趋势和就业形势对于求职者、学生以及人力资源专业人士来说至关重要。通过获取和分析就业市场数据,我们可以深入了解不同行业的招聘需求、薪资水平、技能要求等关键信息,从而为职业规划和人才发展提供有力支持。

yansideyucsdn的博客 1406

zabbix监控postgreSQL最简单方式(成功应用)

zabbix监控postgreSQL

akqjxx的专栏 3766

一文学会python基础知识

1. python 运行环境 1.1 脚本式环境 1.2 交互式环境 2. python 注释 3. 变量及变量命名 4. 关键词 BIFS 5. 标准操作符 6. 条件判断 7. 循环 8. python 数据类型 9. python 序列 9.1 序列-字符串(str) 9.2 序列-列表 9.3 序列-元组 10. 字典 11. 集合 12. python内存管理及可变、不可变对象 13. 函数 13.1 函数参数 13.2 return and yiled(生成器) 13.3 参数传递处理 ...

weixin_43178406的博客 26万+

OpenHarmony电源管理驱动架构剖析:HDI框架下的低功耗实现

鸿蒙电源管理驱动模块是OpenHarmony操作系统中负责设备电源状态管理的核心组件。该模块基于HDI(Hardware Device Interface)框架实现,提供了完整的电源管理功能,包括系统休眠/唤醒、运行锁管理、休眠模式控制等核心功能。public:// 主要接口函数// 运行锁管理private:// 内部辅助函数// 成员变量public:// 运行锁控制接口// 回调管理private:// 内部辅助函数。

m0_67505153的博客 209

【Zabbix】开源分布式监控系统---Zabbix理论介绍

Zabbix是一款出色的企业级运维监控平台,可用于监控从服务器、网络设备到Web应用程序和数据库的性能和可用性的一切;它可以安装在 Linux、AIX、Windows、Solaris、MacOS X、FreeBSD、OpenBSD 等系统上使用,具有非常良好的适配能力。

weixin_43892251的博客 1220

在 RAP 里把编号这件事做得既优雅又合规:Early Numbering 与 Late Numbering 的落地指南

本文探讨了 SAP RAP 框架中的三种主键编号策略及其适用场景。文章首先指出传统 ABAP 应用中主键处理的局限性,详细分析了早期编号(外部/内部)和延迟编号的差异,强调延迟编号在避免业务断号方面的优势。通过 Partner 业务对象案例,文章演示了延迟编号的实现方法,包括行为定义配置、保存类实现和编号分配逻辑。同时指出测试中常见的校验陷阱,并提醒生产环境应避免简单的 MAX+1 方案,建议采用原子取号机制确保并发安全。全文从业务合规性和技术实现两个维度,为 RAP 应用的编号策略选择提供了实用指导。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1843

Docker部署Zabbix 7.0监控平台:从编排到告警实战

监控系统是企业IT运维的基石,而Zabbix作为主流开源监控工具,其组件复杂、依赖繁多,传统裸机部署常让运维团队耗费数小时。容器化技术通过镜像隔离与环境一致性,将Zabbix的部署时间压缩到20分钟,尤其适合中小规模快速交付与版本验证场景。本文以docker-compose为核心,详解Zabbix 7.0全家桶的编排设计,包括PostgreSQL、Server、Web与Agent2的配置,并针对时区、内存、端口、数据持久化等常见坑点给出解决方案。进一步扩展到企业高频监控需求:通过Agent2性能计数器实现W

weixin_34323858的博客 415

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: Zabbix监控MySQL数据库实战
下一篇: Zabbix使用API批量导入主机
abel_dwh
博客等级 码龄9年 297粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abel_dwh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值