Abojuto PostgreSQL nipa lilo Zabbix

Abojuto PostgreSQL nipa lilo Zabbix
Iroyin nipasẹ Daria Vilkova fun Zabbix Meetup Online

Mo fẹ lati ṣafihan rẹ si PostgreSQL ati ohun elo ibojuwo ẹrọ ṣiṣe, eyiti o jẹ idagbasoke nipasẹ ile-iṣẹ wa nipa lilo Zabbix.

A ti yan Zabbix gẹgẹbi ohun elo ibojuwo wa fun igba pipẹ nitori pe o jẹ ipilẹ orisun ṣiṣi ti o ni atilẹyin nipasẹ agbegbe ti nṣiṣe lọwọ ti o jẹ olokiki pupọ ni Russia.

A ṣẹda aṣoju ti nṣiṣe lọwọ - Mamonsu, eyiti o pese ibojuwo irọrun diẹ sii ju awọn irinṣẹ boṣewa ni akoko yẹn ti a gba laaye, ati rii daju gbigba awọn metiriki ati fifiranṣẹ wọn si olupin Zabbix. Ninu ile-iṣẹ wa, a lo Mamonsu ninu iṣayẹwo.

Mamonsu

Mamonsu jẹ aṣoju ti nṣiṣe lọwọ (Zabbix Trapper) fun mimojuto PostgreSQL ati ẹrọ ṣiṣe. Mamonsu (ti a kọ ni Python) gba ọ laaye lati tunto PostgreSQL ati awọn eto ibojuwo ẹrọ ni iṣẹju marun.

Mamonsu ni awọn irinṣẹ afikun:

  • mamonsu tune jẹ aṣẹ ti o ṣatunkọ awọn eto inu faili iṣeto PostgreSQL fun ẹrọ ti o ti fi sori ẹrọ aṣoju Mamonsu.
  • Iroyin mamonsu jẹ aṣẹ ti o ṣe awọn idahun nipa ẹrọ ṣiṣe ati PostgreSQL.

Mamonsu ti fi sori ẹrọ lori olupin DBMS, gba alaye, ṣajọ sinu JSON, eyiti o firanṣẹ si olupin Zabbix fun iworan, nibiti o yẹ ki o jẹ awoṣe fun awọn metiriki rẹ.

Abojuto PostgreSQL nipa lilo Zabbix

Ilana iṣẹ Mamonsu

Awọn ẹya ara ẹrọ Mamonsu

  • Ṣiṣẹ daradara pẹlu PostgreSQL. Asopọmọra itẹramọṣẹ si PostgreSQL jẹ anfani akọkọ ti Mamonsu. Ni idi eyi, nọmba ti o pọju ti awọn asopọ jẹ dogba si nọmba ti o pọju ti awọn apoti isura infomesonu si eyiti o so pọ.
  • Expandability. Mamonsu jẹ aṣoju “afikun” ni kikun, ati nitori eto ti o wa titi ti ohun itanna kọọkan ati ayedero ibatan ti Python, eniyan le ni rọọrun kọ ẹkọ bi o ṣe le kọ tuntun tabi ṣatunkọ awọn afikun boṣewa, ie awọn aye gbigba awọn metiriki.
  • Agbegbe jakejado ti awọn metiriki ibojuwo fun PotgreSQL pẹlu awọn metiriki-pato itẹsiwaju.
  • ifilọlẹ iyara, wiwa jade kuro ninu apoti.
  • Ikojọpọ awọn awoṣe ati awọn faili iṣeto ni, bakanna bi ikojọpọ si olupin Zabbix.
  • Syeed agbelebu, eyi ti o ṣe pataki fun awọn onibara wa ti o lo orisirisi awọn pinpin Linux, pẹlu awọn ti ile.
  • BSD-ipin iwe-ašẹ.

Ni akoko ti a nse kan pupo ti afikun ati ni kọọkan tókàn ti ikede a gbiyanju lati fi nkankan titun.

  • Awọn afikun 14 fun PostgreSQL,
  • Awọn afikun 8 fun OS Linux,
  • 4 afikun fun OS Windows.

Mamonsu kojọ ju 110 PostgreSQL ati awọn metiriki ẹrọ ṣiṣe:

  • Awọn metiriki PostgreSQL 70,
  • 40 OS Linux metiriki,
  • 8 OS Windows metiriki.

