ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ.
Π Zabbix ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ Template DB PostgreSQL. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΠΌ Π΅Π³ΠΎ Π² Zabbix 4.4.
ΠΠ ΠΠΠΠ§ΠΠΠΠ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΌ, ΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠ°Π½ΡΠ°Π»Ρ
github.com/zabbix/zabbix/tree/master/templates/db/postgresql Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π² ΠΌΠΎΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ ΡΡΡΠ΅Π½Ρ Π½ΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½Π°
1. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
cd ~
2. Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠΈΠ»ΠΈΡΡ git ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Zabbix, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° GitHub.
yum -y install git
git clone https://github.com/zabbix/zabbix.git
3. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ PostgreSQL.
cd zabbix/templates/db/postgresql/
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½Π° Π΄Π»Ρ Π°Π³Π΅Π½ΡΠ° Zabbix
1. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌΡΡ ΠΊ PostgreSQL.
psql -U postgres
2. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ zbx_monitor ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ PostgreSQL.
ΠΠ»Ρ PostgreSQL Π²Π΅ΡΡΠΈΠΈ 10 ΠΈ Π²ΡΡΠ΅:
CREATE USER zbx_monitor WITH PASSWORD '<ΠΠΠ¨_ΠΠΠ ΠΠΠ¬>' INHERIT; GRANT pg_monitor TO zbx_monitor;
ΠΠ»Ρ PostgreSQL Π²Π΅ΡΡΠΈΠΈ 9.6 ΠΈ Π½ΠΈΠΆΠ΅:
CREATE USER zbx_monitor WITH PASSWORD '<ΠΠΠ¨_ΠΠΠ ΠΠΠ¬>';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
--ΠΠ»Ρ ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΡΡΠΈΠΊ WAL ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ superuser.
ALTER USER zbx_monitor WITH SUPERUSER;
3. Π‘ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ postgresql/ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /var/lib/zabbix/. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π² /var/lib/ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ zabbix/, ΡΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅Π³ΠΎ. ΠΠ°ΡΠ°Π»ΠΎΠ³ postgresql / ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΈΠ· PostgreSQL.
cp -r postgresql/ /var/lib/zabbix/
4. ΠΠ°ΡΠ΅ΠΌ ΡΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ» template_db_postgresql.conf Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π°Π³Π΅Π½ΡΠ° Zabbix /etc/zabbix/zabbix_agentd.d/ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π°Π³Π΅Π½ΡΠ° Zabbix.
cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/
5. Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ» pg_hba.conf, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Zabbix. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠ°ΠΉΠ»Π΅ pg_hba.conf:
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ»:
vi /var/lib/pgsql/12/data/pg_hba.conf
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΡΠΎΠΊ (ΠΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ.):
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5
ΠΠ ΠΠΠΠ§ΠΠΠΠ
ΠΡΠ»ΠΈ PostgreSQL ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PGDG, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΡΡ ΠΊ pg_isready Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ PATH Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ zabbix.
ΠΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ:
ln -s /usr/pgsql-12/bin/pg_isready /usr/bin/pg_isready
* β ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΌΠ΅Π½Ρ pgsql 12 Π²Π΅ΡΡΠΈΠΈ, ΡΠΎ Ρ Π²Π°Ρ Π²ΠΌΠ΅ΡΡΠΎ pgsql-12 Π±ΡΠ΄Π΅Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΡΡ.
ΠΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠΎ Status: Ping Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Down.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π΅ Zabbix
Π‘ΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΠ΅, ΠΊΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Ρ PostgreSQL ΠΈΡΠ°ΠΊ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠΏΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΡΠ°ΡΠΊΠΎ.
- ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Zabbix;
- ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ «Configuration» => «Host«;
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ «Create host» ΠΈΠ»ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Ρ ΠΎΡΡ;
- ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ/ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΎΡΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ «Templates» ΠΈ ΠΈ ΠΆΠΌΡΠΌ Π½Π° Π»ΠΈΠ½ΠΊ «Add«;
- Π Β«GroupΒ» ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«Templates/DatabasesΒ», Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ «Template DB PostgreSQL«, ΠΆΠΌΡΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ «Select» ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ «Update«;
ΠΠ΄ΡΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² «Monitoring» => «Latest data» => «Hosts» Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ΅ΡΠ²Π΅Ρ Ρ PostgreSQL => Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ «Apply«.
Enjoy!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com