เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix
เบฅเบฒเบเบ‡เบฒเบ™เป‚เบ”เบ Daria Vilkova เบชเปเบฒเบฅเบฑเบš Zabbix Meetup เบญเบญเบ™เป„เบฅเบ™เปŒ

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบขเบฒเบเปเบ™เบฐเบ™เปเบฒเบ—เปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบš PostgreSQL เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เบดเบ”เบ•เบฒเบกเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ—เบตเปˆเบšเปเบฅเบดเบชเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเปƒเบŠเป‰ Zabbix.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฅเบทเบญเบ Zabbix เป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เบดเบ”เบ•เบฒเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ”เบปเบ™เบ™เบฒเบ™เบกเบฒเปเบฅเป‰เบงเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบงเบ—เบตเปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเบŠเบธเบกเบŠเบปเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบซเบผเบฒเบเปƒเบ™เบฅเบฑเบ”เป€เบŠเบ.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบ—เบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง - Mamonsu, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบซเบผเบฒเบเบเปˆเบงเบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™, เปเบฅเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™ metrics เปเบฅเบฐเบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป„เบ›เบซเบฒ Zabbix Server. เปƒเบ™เบšเปเบฅเบดเบชเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, Mamonsu เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบงเบฅเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบš.

เบกเบฒเบกเบญเบ™เบŠเบน

Mamonsu เปเบกเปˆเบ™เบ•เบปเบงเปเบ—เบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง (Zabbix Trapper) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เปเบฅเบฐเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. Mamonsu (เบ‚เบฝเบ™เปƒเบ™ Python) เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ›เบฑเบšเบ„เปˆเบฒ PostgreSQL เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เปƒเบ™เบซเป‰เบฒเบ™เบฒเบ—เบต.

Mamonsu เบกเบตโ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹:

  • mamonsu tune เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเปเบเป‰เป„เบ‚เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ PostgreSQL เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเบ•เบปเบงเปเบ—เบ™ Mamonsu เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡.
  • เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™ mamonsu เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ„เปเบฒเบ•เบญเบšเบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบฅเบฐ PostgreSQL.

Mamonsu เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DBMS, เป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™, เบฅเบงเบšเบฅเบงเบกเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ JSON, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบชเบปเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เบเบฑเบš Zabbix Server, เบšเปˆเบญเบ™เบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบกเบตเปเบกเปˆเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบ‚เบญเบ‡เบกเบฑเบ™.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เปเบฒโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™ Mamonsuโ€‹

เบฅเบฑเบเบชเบฐเบ™เบฐ Mamonsu

  • เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฑเบš PostgreSQL. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบเบฑเบš PostgreSQL เปเบกเปˆเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ Mamonsu. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ‡เบชเบธเบ”เป€เบ—เบปเปˆเบฒเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบฑเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.
  • เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ. Mamonsu เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™ plug-in เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™, เปเบฅเบฐเบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐ plugin เปเบฅเบฐเบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡ Python, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบฝเบ™เบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เปƒเบซเบกเปˆเบซเบผเบทเปเบเป‰เป„เบ‚ plugins เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, i.e. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก metrics.
  • เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡เบ‚เบญเบ‡ metrics เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก เบชเปเบฒเบฅเบฑเบš PotgreSQL, เบฅเบงเบกเบ—เบฑเบ‡ metrics เบชเปเบฒเบฅเบฑเบšเบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบชเบฐเป€เบžเบฒเบฐ.
  • เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เป„เบงโ€‹, เบกเบตเบขเบนเปˆเปƒเบ™เบเปˆเบญเบ‡.
  • เบเบณเบฅเบฑเบ‡เบญเบฑเบšเป‚เบซเบฅเบ”เปเบกเปˆเปเบšเบš เปเบฅเบฐเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบญเบฑเบšเป‚เบซเบฅเบ”เป„เบ›เบเบฑเบ‡ Zabbix Server.
  • เบ‚เป‰เบฒเบกเป€เบงเบ—เบต, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆเปƒเบŠเป‰ Linux distributions เบ•เปˆเบฒเบ‡เป†, เบฅเบงเบกเบ—เบฑเบ‡เบžเบฒเบเปƒเบ™เบ›เบฐเป€เบ—เบ”.
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD-clause.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเป€เบซเบ™เบต plugins เบซเบผเบฒเบเปเบฅเบฐเปƒเบ™เปเบ•เปˆเบฅเบฐเบชเบฐเบšเบฑเบšเบ•เปเปˆเบกเบฒเบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเป€เบžเบตเปˆเบกเบชเบดเปˆเบ‡เปƒเบซเบกเปˆ.

  • 14 plugins เบชเปเบฒเบฅเบฑเบš PostgreSQL,
  • 8 plugins เบชเปเบฒเบฅเบฑเบš OS Linux,
  • 4 plugins เบชเปเบฒเบฅเบฑเบš OS Windows.