Awọn metiriki bọtini pẹlu wiwa DBMS, nọmba awọn asopọ, iwọn data data, awọn aaye ayẹwo, iyara kika/kikọ, awọn titiipa, nọmba awọn ilana adaṣe, ati iyara iran WAL. Atokọ pipe ti awọn metiriki ti o wa, bakanna bi apejuwe alaye ti gbogbo awọn irinṣẹ, wa ninu awọn ibi ipamọ lori aaye GitHub.

Abojuto PostgreSQL nipa lilo Zabbix

Akojọ awọn metiriki ti o wa lori GitHub

Ṣiṣe Mamonsu ni iṣẹju 5

Lati ṣeto ibojuwo ti PostgreSQL ati ẹrọ ṣiṣe nipa lilo Mamonsu, o le ṣe ni iṣẹju 5 nipa titẹle awọn igbesẹ ti o rọrun 5.

  1. Fifi Mamonsu sori ẹrọ. Mamonsu le kọ lati orisun tabi lo awọn idii to wa.

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

build && python setup.py install

  1. Eto asopọ. O jẹ dandan lati ṣeto awọn paramita asopọ fun PostgreSQL ati Zabbix Server ninu faili agent.conf.

/etc/mamonsu/agent.conf

  1. Ṣe agbejade awoṣe si olupin Zabbix.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Fifi kan ogun to Zabbix Server. Awoṣe ti a firanṣẹ si okeere yoo sopọ laifọwọyi si agbalejo tuntun lori olupin Zabbix.

$ mamonsu zabbix host create mamonsu-demo

  1. Запуск.

$ service mamonsu start

Awọn itọnisọna Idagbasoke Mamonsu

Gẹgẹbi apakan ti idagbasoke Mamonsu, a gbero lati ṣatunṣe awọn metiriki ati ṣẹda awọn afikun tuntun, gẹgẹbi ohun itanna kan fun ibojuwo iwọn awọn tabili kọọkan. A tun gbero lati ni ilọsiwaju ati ṣẹda awọn irinṣẹ afikun, bakanna bi faagun awọn agbara iṣatunṣe adaṣe nipasẹ aṣẹ naa mamonsu tune.

Module ibojuwo PostgreSQL gẹgẹbi apakan ti Aṣoju Zabbix 2

Awakọ iyara ati olokiki ni a lo lati sopọ si PostgreSQL pgx (awakọ PG ati ohun elo irinṣẹ fun Go).

Titi di isisiyi, a nlo awọn atọkun meji: Olutaja, eyiti o pe oluṣakoso nipasẹ bọtini, ati Aṣoju Aṣoju Zabbix 2, eyiti o ka ati ṣayẹwo awọn aye asopọ pẹlu olupin ti a sọ pato ninu faili iṣeto ni.

A gbiyanju lati mu iṣẹ ti DBMS pọ si nipa ṣiṣe akojọpọ awọn metiriki ati lilo olutọju (olutọju) fun awọn metiriki ati awọn ẹgbẹ metiriki, bakannaa lilo awọn ẹgbẹ ti awọn metiriki ni JSON gẹgẹbi awọn oniyipada ti o gbẹkẹle (awọn ohun ti o gbẹkẹle), ati wiwa ipele kekere (awọn ofin wiwa). ).

Awọn ẹya pataki

  • mimu asopọ ti o tẹsiwaju si PostgreSQL laarin awọn sọwedowo;
  • atilẹyin fun awọn aaye arin idibo ti o rọ;
  • Ibamu pẹlu awọn ẹya PostgreSQL ti o bẹrẹ lati 10 ati Zabbix Server ti o bẹrẹ lati ẹya 4.4;
  • agbara lati sopọ ati ki o bojuto ọpọ PostgreSQL instances ni akoko kanna nitori si ni otitọ wipe Zabbix Agent 2 faye gba o lati ṣẹda ọpọ igba.

Awọn ipele Paramita Asopọ PostgreSQL

Ni apapọ, awọn ipele mẹta wa ti awọn paramita asopọ asopọ PostgreSQL, ie awọn iṣẹ-ṣiṣe ati awọn eto:

  • Agbaye,
  • Awọn akoko,
  • Makiro.

  1. Awọn paramita Agbaye ti ṣeto ni ipele aṣoju, Apejọ ati awọn paramita Macros ṣalaye awọn aye asopọ data data.

  2. Awọn paramita asopọ si PostgreSQL - Awọn akoko ti ṣeto ninu faili naa zabbix_agent2.conf.

