Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү
Zabbix Meetup Online үчүн Дарья Вилкованын репортажы

Мен сизди биздин компания Zabbix аркылуу иштеп чыккан PostgreSQL жана операциялык системага мониторинг жүргүзүү куралы менен тааныштыргым келет.

Биз Zabbixти мониторинг куралы катары бир топ убакыт мурун тандап алганбыз, анткени ал Россияда абдан популярдуу болгон активдүү коомчулук тарабынан колдоого алынган ачык булак платформасы.

Биз активдүү агентти түздүк - Mamonsu, ал ошол убакта уруксат берилген стандарттык куралдарга караганда ийкемдүү мониторингди камсыз кылып, метрикаларды чогултууну жана аларды Zabbix серверине жөнөтүүнү камсыз кылды. Биздин компанияда аудитордук текшерүүлөрдү жүргүзүүдө Мамонсу колдонулат.

Мамонсу

Mamonsu - PostgreSQL жана операциялык системаны көзөмөлдөө үчүн активдүү агент (Zabbix Trapper). Mamonsu (Python тилинде жазылган) PostgreSQL жана операциялык системанын мониторинг орнотууларын беш мүнөттө конфигурациялоого мүмкүндүк берет.

Mamonsu кошумча куралдары бар:

  • mamonsu tune бул Mamonsu агенти орнотулган машина үчүн PostgreSQL конфигурация файлындагы жөндөөлөрдү түзөтүүчү буйрук.
  • mamonsu отчету операциялык система жана PostgreSQL жөнүндө жоопторду жаратуучу буйрук.

Mamonsu DBMS серверине орнотулган, маалыматты чогултат, аны JSONге компиляциялайт, ал Zabbix серверине визуалдаштыруу үчүн жөнөтүлөт, мында анын метрикасынын шаблону болушу керек.

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

Mamonsu операция схемасы

Mamonsu өзгөчөлүктөрү

  • PostgreSQL менен эффективдүү иштөө. PostgreSQLге туруктуу туташуу Mamonsунун негизги артыкчылыгы болуп саналат. Мында туташуулардын максималдуу саны ал кошулган маалымат базаларынын максималдуу санына барабар.
  • Кеңейтүү. Mamonsu - бул толугу менен плагин агенти жана ар бир плагиндин туруктуу түзүлүшү жана Pythonдун салыштырмалуу жөнөкөйлүгүнүн аркасында сиз жаңы жазууну же стандарттык плагиндерди, б.а. метрикаларды чогултуу параметрлерин оңдоону оңой үйрөнө аласыз.
  • Мониторинг үчүн көрсөткүчтөрдү кеңири камтуу PotgreSQL үчүн, анын ичинде конкреттүү кеңейтүүлөр үчүн көрсөткүчтөр.
  • Тез баштоо, Жеткиликтүүлүк кутудан тышкары.
  • Шаблондор жана конфигурация файлдары жүктөлүүдө, ошондой эле Zabbix серверине жүктөө.
  • Кайчылаш платформа, бул ар кандай Linux дистрибуцияларын, анын ичинде ата мекендик бөлүштүрүүнү колдонгон кардарларыбыз үчүн маанилүү.
  • BSD-пункт лицензиясы.

Учурда биз көптөгөн плагиндерди сунуштайбыз жана ар бир кийинки версияда жаңы нерсени кошууга аракет кылабыз.

  • PostgreSQL үчүн 14 плагиндер,
  • OS Linux үчүн 8 плагиндер,
  • OS Windows үчүн 4 плагиндер.

Mamonsu 110дон ашык PostgreSQL жана операциялык системанын көрсөткүчтөрүн чогултат:

  • 70 PostgreSQL көрсөткүчтөрү,
  • 40 OS Linux көрсөткүчтөрү,
  • 8 OS Windows көрсөткүчтөрү.

Негизги көрсөткүчтөргө DBMS жеткиликтүүлүгү, байланыштардын саны, маалымат базасынын өлчөмү, текшерүү пункттары, окуу/жазуу ылдамдыгы, кулпулар, автовакуум процесстеринин саны жана WAL түзүү ылдамдыгы кирет. Жеткиликтүү көрсөткүчтөрдүн толук тизмеси, ошондой эле бардык инструменттердин деталдуу сүрөттөлүшү төмөнкү бөлүмдө бар репозиторийлер GitHub сайтында.

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

GitHub боюнча жеткиликтүү көрсөткүчтөрдүн тизмеси

5 мүнөттө Mamonsu ишке киргизиңиз

Сиз PostgreSQL жана операциялык тутумдун мониторингин Mamonsu аркылуу 5 мүнөттө 5 жөнөкөй кадамды аткаруу менен орното аласыз.

  1. Mamonsu орнотуу. Mamonsu булактан же жеткиликтүү пакеттерди колдонуу менен курулган болот.

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

build && python setup.py install

  1. Байланыштарды орнотуу. Agent.conf файлында PostgreSQL жана Zabbix Server үчүн туташуу параметрлерин көрсөтүү зарыл.

/etc/mamonsu/agent.conf

  1. Zabbix серверине шаблон экспорттоо.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Zabbix серверине хост кошуу. Экспорттолгон шаблон Zabbix сервериндеги жаңы хостко автоматтык түрдө туташат.

$ mamonsu zabbix host create mamonsu-demo

  1. учуруу.

$ service mamonsu start

Мамонсу өнүктүрүү багыттары

Mamonsu өнүктүрүүнүн алкагында биз метрикаларды тактоо жана жаңы плагиндерди түзүүнү пландап жатабыз, мисалы, жеке таблицалардын өлчөмүн көзөмөлдөө үчүн плагин. Биз ошондой эле кошумча куралдарды өркүндөтүүнү жана түзүүнү, ошондой эле буйрук аркылуу автотюнинг мүмкүнчүлүктөрүн кеңейтүүнү пландап жатабыз мамонсу обону.

