Zabbix کا استعمال کرتے ہوئے PostgreSQL کی نگرانی کرنا

Zabbix کا استعمال کرتے ہوئے PostgreSQL کی نگرانی کرنا
Zabbix Meetup آن لائن کے لیے Daria Vilkova کی رپورٹ

میں آپ کو PostgreSQL اور آپریٹنگ سسٹم مانیٹرنگ ٹول سے متعارف کرانا چاہتا ہوں، جسے ہماری کمپنی Zabbix کا استعمال کرتے ہوئے تیار کر رہی ہے۔

ہم نے زبکس کو اپنے مانیٹرنگ ٹول کے طور پر ایک طویل عرصے کے لیے چنا ہے کیونکہ یہ ایک اوپن سورس پلیٹ فارم ہے جسے ایک فعال کمیونٹی کی حمایت حاصل ہے جو روس میں بہت مقبول ہے۔

ہم نے ایک فعال ایجنٹ - Mamonsu بنایا، جس نے اس وقت اجازت دیے گئے معیاری ٹولز سے زیادہ لچکدار نگرانی فراہم کی، اور میٹرکس کو جمع کرنے اور انہیں Zabbix سرور کو بھیجنے کو یقینی بنایا۔ ہماری کمپنی میں، Mamonsu کو آڈٹ میں استعمال کیا جاتا ہے۔

مامونسو

Mamonsu PostgreSQL اور آپریٹنگ سسٹم کی نگرانی کے لیے ایک فعال ایجنٹ (Zabbix Trapper) ہے۔ Mamonsu (Python میں لکھا ہوا) آپ کو PostgreSQL اور آپریٹنگ سسٹم مانیٹرنگ سیٹنگز کو پانچ منٹ میں کنفیگر کرنے کی اجازت دیتا ہے۔

Mamonsu کے پاس اضافی ٹولز ہیں:

  • mamonsu tune ایک کمانڈ ہے جو PostgreSQL کنفیگریشن فائل میں اس مشین کے لیے سیٹنگز میں ترمیم کرتی ہے جس پر Mamonsu ایجنٹ انسٹال ہے۔
  • mamonsu رپورٹ ایک کمانڈ ہے جو آپریٹنگ سسٹم اور PostgreSQL کے بارے میں جوابات تیار کرتی ہے۔

Mamonsu DBMS سرور پر انسٹال ہے، معلومات اکٹھا کرتا ہے، اسے JSON میں کمپوز کرتا ہے، جو اسے ویژولائزیشن کے لیے Zabbix سرور کو بھیجتا ہے، جہاں اس کے میٹرکس کے لیے ایک ٹیمپلیٹ ہونا چاہیے۔

Zabbix کا استعمال کرتے ہوئے PostgreSQL کی نگرانی کرنا

Mamonsu کام سکیم

مامونسو کی خصوصیات

  • PostgreSQL کے ساتھ موثر کام. PostgreSQL سے مستقل تعلق Mamonsu کا بنیادی فائدہ ہے۔ اس صورت میں، کنکشن کی زیادہ سے زیادہ تعداد ڈیٹا بیس کی زیادہ سے زیادہ تعداد کے برابر ہے جس سے یہ جڑتا ہے۔
  • توسیع. Mamonsu ایک مکمل طور پر "پلگ ان" ایجنٹ ہے، اور ہر پلگ ان کی مقررہ ساخت اور Python کی نسبتاً سادگی کی وجہ سے، کوئی بھی آسانی سے سیکھ سکتا ہے کہ نیا کیسے لکھنا ہے یا معیاری پلگ ان میں ترمیم کرنا ہے، یعنی میٹرکس کلیکشن پیرامیٹرز۔
  • مانیٹرنگ میٹرکس کی وسیع کوریج PotgreSQL کے لیے بشمول ایکسٹینشن مخصوص میٹرکس۔
  • فوری لانچ، باکس سے باہر دستیابی.
  • ٹیمپلیٹس اور کنفیگریشن فائلوں کو اپ لوڈ کرنا، نیز Zabbix سرور پر اپ لوڈ کرنا۔
  • کراس پلیٹ فارمجو ہمارے صارفین کے لیے اہم ہے جو مختلف لینکس ڈسٹری بیوشنز استعمال کرتے ہیں، بشمول گھریلو۔
  • بی ایس ڈی شق کا لائسنس.

