Мониторинги PostgreSQL бо истифода аз Zabbix

Мониторинги PostgreSQL бо истифода аз Zabbix
Гузориши Дарья Вилкова барои Zabbix Meetup Online

Ман мехоҳам шуморо бо воситаи назорати PostgreSQL ва системаи оператсионӣ шинос кунам, ки онро ширкати мо бо истифода аз Zabbix таҳия мекунад.

Мо Zabbix-ро барои муддати тӯлонӣ ҳамчун воситаи мониторинги худ интихоб кардем, зеро он платформаи кушодаасос аст, ки аз ҷониби ҷомеаи фаъол дастгирӣ карда мешавад, ки дар Русия хеле маъмул аст.

Мо як агенти фаъол - Мамонсуро таъсис додем, ки он нисбат ба абзорҳои стандартии дар он вақт иҷозатдодашуда мониторинги фасеҳтар фароҳам овард ва ҷамъоварии метрика ва ирсоли онҳоро ба Zabbix Server таъмин намуд. Дар корхонаи мо Мамонсу дар аудит истифода мешавад.

Мамонсу

Mamonsu агенти фаъол (Zabbix Trapper) барои мониторинги PostgreSQL ва системаи оператсионӣ мебошад. Mamonsu (бо забони Python навишта шудааст) ба шумо имкон медиҳад, ки дар панҷ дақиқа танзимоти PostgreSQL ва мониторинги системаи амалиётиро танзим кунед.

Mamonsu дорои асбобҳои иловагӣ мебошад:

  • mamonsu tune фармонест, ки танзимотро дар файли конфигуратсияи PostgreSQL барои мошине, ки дар он агенти Mamonsu насб шудааст, таҳрир мекунад.
  • гузориши mamonsu фармонест, ки ҷавобҳоро дар бораи системаи оператсионӣ ва PostgreSQL тавлид мекунад.

Mamonsu дар сервери DBMS насб карда шудааст, маълумот ҷамъ мекунад ва онро дар JSON эҷод мекунад, ки онро барои визуализатсия ба сервери Zabbix мефиристад, ки дар он ҷо бояд қолаби ченакҳои он мавҷуд бошад.

Мониторинги PostgreSQL бо истифода аз Zabbix

Схемаи кори Мамонсу

Хусусиятҳои Мамонсу

  • Кори самаранок бо PostgreSQL. Пайвасти доимӣ ба PostgreSQL бартарии асосии Mamonsu мебошад. Дар ин ҳолат, шумораи максималии пайвастшавӣ ба шумораи максималии пойгоҳи додаҳо, ки он ба он пайваст мешавад, баробар аст.
  • Васеъшавӣ. Mamonsu агенти комилан "плагин" аст ва бинобар сохтори собити ҳар як плагин ва соддагии нисбии Python, метавон ба осонӣ навиштан ё таҳрир кардани плагинҳои стандартӣ, яъне параметрҳои ҷамъоварии метрикаро ёд гирифт.
  • Фарогирии васеи метрикаи мониторинг барои PotgreSQL, аз ҷумла ченакҳои мушаххаси васеъшавӣ.
  • оғози зуд, дастрасии берун аз қуттӣ.
  • Боркунии қолибҳо ва файлҳои конфигуратсия, инчунин боргузорӣ ба сервери Zabbix.
  • Салиби платформа, ки барои муштариёни мо, ки тақсимоти гуногуни Linux, аз ҷумла тақсимоти ватаниро истифода мебаранд, муҳим аст.
  • Иҷозатномаи BSD-банд.

Дар айни замон мо бисёр плагинҳоро пешниҳод мекунем ва дар ҳар як версияи навбатӣ мо кӯшиш мекунем, ки чизи нав илова кунем.

  • 14 плагинҳо барои PostgreSQL,
  • 8 плагинҳо барои OS Linux,
  • 4 плагинҳо барои OS Windows.