Mamonsu เบฅเบงเบšเบฅเบงเบกเบซเบผเบฒเบเบเบงเปˆเบฒ 110 PostgreSQL เปเบฅเบฐเบ•เบปเบงเบงเบฑเบ”เปเบ—เบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™:

  • 70 PostgreSQL metrics,
  • 40 OS Linux metrics,
  • 8 OS Windows metrics.

เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบกเบต DBMS, เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบ‚เบฐเบซเบ™เบฒเบ”เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบˆเบธเบ”เบเบงเบ”เบเบฒ, เบ„เบงเบฒเบกเป„เบงเบญเปˆเบฒเบ™ / เบ‚เบฝเบ™, locks, เบˆเปเบฒเบ™เบงเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ autovacuum, เปเบฅเบฐเบญเบฑเบ”เบ•เบฒเบเบฒเบ™เบœเบฐเบฅเบดเบ” WAL. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ„เบปเบšเบ–เป‰เบงเบ™เบ‚เบญเบ‡ metrics เบ—เบตเปˆเบกเบตเบขเบนเปˆ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™ เบ„เบฑเบ‡เป€เบเบฑเบšเบกเป‰เบฝเบ™ เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒ 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. เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเบฅเบฐเบšเบธเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเปเบฒเบฅเบฑเบš PostgreSQL เปเบฅเบฐ Zabbix Server เปƒเบ™เป„เบŸเบฅเปŒ agent.conf.

/etc/mamonsu/agent.conf

  1. เบเบณเบฅเบฑเบ‡เบชเบปเปˆเบ‡เบญเบญเบเปเบกเปˆเปเบšเบšเป„เบ›เบเบฑเบ‡เป€เบŠเบตเบšเป€เบงเบต Zabbix.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. เบเบฒเบ™เป€เบžเบตเปˆเบกเป‚เบฎเบชเปƒเบชเปˆเป€เบŠเบตเบšเป€เบงเบต Zabbix. เปเบกเปˆเปเบšเบšเบ—เบตเปˆเบชเบปเปˆเบ‡เบญเบญเบเบˆเบฐเบ–เบทเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฑเบšเป‚เบฎเบ”เปƒเบซเบกเปˆเปƒเบ™ Zabbix Server.

$ mamonsu zabbix host create mamonsu-demo

  1. เป€เบ›เบตเบ”เบ•เบปเบง.

$ service mamonsu start

เบ—เบดเบ”เบ—เบฒเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ Mamonsu

เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ Mamonsu, เบžเบงเบเป€เบฎเบปเบฒเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡ metrics เปเบฅเบฐเบชเป‰เบฒเบ‡ plugins เปƒเบซเบกเปˆ, เบ•เบปเบงเบขเปˆเบฒเบ‡ plugin เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ›เบธเบ‡เปเบฅเบฐเบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบžเบตเปˆเบกเป€เบ•เบตเบก, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ mamonsu tune.

เป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เบฅเบงเบกเบขเบนเปˆเปƒเบ™ Zabbix Agent 2

เป„เบ”เป€เบงเบตเป„เบง เปเบฅเบฐเป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš PostgreSQL pgx (เบ„เบปเบ™เบ‚เบฑเบš PG เปเบฅเบฐเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบš Go).

เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เบชเบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš: เบœเบนเป‰เบชเบปเปˆเบ‡เบญเบญเบ, เป€เบŠเบดเปˆเบ‡เป€เบญเบตเป‰เบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป‚เบ”เบเบ„เบต, เปเบฅเบฐ Configurator Zabbix Agent 2, เป€เบŠเบดเปˆเบ‡เบญเปˆเบฒเบ™เปเบฅเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ DBMS เป‚เบ”เบเบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบก metrics เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก metrics เปเบฅเบฐ metrics, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบธเปˆเบก metrics เปƒเบ™ JSON เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ›เบ—เบตเปˆเบ‚เบถเป‰เบ™เบเบฑเบš (เบฅเบฒเบเบเบฒเบ™เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบช), เปเบฅเบฐเบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบšเบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒ (เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบš).

เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆ เบชเบณ เบ„เบฑเบ™

  • เบเบฒเบ™เบฎเบฑเบเบชเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบเบฑเบš PostgreSQL เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš;
  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป„เบฅเบเบฐเบเบฒเบ™เป€เบฅเบทเบญเบเบ•เบฑเป‰เบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™;
  • เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบชเบฐเบšเบฑเบš PostgreSQL เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบ 10, เปเบฅเบฐ Zabbix Server เป€เบฅเบตเปˆเบกเบˆเบฒเบเบฎเบธเปˆเบ™ 4.4;
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเบ•เบดเบ”เบ•เบฒเบกเบซเบผเบฒเบเป†เบ•เบปเบงเบขเปˆเบฒเบ‡ PostgreSQL เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ Zabbix Agent 2 เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบซเบผเบฒเบเป†เบ„เบฑเป‰เบ‡.

เบฅเบฐเบ”เบฑเบšเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ PostgreSQL

เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบชเบฒเบกเบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš PostgreSQL เปเบกเปˆเบ™เบกเบต, i.e. เบงเบฝเบเบ‡เบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ:

  • เบ—เบปเปˆเบงเป‚เบฅเบ,
  • เป€เบŠเบ”เบŠเบฑเบ™
  • เบกเบฐเบซเบฒเบžเบฒเบ.

  1. เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบปเปˆเบงเป‚เบฅเบเบ–เบทเบเบเปเบฒเบ™เบปเบ”เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ•เบปเบงเปเบ—เบ™, เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ Session เปเบฅเบฐ Macros เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

  2. เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš PostgreSQL - Sessions เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ zabbix_agent2.conf.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ PostgreSQL - Sessions

  • เบซเบผเบฑเบ‡เบˆเบฒเบเบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™ เบเบญเบ‡เบ›เบฐเบŠเบธเบก เบŠเบทเปˆเป€เบŠเบ”เบŠเบฑเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเปเบกเปˆเบ™เบฅเบฐเบšเบธเป„เบงเป‰, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบ„เบต (เปเบกเปˆเปเบšเบš).
  • เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ URI ะธ UserName เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบเบญเบ‡เบ›เบฐเบŠเบธเบก.
  • เบ–เป‰เบฒเบŠเบทเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰, เบŠเบทเปˆเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเป€เบŠเบ”เบŠเบฑเบ™ PostgreSQL เบ–เบทเบเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

  1. เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš PostgreSQL - Macros เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ” metric เปƒเบ™เปเบกเปˆเปเบšเบš (เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™ Zabbix Agent 1), i.e. เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เปเบกเปˆเปเบšเบšเปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเปƒเบ™เบ„เบต. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡ macro เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚, i.e., เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, URI เปเบกเปˆเบ™เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เบเปˆเบญเบ™เบชเบฐเป€เปเบต.

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ PostgreSQL - Macros

เป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เบ›เบฐเบเบญเบšเบกเบตเบซเบผเบฒเบเบเบงเปˆเบฒ 95 metrics เปเบฅเป‰เบง, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบกเป€เบญเบปเบฒเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™ PostgreSQL เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡, เบฅเบงเบกเบ—เบฑเบ‡:

  • เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹,
  • เบ›เบฐโ€‹เบฅเบดโ€‹เบกเบฒเบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹,
  • เบเบฒเบ™เป€เบเบฑเบšเป„เบŸเบฅเปŒ wal,
  • เบˆเบธเบ”โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹,
  • เบˆเปเบฒเบ™เบงเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ "bloated",
  • เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบเบฒเบ™โ€‹เบˆเปเบฒโ€‹เบฅเบญเบ‡โ€‹,
  • replica lag.

PostgreSQL metrics เบšเปเปˆเปเบกเปˆเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เปเบ•เปˆ Zabbix Agent 2 เปเบฅเป‰เบงเบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™, เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบกเปˆเปเบšเบšเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบเบฑเบš node เป€เบ„เบทเบญเบ‚เปˆเบฒเบ.

เบกเบทเบˆเบฑเบš

เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปเบกเปˆเบ™เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเบฐเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป„เบ”เป‰เบฎเบฑเบš metrics.

เป€เบžเบทเปˆเบญโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบงเบฑเบ”โ€‹เปเบ—เบโ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹:

  1. เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเป€เบžเบทเปˆเบญเบฎเบฑเบšเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเปƒเปเปˆ:

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

  1. เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบŠเบธเบ”เปเบฅเบฐเบฅเบฐเบšเบธเบฅเบฐเบซเบฑเบ” metrics เป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ:

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

  1. เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป, i.e. เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ•เบปเบงเปเบ›เบ—เบตเปˆเบˆเบฐเบ›เบฐเบเบญเบšเบกเบตเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš:

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

  1. เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป:

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเบเบงเบ”เบชเบญเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบ–เบทเบเป€เบเบฑเบšเบ‚เบถเป‰เบ™เป‚เบ”เบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ Zabbix Agent 2.

  1. เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบเบฐเปเบˆ metric เปƒเปเปˆ:

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก PostgreSQL เป‚เบ”เบเปƒเบŠเป‰ Zabbix

เบซเบผเบฑเบ‡เบˆเบฒเบเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ metric, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบ—เบ™เปƒเบซเบกเปˆเบ”เป‰เบงเบ metric เปƒเบซเบกเปˆ.

เป‚เบกเบ”เบนเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบ Zabbix 5.0 เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒ https://www.zabbix.com/download. เปƒเบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ Zabbix เบ™เบตเป‰, เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ–เบทเบเบ•เบฑเป‰เบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเปเบฅเบฐเบžเบญเบ”. เปƒเบ™ Zabbix 5.0.2, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™เป„เบงเป†เบ™เบตเป‰, เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบˆเบฐเบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ URI เบ”เบฝเบง.

เบ‚เบญเบšเปƒเบˆเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™!

เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”

GitHub Mamonsu

เป€เบญเบเบฐเบชเบฒเบ™ Mamonsu

Zabbix Git

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™