Zabbix 4.4 'เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค PostgreSQL เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจธเฉˆเจŸ เจ•เจฐเจจเจพ

เจนเจพเจˆ เจนเจฐ เจ•เฉ‹เจˆ

เจœเจผเฉˆเจฌเจฟเจ•เจธ เจ•เฉ‹เจฒ เจนเฉเจฃ เจ‡เฉฑเจ• เจ…เจงเจฟเจ•เจพเจฐเฉ€ เจนเฉˆ เจŸเฉˆเจฎเจชเจฒเฉ‡เจŸ DB PostgreSQL. เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจœเจผเฉˆเจฌเจฟเจ•เจธ 4.4 เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

Zabbix 4.4 'เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค PostgreSQL เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจธเฉˆเจŸ เจ•เจฐเจจเจพ

เจจเฉ‹เจŸ

เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจšเฉฐเจ—เฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจ…เจงเจฟเจ•เจพเจฐเจค เจฎเฉˆเจจเฉ‚เจ…เจฒ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚

github.com/zabbix/zabbix/tree/master/templates/db/postgresql

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฎเฉ‡เจฐเจพ เจฒเฉ‡เจ– เจ‰เจนเจจเจพเจ‚ เจธเฉ‚เจ–เจฎเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‡เจธ เจฒเจฟเฉฐเจ• เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจนเจจเฅค

เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจคเจฟเจ†เจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ

1. เจ†เจชเจฃเฉ€ เจนเฉ‹เจฎ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“เฅค

cd ~

2. git เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค เจœเจผเฉˆเจฌเจฟเจ•เจธ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจฒเฉ‹เจจ เจ•เจฐเฉ‹, เจœเฉ‹ เจ•เจฟ GitHub 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเฉˆเฅค

yum -y install git
git clone https://github.com/zabbix/zabbix.git

3. PostgreSQL เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจตเจพเจฒเฉ€ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจœเจพเจ“เฅค

cd zabbix/templates/db/postgresql/

เจœเจผเฉˆเจฌเจฟเจ•เจธ เจเจœเฉฐเจŸ เจฒเจˆ เจ‡เฉฑเจ• เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ

1. เจ†เจ‰ PostgreSQL เจจเจพเจฒ เจœเฉเฉœเฉ€เจเฅค

psql -U postgres

2. PostgreSQL เจธเจฐเจตเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจฐเฉ€เจก-เจ“เจจเจฒเฉ€ เจฏเฉ‚เจœเจผเจฐ zbx_monitor เจฌเจฃเจพเจ“เฅค

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/ เจตเจฟเฉฑเจš เจ•เจพเจชเฉ€ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจœเจผเฉˆเจฌเจฟเจ•เจธ เจเจœเฉฐเจŸ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹เฅค

cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/

5. เจนเฉเจฃ เจœเจผเฉˆเจฌเจฟเจ•เจธ เจจเจพเจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจฃ เจฒเจˆ pg_hba.conf เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจเจกเจฟเจŸ เจ•เจฐเฉ€เจเฅค pg_hba.conf เจซเจพเจˆเจฒ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเฉ‡: https://www.postgresql.org/docs/current/auth-pg-hba-conf.html.

เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเฉ‹:

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 เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ zabbix เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเจˆ PATH เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš pg_isready เจฆเจพ เจฎเจพเจฐเจ— เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹เฅค

เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจช เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡:

ln -s /usr/pgsql-12/bin/pg_isready /usr/bin/pg_isready

* - เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ pgsql เจธเฉฐเจธเจ•เจฐเจฃ 12 เจนเฉˆ, เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ pgsql-12 เจฆเฉ€ เจฌเจœเจพเจ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจฎเจพเจฐเจ— เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจœเฉ‡เจ•เจฐ เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจฅเจฟเจคเฉ€: เจชเจฟเฉฐเจ— เจนเจฎเฉ‡เจธเจผเจพ เจกเจพเจŠเจจ เจฐเจนเฉ‡เจ—เฉ€เฅค

เจœเจผเฉˆเจฌเจฟเจ•เจธ เจซเจฐเฉฐเจŸเจเจ‚เจก 'เจคเฉ‡ เจ‡เฉฑเจ• เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ

เจฎเฉ‡เจฐเจพ เจฎเฉฐเจจเจฃเจพ เจนเฉˆ เจ•เจฟ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ PostgreSQL เจคเฉ‹เจ‚ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจฒเฉˆเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ‰เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจœเจพเจฃเจฆเฉ‡ เจนเจจ เจ•เจฟ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ. เจ‡เจธ เจฒเจˆ, เจฎเฉˆเจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเจพ เจธเฉฐเจ–เฉ‡เจช เจตเจฐเจฃเจจ เจ•เจฐเจพเจ‚เจ—เจพ.

  1. เจœเจผเฉˆเจฌเจฟเจ•เจธ เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจœเจพเจ“;
  2. เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจœเจพเจ“"เจธเฉฐเจฐเจšเจจเจพ" => "เจฎเฉ‡เจœเจผเจฌเจพเจจโ€œ;
  3. เจฌเจŸเจจ 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹"เจฎเฉ‡เจœเจผเจฌเจพเจจ เจฌเจฃเจพเจ“เจœเจพเจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจนเฉ‹เจธเจŸ เจšเฉเจฃเฉ‹;
  4. เจนเฉ‹เจธเจŸ เจฌเจฃเจพเจ‰เจฃ/เจธเฉฐเจชเจพเจฆเจจ เจชเฉฐเจจเฉ‡ 'เจคเฉ‡, "เจšเฉเจฃเฉ‹เจจเจฎเฉ‚เจจเฉ‡"เจ…เจคเฉ‡ เจฒเจฟเฉฐเจ• 'เจคเฉ‡ เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹"เจœเฉ‹เฉœเฉ‹โ€œ;
  5. โ€œเจ—เจฐเฉเฉฑเจชโ€ เจตเจฟเฉฑเจš, เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจšเฉ‹เจ‚ โ€œเจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ/เจกเฉ‡เจŸเจพเจฌเฉ‡เจธโ€ เจšเฉเจฃเฉ‹, เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจšเฉเจฃเฉ‹ โ€œเจŸเฉˆเจฎเจชเจฒเฉ‡เจŸ DB PostgreSQL", เจฌเจŸเจจ เจฆเจฌเจพเจ“"เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเฉ‹"เจ…เจคเฉ‡ เจฌเจŸเจจ เจฆเจฌเจพเจ“"เจ…เฉฑเจชเจกเฉ‡เจŸโ€œ;

เจ…เจธเฉ€เจ‚ เจ•เฉเจ เจธเจฎเจพเจ‚ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš "เจจเจฟเจ—เจฐเจพเจจเฉ€" => "เจคเจพเจœเจผเจพ เจกเจพเจŸเจพ" => "เจฎเฉ‡เจœเจผเจฌเจพเจจ"PostgreSQL เจจเจพเจฒ เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจšเฉเจฃเฉ‹ => เจ•เจฒเจฟเฉฑเจ• เจ•เจฐเฉ‹"เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ‹".

Zabbix 4.4 'เจคเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค PostgreSQL เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจธเฉˆเจŸ เจ•เจฐเจจเจพ
เจฎเจพเจฃเฉ‹!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