Mamonsu зиёда аз 110 ченакҳои PostgreSQL ва системаи амалиётиро ҷамъ меорад:

  • 70 метрикаи PostgreSQL,
  • 40 ченакҳои OS Linux,
  • 8 Метрикҳои OS Windows.

Меъёрҳои асосӣ мавҷудияти DBMS, шумораи пайвастҳо, андозаи пойгоҳи додаҳо, нуқтаҳои назорат, суръати хондан/навиштан, қуфлҳо, шумораи равандҳои автовакуум ва суръати тавлиди WAL мебошанд. Рӯйхати пурраи ченакҳои дастрас ва инчунин тавсифи муфассали ҳамаи асбобҳо дар ин ҷо мавҷуд аст анборҳо дар сайти GitHub.

Мониторинги PostgreSQL бо истифода аз Zabbix

Рӯйхати ченакҳои дастрас дар GitHub

Мамонсуро дар 5 дақиқа давонед

Барои насб кардани мониторинги 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 Server пайваст мешавад.

$ mamonsu zabbix host create mamonsu-demo

  1. Запуск.

$ service mamonsu start

Роҳҳои рушди Mamonsu

Ҳамчун як қисми таҳияи Mamonsu, мо нақша дорем, ки метрикаҳоро такмил диҳем ва плагинҳои нав эҷод кунем, ба монанди плагин барои мониторинги андозаи ҷадвалҳои инфиродӣ. Мо инчунин нақша дорем, ки абзорҳои иловагиро такмил ва эҷод кунем, инчунин имкони танзими худкорро тавассути фармон васеъ кунем оҳанги мамонсу.

Модули мониторинги PostgreSQL ҳамчун як қисми Zabbix Agent 2

Барои пайваст шудан ба PostgreSQL драйвери зуд ва маъмул истифода мешавад pgx (Ронандаи PG ва асбобҳо барои Go).

То ба ҳол, мо ду интерфейсро истифода мебарем: Exporter, ки коркардкунандаро бо калид даъват мекунад ва Configurator Zabbix Agent 2, ки параметрҳои пайвастшавиро бо сервери дар файли конфигуратсия нишондодашударо мехонад ва месанҷад.

Мо кӯшиш кардем, ки кори DBMS тавассути гурӯҳбандии ченакҳо ва бо истифода аз коркардкунанда (коркунанда) барои метрика ва гурӯҳҳои метрикӣ, инчунин бо истифода аз гурӯҳҳои метрикӣ дар JSON ҳамчун тағирёбандаҳои вобаста (объектҳои вобастагӣ) ва кашфи сатҳи паст (қоидаҳои кашф) ).

Хусусиятҳои асосӣ

  • нигоҳ доштани пайвастагии доимӣ ба PostgreSQL байни чекҳо;
  • дастгирии фосилаҳои чандири овоздиҳӣ;
  • мутобиқат бо версияҳои PostgreSQL аз 10 ва Zabbix Server аз версияи 4.4;
  • қобилияти пайваст кардан ва назорат кардани якчанд мисолҳои PostgreSQL дар як вақт аз сабаби он, ки Zabbix Agent 2 ба шумо имкон медиҳад, ки сессияҳои сершумор эҷод кунед.

Сатҳи параметрҳои пайвастшавӣ PostgreSQL

Дар маҷмӯъ, се сатҳи параметрҳои пайвасти PostgreSQL дастрасанд, яъне вазифаҳо ва танзимот:

  • Глобалӣ,
  • сессия,
  • Макросҳо.

  1. Параметрҳои глобалӣ дар сатҳи агент муқаррар карда мешаванд, Параметрҳои Сессия ва Макросҳо параметрҳои пайвасти пойгоҳи додаҳоро муайян мекунанд.

  2. Параметрҳои пайвастшавӣ ба PostgreSQL - Сессияҳо дар файл муқаррар карда мешаванд zabbix_agent2.conf.

Мониторинги PostgreSQL бо истифода аз Zabbix

