Daria Vilkovaning Zabbix Meetup Online uchun reportaji
Men sizni kompaniyamiz tomonidan Zabbix yordamida ishlab chiqilayotgan PostgreSQL va operatsion tizim monitoringi vositasi bilan tanishtirmoqchiman.
Biz Zabbix-ni uzoq vaqt davomida monitoring vositasi sifatida tanladik, chunki u Rossiyada juda mashhur bo'lgan faol hamjamiyat tomonidan qo'llab-quvvatlanadigan ochiq kodli platformadir.
Biz faol agent - Mamonsu yaratdik, u o'sha paytda ruxsat etilgan standart vositalardan ko'ra ko'proq moslashuvchan monitoringni ta'minladi va o'lchovlarni to'plash va ularni Zabbix Serverga yuborishni ta'minladi. Kompaniyamizda auditda Mamonsu qo'llaniladi.
Mamonsu
Mamonsu PostgreSQL va operatsion tizimni kuzatish uchun faol agent (Zabbix Trapper). Mamonsu (Python tilida yozilgan) PostgreSQL va operatsion tizim monitoringi sozlamalarini besh daqiqada sozlash imkonini beradi.
Mamonsu qo'shimcha vositalarga ega:
- mamonsu tune - bu Mamonsu agenti o'rnatilgan mashina uchun PostgreSQL konfiguratsiya faylidagi sozlamalarni tahrirlovchi buyruq.
- mamonsu report - bu operatsion tizim va PostgreSQL haqida javoblarni ishlab chiqaruvchi buyruq.
Mamonsu ma'lumotlar bazasi serveriga o'rnatiladi, ma'lumot to'playdi, uni JSONga tuzadi, u vizualizatsiya uchun Zabbix serveriga yuboradi, bu erda uning ko'rsatkichlari uchun shablon bo'lishi kerak.
Mamonsu ish sxemasi
Mamonsu xususiyatlari
- PostgreSQL bilan samarali ishlash. PostgreSQL-ga doimiy ulanish Mamonsu-ning asosiy afzalligi hisoblanadi. Bunday holda, ulanishlarning maksimal soni u bog'langan ma'lumotlar bazalarining maksimal soniga teng bo'ladi.
- Kengaytirish qobiliyati. Mamonsu to'liq "plagin" agenti bo'lib, har bir plaginning qattiq tuzilishi va Pythonning nisbatan soddaligi tufayli yangi plaginlarni yozish yoki standart plaginlarni, ya'ni o'lchovlar yig'ish parametrlarini tahrirlashni oson o'rganish mumkin.
- Monitoring ko'rsatkichlarining keng qamrovi PotgreSQL uchun kengaytmaga xos ko'rsatkichlarni o'z ichiga oladi.
- tez ishga tushirish, qutidan tashqarida mavjudligi.
- Shablonlar va konfiguratsiya fayllarini yuklash, shuningdek, Zabbix serveriga yuklash.
- O'zaro faoliyat platforma, bu turli xil Linux distributivlaridan, shu jumladan mahalliy distribyutorlardan foydalanadigan mijozlarimiz uchun muhimdir.
- BSD-band litsenziyasi.
Ayni paytda biz juda ko'p plaginlarni taklif qilamiz va har bir keyingi versiyada biz yangi narsalarni qo'shishga harakat qilamiz.
- PostgreSQL uchun 14 plagin,
- OS Linux uchun 8 plagin,
- Windows OS uchun 4 plagin.
Mamonsu 110 dan ortiq PostgreSQL va operatsion tizim ko'rsatkichlarini to'playdi:
- 70 PostgreSQL ko'rsatkichlari,
- 40 OS Linux ko'rsatkichlari,
- 8 OS Windows ko'rsatkichlari.
Asosiy ko'rsatkichlar ma'lumotlar bazasi mavjudligi, ulanishlar soni, ma'lumotlar bazasi hajmi, nazorat nuqtalari, o'qish / yozish tezligi, qulflar, avtovakuum jarayonlari soni va WAL yaratish tezligini o'z ichiga oladi. Mavjud ko'rsatkichlarning to'liq ro'yxati, shuningdek, barcha vositalarning batafsil tavsifi bo'limda mavjud
GitHub-da mavjud ko'rsatkichlar ro'yxati
Mamonsuni 5 daqiqada ishga tushiring
Mamonsu yordamida PostgreSQL va operatsion tizim monitoringini sozlash uchun siz 5 oddiy qadamni bajarib, buni 5 daqiqada qilishingiz mumkin.
- Mamonsu o'rnatilmoqda. Mamonsu manbadan tuzilishi yoki mavjud paketlardan foydalanishi mumkin.
$ git clone ... && cd mamonsu && python setup.py
build && python setup.py install
- Ulanishni sozlash. agent.conf faylida PostgreSQL va Zabbix Server uchun ulanish parametrlarini o'rnatish kerak.
/etc/mamonsu/agent.conf
- Shablonni Zabbix serveriga eksport qiling.
$ mamonsu zabbix template export
/usr/share/mamonsu/example.xml
- Zabbix serveriga xost qo'shilmoqda. Eksport qilingan shablon avtomatik ravishda Zabbix Serverdagi yangi xostga ulanadi.
$ mamonsu zabbix host create mamonsu-demo
- Ishga tushish.
$ service mamonsu start
Mamonsu rivojlanish yo'nalishlari
Mamonsu-ni rivojlantirish doirasida biz ko'rsatkichlarni yaxshilashni va yangi plaginlarni yaratishni rejalashtirmoqdamiz, masalan, alohida jadvallar hajmini kuzatish uchun plagin. Shuningdek, biz qo'shimcha vositalarni yaxshilash va yaratishni, shuningdek, buyruq orqali avtomatik sozlash imkoniyatlarini kengaytirishni rejalashtirmoqdamiz mamonsu kuy.
Zabbix Agent 2 ning bir qismi sifatida PostgreSQL monitoring moduli
PostgreSQL-ga ulanish uchun tez va mashhur drayverdan foydalaniladi
Hozircha biz ikkita interfeysdan foydalanmoqdamiz: ishlov beruvchini kalit bo'yicha chaqiradigan Exporter va konfiguratsiya faylida ko'rsatilgan server bilan ulanish parametrlarini o'qiydigan va tekshiradigan Configurator Zabbix Agent 2.
Biz ko'rsatkichlarni guruhlash va ko'rsatkichlar va metrik guruhlar uchun ishlov beruvchi (ishlovchi) dan foydalanish, shuningdek JSONdagi o'lchov guruhlarini bog'liq o'zgaruvchilar (qaramlik elementlari) va past darajadagi kashfiyotlar (kashfiyot qoidalari) sifatida ishlatish orqali DBMS ishini optimallashtirishga harakat qildik. ).
Asosiy xususiyatlar
- tekshiruvlar o'rtasida PostgreSQL bilan doimiy aloqani saqlab turish;
- moslashuvchan ovoz berish intervallarini qo'llab-quvvatlash;
- 10 dan boshlab PostgreSQL versiyalari va 4.4 versiyasidan boshlab Zabbix Server bilan moslik;
- Zabbix Agent 2 bir nechta seanslarni yaratishga imkon berishi tufayli bir vaqtning o'zida bir nechta PostgreSQL misollarini ulash va kuzatish imkoniyati.
PostgreSQL ulanish parametrlari darajalari
Hammasi bo'lib PostgreSQL ulanish parametrlarining uchta darajasi mavjud, ya'ni vazifalar va sozlamalar:
- global,
- sessiya,
- Makroslar.
-
Global parametrlar agent darajasida o'rnatiladi, Sessiya va Makros parametrlari ma'lumotlar bazasi ulanish parametrlarini belgilaydi.
-
PostgreSQL ga ulanish parametrlari - Seanslar faylda o'rnatiladi zabbix_agent2.conf.
PostgreSQL ulanish parametrlari - Seanslar
- Kalit so'zdan keyin Suhbatlar kalitda (shablonda) ko'rsatilishi kerak bo'lgan noyob sessiya nomi ko'rsatilgan.
- parametrlar URI ΠΈ Foydalanuvchi nomi har bir seans uchun talab qilinadi.
- Agar asosiy nom ko'rsatilmagan bo'lsa, barcha PostgreSQL seanslari uchun standart umumiy baza nomi ishlatiladi, u ham konfiguratsiya faylida o'rnatiladi.
- PostgreSQL-ga ulanish parametrlari - Makrolar shablondagi metrik kalitda o'rnatiladi (Zabbix Agent 1 da qo'llaniladigan usulga o'xshash), ya'ni ular shablonda yaratiladi va keyin kalitda parametrlar sifatida ko'rsatiladi. Bunday holda, makrolar ketma-ketligi belgilanadi, ya'ni, masalan, URI har doim birinchi o'rinda turadi.
PostgreSQL ulanish parametrlari - Makroslar
PostgreSQL monitoring moduli allaqachon PostgreSQL parametrlarining juda keng doirasini qamrab olish imkonini beruvchi 95 dan ortiq ko'rsatkichlarni o'z ichiga oladi, jumladan:
- ulanishlar soni
- ma'lumotlar bazasi hajmi,
- wal fayllarini arxivlash,
- nazorat punktlari,
- "shishib ketgan" jadvallar soni,
- replikatsiya holati,
- replikatsiya kechikishi.
PostgreSQL ko'rsatkichlari operatsion tizim parametrlarisiz informatsion emas. Ammo Zabbix Agent 2 allaqachon operatsion tizim parametrlarini qanday yig'ishni biladi, shuning uchun to'liq rasmni olish uchun biz kerakli shablonlarni xostga ulaymiz.
Ishlovchi
Ishlovchi modulning asosiy birligi bo'lib, unda so'rovning o'zi bajariladi va ko'rsatkichlarni olish imkonini beradi.
Oddiy ko'rsatkichni olish uchun:
- Yangi metrikani olish uchun fayl yarating:
zabbix/src/go/plugins/postgres/handler_uptime.go
- Biz paketni ulaymiz va o'lchovlarning noyob kalitini (kalitlarini) belgilaymiz:
- Biz so'rov bilan ishlov beruvchi (ishlovchi) yaratamiz, ya'ni natijani o'z ichiga olgan o'zgaruvchini ishga tushiramiz:
- Biz so'rovni bajaramiz:
Xatolar uchun so'rovni tekshirish kerak, shundan so'ng natija Zabbix Agent 2 jarayoni tomonidan olinadi.
- Yangi metrik kalitni ro'yxatdan o'tkazing:
Ko'rsatkichni ro'yxatdan o'tkazgandan so'ng, agentni yangi ko'rsatkich bilan qayta qurishingiz mumkin.
Modul saytda Zabbix 5.0 dan boshlab mavjud
E'tiboringiz uchun tashakkur!
Foydali havolalar
Manba: www.habr.com