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 серверине визуалдаштыруу үчүн жөнөтүлөт, мында анын метрикасынын шаблону болушу керек.
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 боюнча жеткиликтүү көрсөткүчтөрдүн тизмеси
5 мүнөттө Mamonsu ишке киргизиңиз
Сиз PostgreSQL жана операциялык тутумдун мониторингин Mamonsu аркылуу 5 мүнөттө 5 жөнөкөй кадамды аткаруу менен орното аласыз.
- Mamonsu орнотуу. Mamonsu булактан же жеткиликтүү пакеттерди колдонуу менен курулган болот.
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- Байланыштарды орнотуу. Agent.conf файлында PostgreSQL жана Zabbix Server үчүн туташуу параметрлерин көрсөтүү зарыл.
/etc/mamonsu/agent.conf
- Zabbix серверине шаблон экспорттоо.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Zabbix серверине хост кошуу. Экспорттолгон шаблон Zabbix сервериндеги жаңы хостко автоматтык түрдө туташат.
$ mamonsu zabbix host create mamonsu-demo
- учуруу.
$ service mamonsu start
Мамонсу өнүктүрүү багыттары
Mamonsu өнүктүрүүнүн алкагында биз метрикаларды тактоо жана жаңы плагиндерди түзүүнү пландап жатабыз, мисалы, жеке таблицалардын өлчөмүн көзөмөлдөө үчүн плагин. Биз ошондой эле кошумча куралдарды өркүндөтүүнү жана түзүүнү, ошондой эле буйрук аркылуу автотюнинг мүмкүнчүлүктөрүн кеңейтүүнү пландап жатабыз мамонсу обону.
Zabbix Agent 2ге киргизилген PostgreSQL мониторинг модулу
Тез жана популярдуу драйвер PostgreSQLге туташуу үчүн колдонулат
Азырынча биз эки интерфейсти колдонуп жатабыз: иштеткичти ачкыч менен чакырган Экспорттоочу жана конфигурация файлында көрсөтүлгөн сервердин туташуу параметрлерин окуп жана текшерген Configurator Zabbix Agent 2.
Өлчөмдөрдү топтоо жана метрика жана метрикалык топтор үчүн иштеткичти колдонуу, ошондой эле JSONде метрикалык топторду көз каранды өзгөрмөлөр (көз карандылык элементтери) жана төмөнкү деңгээлдеги ачылыштар (ачуу эрежелери) катары колдонуу менен СББнын иштешин оптималдаштырууга аракет кылдык.
Негизги өзгөчөлүктөр
- текшерүүлөрдүн ортосунда PostgreSQL менен туруктуу байланышты сактоо;
- добуш берүүнүн ийкемдүү интервалдарын колдоо;
- 10дон баштап PostgreSQL версияларына жана 4.4 версиясынан баштап Zabbix Server менен шайкеш келет;
- Zabbix Agent 2 бир нече сеанстарды түзүүгө мүмкүндүк бергендиктен, бир эле учурда бир нече PostgreSQL инстанцияларын туташтыруу жана көзөмөлдөө мүмкүнчүлүгү.
PostgreSQL байланыш параметринин деңгээли
Жалпысынан PostgreSQLге туташуу параметрлеринин үч деңгээли бар, б.а. милдеттер жана орнотуулар:
- глобалдык,
- Сеанстар
- Макрос.
-
Глобалдык параметрлер агент деңгээлинде коюлат, Сессия жана Макрос параметрлери маалымат базасы үчүн байланыш параметрлерин аныктайт.
-
PostgreSQLге туташуу параметрлери - Сессиялар файлда коюлган zabbix_agent2.conf.
PostgreSQL байланыш параметрлери - Сессиялар
- Ачкыч сөздөн кийин Клубдун жыйындары сеанстын уникалдуу аталышы көрсөтүлөт, ал ачкычта (шаблондо) көрсөтүлүшү керек.
- параметрлер URI и UserName ар бир сессия үчүн талап кылынат.
- Эгер маалымат базасынын аты көрсөтүлбөсө, бардык PostgreSQL сеанстары үчүн демейки жалпы маалымат базасынын аты колдонулат, ал конфигурация файлында да көрсөтүлгөн.
- PostgreSQLге туташуу параметрлери - Макрос шаблондогу метрикалык ачкычта (Zabbix Agent 1де колдонулган ыкмага окшош) көрсөтүлгөн, б.а. алар шаблондо түзүлүп, андан кийин ачкычтагы параметрлер катары көрсөтүлөт. Бул учурда, макростордун ырааттуулугу белгиленген, б.а., мисалы, URI ар дайым биринчи болуп саналат.
PostgreSQL байланыш параметрлери - Макрос
PostgreSQL мониторинг модулу буга чейин эле PostgreSQL параметрлеринин кеңири спектрин камтууга мүмкүндүк берген 95тен ашык көрсөткүчтөрдү камтыйт, анын ичинде:
- байланыштардын саны,
- маалымат базаларынын көлөмү,
- wal файлдарын архивдөө,
- башкаруу пункттары,
- "шишиген" үстөлдөрдүн саны,
- репликация абалы,
- реплика артта калуу.
PostgreSQL көрсөткүчтөрү операциялык системанын параметрлерисиз маалыматтуу эмес. Бирок Zabbix Agent 2 операциялык тутумдун параметрлерин кантип чогултууну билет, андыктан толук сүрөттү алуу үчүн биз жөн гана керектүү шаблондорду тармак түйүнүнө туташтырабыз.
Handler
Иштеп чыгуучу модулдун негизги бирдиги, анда сурамдын өзү аткарылат жана метрикаларды алууга мүмкүндүк берет.
Жөнөкөй көрсөткүчтү алуу үчүн:
- Жаңы метрика алуу үчүн файл түзүңүз:
zabbix/src/go/plugins/postgres/handler_uptime.go
- Биз пакетти туташтырабыз жана уникалдуу метрикалык ачкычты(ларды) белгилейбиз:
- Биз сурам менен иштеткичти түзөбүз, б.а. биз натыйжаны камтыган өзгөрмөнү ишке киргизебиз:
- Биз өтүнүчтү аткарабыз:
Сурамда каталарды текшерүү керек, андан кийин натыйжа Zabbix Agent 2 процесси тарабынан алынат.
- Жаңы метрикалык ачкычты каттаңыз:
Метриканы каттагандан кийин, агентти жаңы метрика менен кайра түзө аласыз.
Модуль Zabbix 5.0ден баштап веб-сайтта жеткиликтүү
Конул бурганын учун рахмат!
Пайдалуу шилтемелер
Source: www.habr.com