Имконоти пайвастшавӣ PostgreSQL - Ҷаласаҳо

  • Пас аз калимаи калидӣ ҷаласаҳои номи ягонаи сессия муайян карда мешавад, ки он бояд дар калид (шаблон) нишон дода шавад.
  • параметрҳо URI и UserName барои ҳар як сессия лозим аст.
  • Агар номи асосӣ муайян нашуда бошад, номи асосии умумии пешфарз барои ҳама сессияҳои PostgreSQL истифода мешавад, ки он низ дар файли конфигуратсия муқаррар шудааст.

  1. Параметрҳои пайвастшавӣ ба PostgreSQL - Макросҳо дар калиди метрикӣ дар қолаб муқаррар карда мешаванд (ба усули истифодашуда дар Zabbix Agent 1), яъне онҳо дар қолаб сохта мешаванд ва сипас ҳамчун параметр дар калид муайян карда мешаванд. Дар ин ҳолат, пайдарпаии макросҳо муқаррар карда мешавад, яъне, масалан, URI ҳамеша дар аввал номбар шудаанд.

Мониторинги PostgreSQL бо истифода аз Zabbix

Параметрҳои пайвасти PostgreSQL - Макросҳо

Модули мониторинги PostgreSQL аллакай зиёда аз 95 метрикаро дар бар мегирад, ки ба шумо имкон медиҳанд, ки доираи хеле васеи параметрҳои PostgreSQL-ро фаро гиред, аз ҷумла:

  • шумораи пайвастҳо
  • андозаи пойгоҳи додаҳо,
  • бойгонии файлҳои wal,
  • гузаргоҳҳо,
  • шумораи мизҳои "дабдабанок",
  • ҳолати такрорӣ,
  • таъхири такрорӣ.

Метрикҳои PostgreSQL бидуни параметрҳои системаи амалиётӣ иттилоотӣ нестанд. Аммо Zabbix Agent 2 аллакай медонад, ки чӣ гуна ҷамъ кардани параметрҳои системаи оператсионӣ, аз ин рӯ барои гирифтани тасвири пурра, мо танҳо қолабҳои заруриро ба хост пайваст мекунем.

Корфармо

Корфармо воҳиди асосии модул мебошад, ки дар он худи дархост иҷро карда мешавад ва ба шумо имкон медиҳад, ки ченакҳоро қабул кунед.

Барои гирифтани нишондиҳандаи оддӣ:

  1. Барои гирифтани ченаки нав файл эҷод кунед:

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

  1. Мо бастаро пайваст мекунем ва калиди беназири (калидҳои) ченакҳоро муайян мекунем:

Мониторинги PostgreSQL бо истифода аз Zabbix

  1. Мо бо дархост коркардкунанда (коркунанда) эҷод мекунем, яъне мо тағирёбандаеро оғоз мекунем, ки натиҷаро дар бар мегирад:

Мониторинги PostgreSQL бо истифода аз Zabbix

  1. Мо дархостро иҷро мекунем:

Мониторинги PostgreSQL бо истифода аз Zabbix

Дархостро барои хатогиҳо тафтиш кардан лозим аст, ки пас аз он натиҷа аз ҷониби раванди Zabbix Agent 2 гирифта мешавад.

  1. Калиди нави метриро сабт кунед:

Мониторинги PostgreSQL бо истифода аз Zabbix

Пас аз бақайдгирии метрика, шумо метавонед агентро бо метри нав барқарор кунед.

Модул аз Zabbix 5.0 дар вебсайт дастрас аст https://www.zabbix.com/download. Дар ин версияи Zabbix, параметрҳо тавассути ҳост ва порт алоҳида муқаррар карда мешаванд. Дар Zabbix 5.0.2, ки ба наздикӣ бароварда мешавад, параметрҳои пайвастшавӣ ба як URI бастабандӣ карда мешаванд.

Ташаккур барои таваҷҷӯҳатон!

Пайвандҳои муфид

GitHub Mamonsu

Ҳуҷҷатҳои Мамонсу

Zabbix Git

Манбаъ: will.com

Илова Эзоҳ