ubuntu 16.04 + zabbix 3.4 + postgresql libzbxpgsql
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介绍在 node1、node2 节点上安装 libzbxpgsql 的具体过程。
在安装 libzbxpgsql 之前,请确保已经安装了 zabbix agent。
安装 libzbxpgsql
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
# cd /tmp
# wget http://cdn.cavaliercoder.com/libzbxpgsql/apt/zabbix32/ubuntu/trusty/amd64/libzbxpgsql_1.1.0-1%2Btrusty_amd64.deb
# apt-get install libc6 libconfig9
# dpkg -i libzbxpgsql_1.1.0-1+trusty_amd64.deb
# dpkg -l libzbxpgsql
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-======================-================-================-==================================================
ii libzbxpgsql 1.1.0-1 amd64 PostgreSQL monitoring module for Zabbix
# apt-cache show libzbxpgsql
Package: libzbxpgsql
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 110
Maintainer: Ryan Armstrong <ryan@cavaliercoder.com>
Architecture: amd64
Version: 1.1.0-1
Depends: libc6 (>= 2.4), libconfig9, libpq5, zabbix-agent (>= 3.0.0)
Conffiles:
/etc/zabbix/libzbxpgsql.conf d48c8fa8793959c126188077ba0a67ce
/etc/zabbix/zabbix_agentd.d/libzbxpgsql.conf 2c585e4bbad405769345396b93016ce8
Description: PostgreSQL monitoring module for Zabbix
This package provides comprehensive monitoring of PostgreSQL servers using a
natively compiled Zabbix agent module, written in C, with highly configurable
item keys and a complimentary Template.
Description-md5: 06b8597209d0b98bbf13239d763debc7
# find / -name libzbxpgsql.so
/usr/lib/zabbix/modules/libzbxpgsql.so
配置 zabbix_agentd.conf
# vi /etc/zabbix/zabbix_agentd.conf
LoadModulePath=/usr/lib/zabbix/modules
LoadModule=libzbxpgsql.so
# zabbix_agentd -t pg.modver
zabbix_agentd [25945]: starting agent module libzbxpgsql 1.1.0
zabbix_agentd [25945]: using module configuration file: /etc/zabbix/libzbxpgsql.conf
pg.modver [s|libzbxpgsql 1.1.0, compiled for Zabbix 3.2.3]
# service zabbix-agent restart
postgresql 创建 zabbix 监控用户
# vi /etc/postgresql/9.6/main/postgresql.conf
listen_addresses = '0.0.0.0'
# /etc/init.d/postgresql restart
# su - postgres
postgres@node1:~$ psql
psql (9.6.10)
Type "help" for help.
postgres=# create user zabbix with superuser password 'zabbix';
CREATE ROLE
$ vi /etc/postgresql/9.6/main/pg_hba.conf
local all zabbix trust
host all zabbix 127.0.0.1/32 trust
host all zabbix 192.168.56.101/32 trust
host all zabbix ::1/128 trust
$ psql -c "select pg_reload_conf();"
可以配置下 .gppass 文件。
下载监控模板
# cd /tmp
# git clone https://github.com/cavaliercoder/libzbxpgsql.git
找到里边的 templates/Template_PostgreSQL_Server_3.0.xml
导入监控模版
zabbix web 页面操作
Configuration -> Templates -> Import
可以看到模版 Template App PostgreSQL 手动归属到 Templates/Databases 下
主机配置postgresql libzbxpgsql 模板
zabbix web 页面操作
Configuration -> Hosts
点击某台机器,进去选择 Templates,
点击Select,选中Template App PostgreSQL libzbxpgsql,点击页下面的 Select
点击 Add
点击 Update
配置 postgresql 宏
点击某台机器,进去选择 Macros
点击 Inherited and host macros
设置 {$PG_CONN} 的值为 host=127.0.0.1 port=5432 user=zabbix connect_timeout=10
点击 Update
稍等一会,就能看到采集到postgresql的数据了。
参考:
http://cavaliercoder.com/libzbxpgsql/
http://cavaliercoder.com/libzbxpgsql/download/
http://cavaliercoder.com/libzbxpgsql/documentation/
https://github.com/cavaliercoder/libzbxpgsql
https://www.zabbix.com/documentation/3.4/manual/config/items/loadablemodules