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 рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ 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. PostgreSQL рд╕рд░реНрднрд░рдорд╛ рдкрд╣реБрдБрдЪ рднрдПрдХреЛ zbx_monitor рдкрдвреНрдиреЗ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

PostgreSQL рд╕рдВрд╕реНрдХрд░рдг резреж рд░ рдЙрдЪреНрдЪрдХреЛ рд▓рд╛рдЧрд┐:

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 рднрдгреНрдбрд╛рд░рдмрд╛рдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, zabbix рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ PATH рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рдорд╛ pg_isready рдорд╛ рдкрде рдердкреНрдиреБрд╣реЛрд╕реНред

рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд░реВрдк рдорд╛:

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

* - рдХрд┐рдирдХрд┐ рдорд╕рдБрдЧ pgsql рд╕рдВрд╕реНрдХрд░рдг 12 рдЫ, рддрдкрд╛рдИрдВрд╕рдБрдЧ pgsql-12 рдХреЛ рд╕рдЯреНрдЯрд╛ рдлрд░рдХ рдорд╛рд░реНрдЧ рд╣реБрдиреЗрдЫред

рдпрджрд┐ рдпреЛ рдЧрд░рд┐рдПрди рднрдиреЗ, рд╕реНрдерд┐рддрд┐: рдкрд┐рдВрдЧ рд╕рдзреИрдВ рдбрд╛рдЙрди рд╣реБрдиреЗрдЫред

Zabbix рдлреНрд░рдиреНрдЯрдПрдиреНрдбрдорд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдердкреНрджреИ

рдорд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЫ рдХрд┐ рдЬрд╕рд▓реЗ PostgreSQL рдмрд╛рдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд▓рд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд╣рд░реВ рдХрд╕рд░реА рдердкреНрдиреЗ рднрдиреЗрд░ рдкрд╣рд┐рд▓реЗ рдиреИ рдерд╛рд╣рд╛ рдЫред рддрд╕рд░реНрде, рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд░реНрдгрди рдЧрд░реНрдиреЗрдЫреБред

  1. Zabbix рдкреГрд╖реНрдардорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН;
  2. рдкреГрд╖реНрдардорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН "рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди" => "рдкрд╛рд╣реБрдирд╛";
  3. рдмрдЯрдирдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН "рд╣реЛрд╕реНрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНрд╡рд╛ рдЕрд╡рд╕реНрдерд┐рдд рд╣реЛрд╕реНрдЯ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  4. рд╣реЛрд╕реНрдЯ рд╕рд┐рд░реНрдЬрдирд╛/рд╕рдореНрдкрд╛рджрди рдкреГрд╖реНрдардорд╛, рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН "рдЯреЗрдореНрдкреНрд▓реЗрдЯ"рд░ рд▓рд┐рдЩреНрдХрдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН"рдердк";
  5. "рд╕рдореВрд╣" рдорд╛, рд╕реВрдЪреАрдмрд╛рдЯ "рдЯреЗрдореНрдкреНрд▓реЗрдЯ/рдбреЗрдЯрд╛рдмреЗрд╕рд╣рд░реВ" рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН "рдЯреЗрдореНрдкреНрд▓реЗрдЯ DB PostgreSQL", рдмрдЯрди рдерд┐рдЪреНрдиреБрд╣реЛрд╕реН"рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН"рд░ рдмрдЯрди рдерд┐рдЪреНрдиреБрд╣реЛрд╕реН"рдЕрдкрдбреЗрдЯ";

рд╣рд╛рдореА рдХреЗрд╣рд┐ рд╕рдордп рдкрд░реНрдЦрдиреНрдЫреМрдВ рд░ рдЕрдиреНрддрдорд╛ рдЬрд╛рдиреНрдЫреМрдВ "рдЕрдиреБрдЧрдорди" => "рдкрдЫрд┐рд▓реНрд▓реЛ рдбрд╛рдЯрд╛" => "рд╣реЛрд╕реНрдЯрд╣рд░реВ"PostgreSQL => рдХреНрд▓рд┐рдХрдХреЛ рд╕рд╛рде рд╕рд░реНрднрд░ рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН"рд▓рд╛рдЧреВ"ред

Zabbix 4.4 рдорд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ PostgreSQL рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ
рдЖрдирдиреНрдж рд▓рд┐рдиреБрд╣реЛрд╕реН!

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди