使用 Zabbix agent 2 监控PostgreSQL
上次部署的Geoserver使用的是docker方式部署的pgrouting数据库,为了掌握服务器运行状态,拟通过部署zabbix agent2在zabbix 中进行监控,本文记录通过部署 Zabbix agent 2 监控 PostgreSQL 服务器的实操过程。
一、测试环境
1、Zabbix服务器配置:
Zabbix 版本: Zabbix 7.0.3 LTS
操作系统: Ubuntu 24.04 (Noble)
数据库: MySQL 8
Web 服务器: Apache
2、监控目标主机配置
操作系统: Ubuntu 24.04 (Noble)
数据库: PostgreSQL v2.6.3
二、配置过程
1、创建PostgreSQL用户
要监控PostgreSQL服务器,Zabbix需要访问其进程。因此,需要创建一个仅用于监控MySQL服务器的MySQL用户"zbx_monitor" ,并向该用户授予必要的权限。
首先进入容器
# docker exec -it 4d07391e2ce7 bash
登录数据库控制台
# psql -U postgres -d postgres
创建用户并授权
postgres=# CREATE USER zbx_monitor WITH PASSWORD 'PASSWORD' INHERIT;
postgres=# GRANT pg_monitor TO zbx_monitor;
2、安装配置Zabbix agent2
导入Zabbix库
# wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
# dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
# apt update
安装Zabbix agent 2
# apt install zabbix-agent2
配置Zabbix Agent2:
编辑 /etc/zabbix/zabbix_agent2.conf 文件,设置Server参数为本地Zabbix Server地址。
Server=<ZABBIX_SERVER_IP>
启动Zabbix Agent服务并设置开机自启:
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
检查Zabbix Agent服务状态:
systemctl status zabbix-agent2
3、配置 Zabbix 前端
登录Zabbix前端,在Zabbix web界面中创建主机
在主机名字段中,输入主机名。
在模板字段中,选择 " PostgreSQL by Zabbix agent 2 " 模板, 链接 到主机。
在接口字段中, 添加一个 "Agent" 类型的接口,填写PostgreSQL 服务器 IP 地址。
在宏选项卡中, 切换到“继承和主机宏”, 查找以下宏,然后单击宏值旁边的“更改”进行设置:
{$PG.CONNSTRING} - 设置PostgreSQL服务器的数据源 ,这里使用服务器地址端口 " tcp://192.168.0.60:5432 "。
{$PG.PASSWORD} - 更改为之前所创建用户"zbx_monitor" 的密码。
{$PG.USER} - 更改为之前创建的MySQL用户名称"zbx_monitor"。
到这里,配置已完成,单击“添加”以添加主机。等待几分钟后,打开监测->主机 菜单,可以查看收集到的指标数据。