اس وقت ہم بہت سارے پلگ ان پیش کرتے ہیں اور ہر اگلے ورژن میں ہم کچھ نیا شامل کرنے کی کوشش کرتے ہیں۔

  • PostgreSQL کے لیے 14 پلگ ان،
  • OS لینکس کے لیے 8 پلگ ان،
  • OS ونڈوز کے لیے 4 پلگ ان۔

Mamonsu 110 سے زیادہ PostgreSQL اور آپریٹنگ سسٹم میٹرکس جمع کرتا ہے:

  • 70 PostgreSQL میٹرکس،
  • 40 OS لینکس میٹرکس،
  • 8 OS ونڈوز میٹرکس۔

کلیدی میٹرکس میں DBMS کی دستیابی، کنکشن کی تعداد، ڈیٹا بیس کا سائز، چیک پوائنٹس، پڑھنے/لکھنے کی رفتار، تالے، آٹو ویکیوم کے عمل کی تعداد، اور WAL جنریشن کی رفتار شامل ہیں۔ دستیاب میٹرکس کی ایک مکمل فہرست، نیز تمام ٹولز کی تفصیلی وضاحت، میں دستیاب ہے۔ ذخیرے GitHub سائٹ پر۔

Zabbix کا استعمال کرتے ہوئے PostgreSQL کی نگرانی کرنا

GitHub پر دستیاب میٹرکس کی فہرست

5 منٹ میں Mamonsu چلائیں۔

Mamonsu کا استعمال کرتے ہوئے PostgreSQL اور آپریٹنگ سسٹم کی مانیٹرنگ سیٹ اپ کرنے کے لیے، آپ 5 آسان مراحل پر عمل کر کے 5 منٹ میں کر سکتے ہیں۔

  1. 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 کی ترقی کی ہدایات

Mamonsu کی ترقی کے حصے کے طور پر، ہم میٹرکس کو بہتر بنانے اور نئے پلگ ان بنانے کا ارادہ رکھتے ہیں، جیسے کہ انفرادی میزوں کے سائز کی نگرانی کے لیے ایک پلگ ان۔ ہم اضافی ٹولز کو بہتر بنانے اور تخلیق کرنے کے ساتھ ساتھ کمانڈ کے ذریعے آٹو ٹیوننگ کی صلاحیتوں کو بڑھانے کا بھی منصوبہ رکھتے ہیں۔ mamonsu کی دھن.

Zabbix Agent 2 کے حصے کے طور پر PostgreSQL مانیٹرنگ ماڈیول

PostgreSQL سے جڑنے کے لیے ایک تیز اور مقبول ڈرائیور استعمال کیا جاتا ہے۔ pgx (گو کے لیے پی جی ڈرائیور اور ٹول کٹ)۔

اب تک، ہم دو انٹرفیس استعمال کر رہے ہیں: ایکسپورٹر، جو ہینڈلر کو کلید کے ذریعے کال کرتا ہے، اور کنفیگریٹر زیبکس ایجنٹ 2، جو کنفیگریشن فائل میں متعین سرور کے ساتھ کنکشن کے پیرامیٹرز کو پڑھتا اور چیک کرتا ہے۔

ہم نے میٹرکس کو گروپ بندی کرکے اور میٹرکس اور میٹرک گروپس کے لیے ایک ہینڈلر (ہینڈلر) کا استعمال کرتے ہوئے DBMS کے کام کو بہتر بنانے کی کوشش کی، ساتھ ہی JSON میں میٹرکس کے گروپوں کو بطور انحصار متغیرات (انحصار اشیاء) اور کم سطح کی دریافت (دریافت کے قواعد) )۔

اہم خصوصیات

  • چیکوں کے درمیان PostgreSQL سے مستقل کنکشن برقرار رکھنا؛
  • لچکدار پولنگ وقفوں کے لیے سپورٹ؛
  • 10 سے شروع ہونے والے PostgreSQL ورژن اور ورژن 4.4 سے شروع ہونے والے Zabbix سرور کے ساتھ مطابقت؛
  • ایک ہی وقت میں متعدد PostgreSQL مثالوں کو جوڑنے اور ان کی نگرانی کرنے کی صلاحیت اس حقیقت کی وجہ سے کہ Zabbix Agent 2 آپ کو متعدد سیشنز بنانے کی اجازت دیتا ہے۔