Abojuto PostgreSQL nipa lilo Zabbix

Awọn aṣayan Asopọ PostgreSQL - Awọn akoko

  • Lẹhin Koko akoko Orukọ igba alailẹgbẹ kan pato, eyiti o gbọdọ wa ni pato ninu bọtini (awoṣe).
  • Awọn ipele Uri и Olumulo olumulo beere fun gbogbo igba.
  • Ti orukọ ipilẹ ko ba ni pato, orukọ ipilẹ aiyipada ti o wọpọ fun gbogbo awọn akoko PostgreSQL ni a lo, eyiti o tun ṣeto ninu faili iṣeto ni.

  1. Asopọmọra paramita to PostgreSQL - Macros ti wa ni ṣeto ninu awọn metric bọtini ni awọn awoṣe (iru si awọn ọna ti a lo ninu Zabbix Agent 1), i.e. wọn ti wa ni da ni awọn awoṣe ati ki o si pato bi sile ninu awọn bọtini. Ni idi eyi, ọna ti awọn macros ti wa ni ipilẹ, ie, fun apẹẹrẹ, Uri nigbagbogbo akojọ akọkọ.

Abojuto PostgreSQL nipa lilo Zabbix

PostgreSQL asopọ paramita - Macros

Module ibojuwo PostgreSQL tẹlẹ pẹlu diẹ sii ju awọn metiriki 95 ti o gba ọ laaye lati bo iwọn jakejado ti awọn paramita PostgreSQL, pẹlu:

  • nọmba ti awọn isopọ
  • iwọn data data,
  • fifipamọ awọn faili wal,
  • awọn ibi ayẹwo,
  • nọmba ti awọn tabili "bloated",
  • ipo atunkọ,
  • ajọra idaduro.

Awọn metiriki PostgreSQL kii ṣe alaye laisi awọn aye eto iṣẹ. Ṣugbọn Zabbix Agent 2 ti mọ tẹlẹ bi o ṣe le gba awọn aye eto ẹrọ, nitorinaa lati gba aworan ni kikun, a kan sopọ awọn awoṣe pataki si agbalejo naa.

Olutọju

Olutọju naa jẹ ẹyọ akọkọ ti module ninu eyiti ibeere naa funrararẹ ti ṣiṣẹ ati eyiti o fun ọ laaye lati gba awọn metiriki.

Lati gba metric ti o rọrun:

  1. Ṣẹda faili kan lati gba metiriki titun kan:

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

  1. A so package pọ ati pato bọtini alailẹgbẹ (awọn bọtini) ti awọn metiriki:

Abojuto PostgreSQL nipa lilo Zabbix

  1. A ṣẹda olutọju (olutọju) pẹlu ibeere kan, ie, a bẹrẹ oniyipada kan ti yoo ni abajade ninu:

Abojuto PostgreSQL nipa lilo Zabbix

  1. A ṣe ibeere naa:

Abojuto PostgreSQL nipa lilo Zabbix

O jẹ dandan lati ṣayẹwo ibeere fun awọn aṣiṣe, lẹhin eyi abajade yoo gba nipasẹ ilana Zabbix Agent 2.

  1. Forukọsilẹ bọtini metiriki tuntun naa:

Abojuto PostgreSQL nipa lilo Zabbix

Lẹhin iforukọsilẹ metiriki naa, o le tun oluranlowo ṣe pẹlu metiriki tuntun naa.

Module naa wa ti o bẹrẹ lati Zabbix 5.0 lori oju opo wẹẹbu https://www.zabbix.com/download. Ninu ẹya Zabbix yii, awọn paramita ti ṣeto lọtọ nipasẹ agbalejo ati ibudo. Ni Zabbix 5.0.2, eyiti yoo tu silẹ laipẹ, awọn paramita asopọ yoo wa ni akopọ sinu URI ẹyọkan.

Ṣayẹwo bayi!

wulo awọn ọna asopọ

GitHub Mamonsu

Mamonsu Documentation

Zabbix Git

orisun: www.habr.com

Fi ọrọìwòye kun