ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix
Π”ΠΎΠΊΠ»Π°Π΄ Π”Π°Ρ€ΡŒΠΈ Π’ΠΈΠ»ΠΊΠΎΠ²ΠΎΠΉ для Zabbix Meetup Online

Π― Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒ вас со срСдством ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° PostgreSQL ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ разрабатываСтся нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ с использованиСм Zabbix.

ΠœΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Zabbix Π² качСствС срСдства ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, поддСрТиваСмая Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ сообщСством, которая ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ большой ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ Π² России.

ΠœΡ‹ создали Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°Π³Π΅Π½Ρ‚ β€” Mamonsu, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчивал Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Ρ‡Π΅ΠΌ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ позволяли стандартныС срСдства, ΠΈ обСспСчивал сбор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ ΠΈΡ… ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π½Π° Zabbix Server. Π’ нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Mamonsu ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π°.

Mamonsu

Mamonsu β€” Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π°Π³Π΅Π½Ρ‚ (Zabbix Trapper) для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° PostgreSQL ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Mamonsu (написанный Π½Π° Python) позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° PostgreSQL ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π·Π° ΠΏΡΡ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚.

Mamonsu ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструмСнтами:

  • mamonsu tune β€” ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ настройки Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ PostgreSQL ΠΏΠΎΠ΄ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ установлСн Π°Π³Π΅Π½Ρ‚ Mamonsu.
  • mamonsu report β€” ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΡΠΎΠ·Π΄Π°ΡŽΡ‰Π°Ρ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΎΠ± ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈ PostgreSQL.

Mamonsu устанавливаСтся Π½Π° сСрвСр Π‘Π£Π‘Π”, собираСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠΌΠΏΠΎΠ½ΡƒΠ΅Ρ‚ Π΅Π΅ Π² JSON, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отправляСт для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Zabbix Server, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ шаблон для Π΅Π³ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Mamonsu

ВозмоТности Mamonsu

  • ЭффСктивная Ρ€Π°Π±ΠΎΡ‚Π° с PostgreSQL. ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΠ΅ соСдинСниС с PostgreSQL β€” Π³Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Mamonsu. ΠŸΡ€ΠΈ этом максимальноС количСство соСдинСний Ρ€Π°Π²Π½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ количСству Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ.
  • Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ. Mamonsu ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Β«ΠΏΠ»Π°Π³ΠΈΠ½Π½Ρ‹ΠΉΒ» Π°Π³Π΅Π½Ρ‚, ΠΈ, благодаря фиксированной структурС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ простотС Python, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стандартныС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Ρ‚. Π΅. ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сбора ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ.
  • Π¨ΠΈΡ€ΠΎΠΊΠΈΠΉ ΠΎΡ…Π²Π°Ρ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° для PotgreSQL Π² Ρ‚ΠΎΠΌ числС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ спСцифичСских Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ.
  • Быстрый запуск, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ».
  • Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° шаблонов ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° Zabbix Server.
  • ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ для Π½Π°ΡˆΠΈΡ… Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ дистрибутивами Linux, Π² Ρ‚ΠΎΠΌ числС отСчСствСнными.
  • BSD-clause license.

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ мноТСство ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсии стараСмся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅.

  • 14 ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для PostgreSQL,
  • 8 ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для OS Linux,
  • 4 ΠΏΠ»Π°Π³ΠΈΠ½Π° для OS Windows.

Mamonsu собираСт Π±ΠΎΠ»Π΅Π΅ 110 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ PostgreSQL ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм:

  • 70 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ PostgreSQL,
  • 40 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ OS Linux,
  • 8 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ OS Windows.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π‘Π£Π‘Π”, количСство соСдинСний, Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Π΅ΠΊΠΏΠΎΠΉΠ½Ρ‚Ρ‹, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния/записи, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, количСство процСссов Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ WAL. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список доступных ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС всСх инструмСнтов доступны Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° сайтС GitHub.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

Бписок доступных ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π½Π° сайтС GitHub

Запуск Mamonsu Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚

Для настройки ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Mamonsu ΠΌΠΎΠΆΠ½ΠΎ Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² 5 простых дСйствий.

  1. Установка Mamonsu. Mamonsu ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· исходников ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ доступными ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ.

$ git clone ... && cd mamonsu && python setup.py

build && python setup.py install

  1. Настройка соСдинСний. НСобходимо ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ соСдинСния c PostgreSQL ΠΈ Zabbix Server Π² Ρ„Π°ΠΉΠ»Π΅ agent.conf.

/etc/mamonsu/agent.conf

  1. Экспорт шаблона Π² Zabbix Server.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ·Π»Π° сСти Π² Zabbix Server. Экспортированный шаблон Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ ΡƒΠ·Π»Ρƒ сСти Π½Π° Zabbix Server.