PostgreSQL کنکشن پیرامیٹر لیولز

مجموعی طور پر، PostgreSQL کنکشن پیرامیٹرز کی تین سطحیں دستیاب ہیں، یعنی کام اور ترتیبات:

  • عالمی ،
  • اجلاس،
  • میکروس

  1. عالمی پیرامیٹرز ایجنٹ کی سطح پر سیٹ کیے جاتے ہیں، سیشن اور میکروس پیرامیٹرز ڈیٹا بیس کنکشن کے پیرامیٹرز کی وضاحت کرتے ہیں۔

  2. PostgreSQL سے کنکشن کے پیرامیٹرز - فائل میں سیشن سیٹ ہیں۔ zabbix_agent2.conf.

Zabbix کا استعمال کرتے ہوئے PostgreSQL کی نگرانی کرنا

PostgreSQL کنکشن کے اختیارات - سیشنز

  • مطلوبہ الفاظ کے بعد سیشن ایک منفرد سیشن کا نام متعین کیا گیا ہے، جسے کلید (ٹیمپلیٹ) میں بیان کیا جانا چاہیے۔
  • پیرامیٹر URI и UserName ہر سیشن کے لیے ضروری ہے۔
  • اگر بیس کا نام متعین نہیں کیا گیا ہے، تمام PostgreSQL سیشنز کے لیے پہلے سے طے شدہ کامن بیس کا نام استعمال کیا جاتا ہے، جو کنفیگریشن فائل میں بھی سیٹ ہوتا ہے۔

  1. PostgreSQL سے کنکشن کے پیرامیٹرز - میکرو ٹیمپلیٹ میں میٹرک کلید میں سیٹ کیے گئے ہیں (Zabbix Agent 1 میں استعمال کیے گئے طریقہ کی طرح)، یعنی وہ ٹیمپلیٹ میں بنائے گئے ہیں اور پھر کلید میں پیرامیٹرز کے طور پر بیان کیے گئے ہیں۔ اس صورت میں، میکروز کی ترتیب مقرر ہے، یعنی، مثال کے طور پر، URI ہمیشہ سب سے پہلے درج.

Zabbix کا استعمال کرتے ہوئے PostgreSQL کی نگرانی کرنا

PostgreSQL کنکشن پیرامیٹرز - میکروس

PostgreSQL مانیٹرنگ ماڈیول میں پہلے سے ہی 95 سے زیادہ میٹرکس شامل ہیں جو آپ کو PostgreSQL پیرامیٹرز کی کافی وسیع رینج کا احاطہ کرنے کی اجازت دیتے ہیں، بشمول:

  • کنکشن کی تعداد
  • ڈیٹا بیس کا سائز،
  • وال فائلوں کو آرکائیو کرنا،
  • چوکیاں،
  • "پھیلا ہوا" میزوں کی تعداد،
  • نقل کی حیثیت،
  • نقل کی تاخیر.

PostgreSQL میٹرکس آپریٹنگ سسٹم کے پیرامیٹرز کے بغیر معلوماتی نہیں ہیں۔ لیکن Zabbix Agent 2 پہلے ہی جانتا ہے کہ آپریٹنگ سسٹم کے پیرامیٹرز کو کیسے جمع کرنا ہے، لہذا مکمل تصویر حاصل کرنے کے لیے، ہم صرف ضروری ٹیمپلیٹس کو میزبان سے جوڑ دیتے ہیں۔

ہینڈلر

ہینڈلر اس ماڈیول کی مرکزی اکائی ہے جس میں درخواست خود عمل میں آتی ہے اور جو آپ کو میٹرکس حاصل کرنے کی اجازت دیتا ہے۔

ایک سادہ میٹرک حاصل کرنے کے لیے:

  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

Mamonsu دستاویزی

زیبکس گٹ

ماخذ: www.habr.com

نیا تبصرہ شامل کریں