扫码阅读
手机扫码阅读

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

331 2023-09-21


Cloud Native

ESG服务BU云原生交付中心、云基地

在云原生上的尝试、调研与分享



本期内容

zabbix对postgresql

数据库的监控

对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常。


而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是一个被广泛使用的,可以实现集中监控管理的应用程序。


在日常运维中,当我们需要在同一个平台上既要监控分布式系统的各项指标,还要监控postgresql数据库的各项信息,应该如何借助zabbix实现呢?


本期将手把手教你安装zabbix以及如何使用zabbix同时监控postgresql数据库,最终做到在zabbix上同时监控系统信息以及数据库信息。

什么是zabbix

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。


zabbix由两部分构成,zabbix server与可选组件zabbix agent。


zabbix server,可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

zabbix安装步骤

Step 1

预先准备:Linux操作系统、Postgresql数据库

Step 2

Zabbix安装包下载

地址:

https://www.zabbix.com/cn/download

在其中选择你要安装的zabbix版本以及服务的版本、准备为zabbix安装准备的数据库版本,然后可以安装zabbix了。

Step 3

安装zabbix的rpm仓库

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm# yum clean all

Step 4

安装Zabbix server,agent

# yum install zabbix-server-pgsql zabbix-agent

Step 5

安装zabbix前端

1)安装系统插件

# yum install centos-release-scl

编辑配置文件

/etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository

[zabbix-frontend]...enabled=1...

2)安装zabbix前端包

# yum install zabbix-web-pgsql-scl zabbix-apache-conf-scl

Step 6

创建初始数据库

# sudo -u postgres createuser --pwprompt zabbix# sudo -u postgres createdb -O zabbix zabbix

导入初始架构和数据,系统将提示您输入新创建的密码。

DBPassword=passwordDBName=zabbixDBUser=zabbixDBPort=5432

Step 7

为Zabbix server配置数据库

编辑配置文件

/etc/zabbix/zabbix_server.conf

Step 8

为zabbix修改php时区配置

编辑配置文件

/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

·原始

; php_value[date.timezone] = Europe/Riga

·修改后

Step 9

启动Zabbix server和agent进程,并为它们设置开机自启。

# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

Step 10

启动前端

# systemctl restart httpd rh-php72-php-fpm# systemctl enable http rh-php72-php-fpm

Step 11

访问页面

浏览器输入服务器 http://ip/zabbix

Step 12

确认安装前准备是否完好

Step 13

配置数据库连接

Step 14

启动server

Step 15

登录zabbix

账号:Admin

密码:zabbix

Step 16

设置中文

Step 17

修改乱码

在window系统中找到字体,并上传到系统中

选择任意字体文件修改名称为simkai.ttf

上传至服务器

/usr/share/zabbix/assets/fonts/目录中

将原本的 graphfont.ttf 改名为 graphfont.ttf.bak

并将simkai.ttf 改为 graphfont.ttf,就可以发现不再乱码。

到这里,Zabbix就安装完成了。

监控postgresql

实现步骤

Step 1

预先准备:

配置好psql命令,需要全部用户都可以使用psql命

Postgresql的日志文件设置,全部用户可以读取可操作

Step 2

下载代码以及脚本

1)下载pg-monz代码

wget https://github.com/pg-monz/pg_monz/archive/refs/tags/2.2.1.tar.gz

2)解压

tar -zxvf 2.2.1.tar.gz

Step 3

将配置文件移动到系统配置文件位置。

# cp usr-local-etc/* usr/local/etc/

Step 4

修改 pgsql_funcs.conf 配置文件。

vi /usr/local/etc/pgsql_funcs.conf

Step 5

将监控的脚本文件移动至系统脚本下

# cp usr-local-bin/* usr/local/bin/# chmod +x usr/local/bin/*.sh

Step 6

修改agent配置文件

Step 7

导入模板

这里依次将从GitHub中下载的项目中template文件夹中的xml文件导入。

Step 8

创建主机

修改这里的配置为postgresql数据库的日志文件位置。

Step 9

查看数据

最终可以看到在zabbix上已经显示了postgresql数据库的相关信息,从而达到了在zabbix上同时监控系统指标和数据库指标的目的

因为zabbix上的图表并不是很美观,所以也可以选择安装grafana和zabbix插件,将zabbix作为数据源导入到grafana上来进行查看展示。

以上就是我在部署和使用Zabbix监控工具的过程和心得,分享给大家。

zabbix实现监控的思路

你学会了吗?

如果你有更好的办法或疑问

欢迎加入社群一起讨论哦⬇


本期作者

冯康


原文链接: http://mp.weixin.qq.com/s?__biz=Mzg5MzUyOTgwMQ==&mid=2247517153&idx=1&sn=dffafbbd6d0edf850b4634cf4d912d53&chksm=c02fb847f7583151f3a147f1c848947c6fb9f980db720f79585e1701812931cc9d5f21626a14#rd