$ mamonsu zabbix host create mamonsu-demo

  1. Запуск.

$ service mamonsu start

НаправлСния развития Mamonsu

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… развития Mamonsu ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ возмоТности автонастройки Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mamonsu tune.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° PostgreSQL Π² составС Zabbix Agent 2

Для соСдинСния с PostgreSQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ быстрый ΠΈ популярный Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ pgx (PG driver and toolkit for Go).

Пока ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π° интСрфСйса: Exporter, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ, ΠΈ Configurator Zabbix Agent 2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считываСт ΠΈ провСряСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ соСдинСния с сСрвСром, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

ΠœΡ‹ ΠΏΠΎΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π‘Π£Π‘Π”, группируя ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (handler) для ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ Π³Ρ€ΡƒΠΏΠΏ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π² JSON ΠΊΠ°ΠΊ зависимыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (dependency items), ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ (discovery rules).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

  • сохранСниС постоянного соСдинСния с PostgreSQL ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ;
  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π³ΠΈΠ±ΠΊΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² опроса;
  • ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с вСрсиями PostgreSQL, начиная с 10, ΠΈ Zabbix Server, начиная с вСрсии 4.4;
  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… инстансов PostgreSQL ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Zabbix Agent 2 позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько сСссий.

Π£Ρ€ΠΎΠ²Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL

ВсСго доступны Ρ‚Ρ€ΠΈ уровня ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL, Ρ‚. Π΅. Π·Π°Π΄Π°Ρ‡ ΠΈ настроСк:

  • Global,
  • Sessions,
  • Macros.

  1. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Global Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π°Π³Π΅Π½Ρ‚Π°, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Session ΠΈ Macros ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±Π°Π·Π΅.

  2. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL β€” Sessions Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ zabbix_agent2.conf.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL β€” Sessions

  • ПослС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Sessions указываСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имя сСссии, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΠ»ΡŽΡ‡Π΅ (шаблонС).
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ URI ΠΈ UserName ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сСссии.
  • Если имя Π±Π°Π·Ρ‹ Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ имя Π±Π°Π·Ρ‹ для всСх сСссий для PostgreSQL, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ задаСтся Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

  1. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL β€” Macros Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ»ΡŽΡ‡Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² шаблонС (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ способу, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π² Zabbix Agent 1), Ρ‚. Π΅. ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² шаблонС ΠΈ Π΄Π°Π»Π΅Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΊΠ»ΡŽΡ‡Π΅. ΠŸΡ€ΠΈ этом ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ макросов фиксирована, Ρ‚. Π΅., Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, URI всСгда указываСтся Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ мСстС.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ PostgreSQL β€” Macros

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° PostgreSQL Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ 95 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ довольно ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ объСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² PostgreSQL, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ:

  • количСство соСдинСний,
  • объСм Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…,
  • архивация wal-Ρ„Π°ΠΉΠ»ΠΎΠ²,
  • ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ,
  • количСство Β«Ρ€Π°Π·Π΄ΡƒΠ²ΡˆΠΈΡ…ΡΡΒ» Ρ‚Π°Π±Π»ΠΈΡ†,
  • статус Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ,
  • отставаниС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ.

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ PostgreSQL Π½Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Но Zabbix Agent 2 ΡƒΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, поэтому для получСния ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ просто ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊ ΡƒΠ·Π»Ρƒ сСти Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (handler)

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (handler) β€” основная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° модуля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся сам запрос ΠΈ которая позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΡƒ:

  1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» для получСния Π½ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

zabbix/src/go/plugins/postgres/handler_uptime.go

  1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ (ΠΊΠ»ΡŽΡ‡ΠΈ) ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ:

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

  1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ (handler) с запросом, Ρ‚. Π΅. ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

  1. ВыполняСм запрос:

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

НСобходимо ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ запрос Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ошибок, послС Ρ‡Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‡Π΅Π½ процСссом Zabbix Agent 2.

  1. РСгистрируСм ΠΊΠ»ΡŽΡ‡ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ:

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ PostgreSQL с использованиСм Zabbix

ПослС рСгистрации ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π°Π³Π΅Π½Ρ‚ с Π½ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΎΠΉ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ доступСн, начиная с Zabbix 5.0 Π½Π° сайтС https://www.zabbix.com/download. Π’ этой вСрсии Zabbix ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· host ΠΈ port. Π’ вСрсии Zabbix 5.0.2, которая скоро Π²Ρ‹ΠΉΠ΄Π΅Ρ‚, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΡƒΠ΄ΡƒΡ‚ скомпонованы Π² ΠΎΠ΄ΠΈΠ½ URI.

Бпасибо за вниманиС!

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки

GitHub Mamonsu

ДокумСнтация ΠΏΠΎ Mamonsu

Zabbix Git

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