Zabbix 4.4์—์„œ ๊ณต์‹ PostgreSQL ํ…œํ”Œ๋ฆฟ ์„ค์ •

์•ˆ๋…• ๋ชจ๋‘

Zabbix๋Š” ์ด์ œ ๊ณต์‹์ ์œผ๋กœ ํ…œํ”Œ๋ฆฟ DB PostgreSQL. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” Zabbix 4.4์—์„œ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Zabbix 4.4์—์„œ ๊ณต์‹ PostgreSQL ํ…œํ”Œ๋ฆฟ ์„ค์ •

์ฐธ๊ณ 

์˜์–ด๋ฅผ ์ž˜ํ•˜์‹ ๋‹ค๋ฉด ๊ณต์‹ ๋งค๋‰ด์–ผ์— ๋”ฐ๋ผ ํ…œํ”Œ๋ฆฟ์„ ์„ค์น˜ํ•˜์‹œ๋Š” ๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค

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

๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์ด ๋งํฌ์— ํฌํ•จ๋˜์ง€ ์•Š์€ ๋‰˜์•™์Šค๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ ์ค€๋น„

1. ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

cd ~

2. git ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  GitHub์— ์žˆ๋Š” ๊ณต์‹ Zabbix ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค.

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. 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/์— ๋ณต์‚ฌํ•˜๊ณ  Zabbix ์—์ด์ „ํŠธ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

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

5. ์ด์ œ Zabbix์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋„๋ก 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 ์ €์žฅ์†Œ์—์„œ ์„ค์น˜๋œ ๊ฒฝ์šฐ pg_isready ๊ฒฝ๋กœ๋ฅผ zabbix ์‚ฌ์šฉ์ž์˜ PATH ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์˜ต์…˜์œผ๋กœ :

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

* - pgsql ๋ฒ„์ „ 12๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— pgsql-12 ๋Œ€์‹  ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด Status: Ping์€ ํ•ญ์ƒ Down ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Zabbix ํ”„๋ŸฐํŠธ์—”๋“œ์— ํ…œํ”Œ๋ฆฟ ์ถ”๊ฐ€

PostgreSQL์—์„œ ๋ฉ”ํŠธ๋ฆญ์„ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์ด๋ฏธ ํ…œํ”Œ๋ฆฟ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ทธ ๊ณผ์ •์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. Zabbix ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜์„ธ์š”.
  2. ํŽ˜์ด์ง€๋กœ ์ด๋™ "๊ตฌ์„ฑยป=>ยซ์ฃผ์ธ";
  3. "๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”.ํ˜ธ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ"๋˜๋Š” ๊ธฐ์กด ํ˜ธ์ŠคํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ํ˜ธ์ŠคํŠธ ์ƒ์„ฑ/ํŽธ์ง‘ ํŽ˜์ด์ง€์—์„œ ' Canva์˜ ์ œ์ž‘๋œ ์ฑ„๋„์•„ํŠธ ํ…œํ”Œ๋ฆฟ์„" ๊ทธ๋ฆฌ๊ณ  ๋งํฌ๋ฅผ ํด๋ฆญํ•˜์„ธ์š” "์ถ”๊ฐ€";
  5. "๊ทธ๋ฃน"์˜ ๋ชฉ๋ก์—์„œ "ํ…œํ”Œ๋ฆฟ/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค"๋ฅผ ์„ ํƒํ•˜๊ณ  "ํ…œํ”Œ๋ฆฟ"์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.ํ…œํ”Œ๋ฆฟ DB PostgreSQL", ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”"์„ ํƒ"๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ"์—…๋ฐ์ดํŠธ";

์šฐ๋ฆฌ๋Š” ์ž ์‹œ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋งˆ์นจ๋‚ด โ€œ๋ชจ๋‹ˆํ„ฐ๋งยป=>ยซ์ตœ์‹  ๋ฐ์ดํ„ฐยป=>ยซํ˜ธ์ŠคํŠธ"PostgreSQL์ด ์žˆ๋Š” ์„œ๋ฒ„ ์„ ํƒ => ํด๋ฆญ"์‹ ์ฒญ".

Zabbix 4.4์—์„œ ๊ณต์‹ PostgreSQL ํ…œํ”Œ๋ฆฟ ์„ค์ •
์ฆ๊ธฐ์‹ญ์‹œ์˜ค!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€