Zabbix Agent 2ге киргизилген PostgreSQL мониторинг модулу

Тез жана популярдуу драйвер PostgreSQLге туташуу үчүн колдонулат pgx (PG драйвери жана Go үчүн инструменттер топтому).

Азырынча биз эки интерфейсти колдонуп жатабыз: иштеткичти ачкыч менен чакырган Экспорттоочу жана конфигурация файлында көрсөтүлгөн сервердин туташуу параметрлерин окуп жана текшерген Configurator Zabbix Agent 2.

Өлчөмдөрдү топтоо жана метрика жана метрикалык топтор үчүн иштеткичти колдонуу, ошондой эле JSONде метрикалык топторду көз каранды өзгөрмөлөр (көз карандылык элементтери) жана төмөнкү деңгээлдеги ачылыштар (ачуу эрежелери) катары колдонуу менен СББнын иштешин оптималдаштырууга аракет кылдык.

Негизги өзгөчөлүктөр

  • текшерүүлөрдүн ортосунда PostgreSQL менен туруктуу байланышты сактоо;
  • добуш берүүнүн ийкемдүү интервалдарын колдоо;
  • 10дон баштап PostgreSQL версияларына жана 4.4 версиясынан баштап Zabbix Server менен шайкеш келет;
  • Zabbix Agent 2 бир нече сеанстарды түзүүгө мүмкүндүк бергендиктен, бир эле учурда бир нече PostgreSQL инстанцияларын туташтыруу жана көзөмөлдөө мүмкүнчүлүгү.

PostgreSQL байланыш параметринин деңгээли

Жалпысынан PostgreSQLге туташуу параметрлеринин үч деңгээли бар, б.а. милдеттер жана орнотуулар:

  • глобалдык,
  • Сеанстар
  • Макрос.

  1. Глобалдык параметрлер агент деңгээлинде коюлат, Сессия жана Макрос параметрлери маалымат базасы үчүн байланыш параметрлерин аныктайт.

  2. PostgreSQLге туташуу параметрлери - Сессиялар файлда коюлган zabbix_agent2.conf.

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

PostgreSQL байланыш параметрлери - Сессиялар

  • Ачкыч сөздөн кийин Клубдун жыйындары сеанстын уникалдуу аталышы көрсөтүлөт, ал ачкычта (шаблондо) көрсөтүлүшү керек.
  • параметрлер URI и UserName ар бир сессия үчүн талап кылынат.
  • Эгер маалымат базасынын аты көрсөтүлбөсө, бардык PostgreSQL сеанстары үчүн демейки жалпы маалымат базасынын аты колдонулат, ал конфигурация файлында да көрсөтүлгөн.

  1. PostgreSQLге туташуу параметрлери - Макрос шаблондогу метрикалык ачкычта (Zabbix Agent 1де колдонулган ыкмага окшош) көрсөтүлгөн, б.а. алар шаблондо түзүлүп, андан кийин ачкычтагы параметрлер катары көрсөтүлөт. Бул учурда, макростордун ырааттуулугу белгиленген, б.а., мисалы, URI ар дайым биринчи болуп саналат.

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

PostgreSQL байланыш параметрлери - Макрос

PostgreSQL мониторинг модулу буга чейин эле PostgreSQL параметрлеринин кеңири спектрин камтууга мүмкүндүк берген 95тен ашык көрсөткүчтөрдү камтыйт, анын ичинде:

  • байланыштардын саны,
  • маалымат базаларынын көлөмү,
  • wal файлдарын архивдөө,
  • башкаруу пункттары,
  • "шишиген" үстөлдөрдүн саны,
  • репликация абалы,
  • реплика артта калуу.

PostgreSQL көрсөткүчтөрү операциялык системанын параметрлерисиз маалыматтуу эмес. Бирок Zabbix Agent 2 операциялык тутумдун параметрлерин кантип чогултууну билет, андыктан толук сүрөттү алуу үчүн биз жөн гана керектүү шаблондорду тармак түйүнүнө туташтырабыз.

Handler

Иштеп чыгуучу модулдун негизги бирдиги, анда сурамдын өзү аткарылат жана метрикаларды алууга мүмкүндүк берет.

Жөнөкөй көрсөткүчтү алуу үчүн:

  1. Жаңы метрика алуу үчүн файл түзүңүз:

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

  1. Биз пакетти туташтырабыз жана уникалдуу метрикалык ачкычты(ларды) белгилейбиз:

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

  1. Биз сурам менен иштеткичти түзөбүз, б.а. биз натыйжаны камтыган өзгөрмөнү ишке киргизебиз:

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

  1. Биз өтүнүчтү аткарабыз:

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

Сурамда каталарды текшерүү керек, андан кийин натыйжа Zabbix Agent 2 процесси тарабынан алынат.

  1. Жаңы метрикалык ачкычты каттаңыз:

Zabbix аркылуу PostgreSQLге мониторинг жүргүзүү

Метриканы каттагандан кийин, агентти жаңы метрика менен кайра түзө аласыз.

Модуль Zabbix 5.0ден баштап веб-сайтта жеткиликтүү https://www.zabbix.com/download. Zabbixтин бул версиясында параметрлер хост жана порт аркылуу өзүнчө орнотулган. Жакында чыга турган Zabbix 5.0.2де туташуу параметрлери бирдиктүү URIга бириктирилет.

Конул бурганын учун рахмат!

Пайдалуу шилтемелер

GitHub Mamonsu

Мамонсу документтери

Zabbix Git

Source: www.habr.com

Комментарий кошуу