ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

ہمارے منصوبے عام طور پر علاقائی ہوتے ہیں، اور کلائنٹ عموماً وزارتیں ہوتے ہیں۔ لیکن، پبلک سیکٹر کے علاوہ، نجی تنظیمیں بھی ہمارے نظام کو استعمال کرتی ہیں۔ ان کے ساتھ عملی طور پر کوئی مسئلہ نہیں ہے۔

لہذا، اہم منصوبے علاقائی ہیں، اور کبھی کبھی ان کے ساتھ مسائل ہیں. مثال کے طور پر، کارکردگی کے ساتھ، جب خطوں میں پروڈکٹ سرورز پر نئی فعالیت شروع کرنے کی مدت کے دوران ہمارے قیمتی صارفین کی تعداد 20k سے زیادہ ہوتی ہے۔ یہ ایک درد ہے…

میرا نام رسلان ہے اور میں BARS گروپ اور کے انفارمیشن سسٹم کو سپورٹ کرتا ہوں۔ پرتشدد سیریل DBAs کے لیے قاتل بوٹ تیار کرنا. یہ پوسٹ بے ہوش دل کے لیے نہیں ہے - بہت سارے خطوط اور تصاویر ہیں۔

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

/awr

ہماری کچھ ایپلی کیشنز Oracle DBMS پر چلتی ہیں۔ PostgreSQL DBMS پر بھی منصوبے ہیں۔ اوریکل کے پاس ایک حیرت انگیز چیز ہے - DBMS پر بوجھ کے اعدادوشمار جمع کرنا، جو موجودہ مسائل کو نمایاں کرتا ہے اور یہاں تک کہ خاتمے کے لیے سفارشات بھی کرتا ہے - آٹومیٹک ورک لوڈ ریپوزٹری (AWR)۔ ایک موقع پر (یعنی درد کے وقت)، ڈویلپرز مسلسل جمع کرنے کے لئے کہا کارکردگی کے تجزیہ کے لیے AWR رپورٹس. ہم ایمانداری سے DBMS سرور پر گئے، رپورٹیں اکٹھی کیں، انہیں ہمارے پاس لے گئے اور تجزیہ کے لیے پروڈکشن میں بھیجے۔ 5ویں بار کے بعد یہ پریشان کن ہو گیا... 10ویں کے بعد یہ چڑچڑا ہو گیا...

میرے ایک ساتھی نے ایک بار یہ خیال ظاہر کیا کہ ہر وہ چیز جو ایک سے زیادہ بار کی جاتی ہے خودکار ہونی چاہیے۔ چڑچڑاپن کے لمحے تک، سچ پوچھیں تو، میں نے اس کے بارے میں نہیں سوچا اور ہر اس چیز کو خودکار بنانے کی کوشش کی جو خودکار ہو سکتی تھی، لیکن اکثر اس کی مانگ نہیں تھی اور یہ ایک اطلاقی نوعیت کی بجائے تحقیق سے زیادہ تھی۔

اور پھر میں نے سوچا: "رپورٹ بنانے کے لیے ایڈمنز کی ضرورت نہیں ہے...". سب کے بعد، رپورٹ جمع کرنے کا مطلب ہے sql اسکرپٹ @$ORACLE_HOME/rdbms/admin/awrrpt.sql کو چلانا اور رپورٹ کو سرور سے اپنی جگہ پر لے جانا... اوہ ہاں، ہم پروڈکشن کے لیے ترقی کی اجازت نہیں دیتے۔

پھر میں نے ضروری معلومات گوگل کیں، ٹیسٹ بیس پر آرٹیکل سے فنکشن بنایا، اسکرپٹ اور معجزہ چلایا - رپورٹ مرتب کی گئی تھی اور مقامی طور پر محفوظ کی جا سکتی ہے۔ ایسے فنکشنز بنائے جہاں AWR رپورٹس کی اکثر ضرورت ہوتی تھی اور ڈویلپرز کو بتایا کہ انہیں کیسے استعمال کیا جائے۔

اس وقت کے آس پاس، اپنے فارغ وقت میں، @BotFather کے ساتھ بات کرنے کے بعد، میں نے اپنے لیے، صرف تفریح ​​کے لیے ٹیلی گرام بوٹ بنایا۔ میں نے وہاں ایک سادہ فعالیت میں خرابی پیدا کی - موجودہ وقت، شرح مبادلہ، موسم دکھائیں، اسے ایک شیڈول پر اپنی بیوی (اس وقت کی گرل فرینڈ) کو تعریفیں بھیجنا سکھایا۔ شاید، اس وقت، تعریفیں بھیجنا میرے بوٹ کی سب سے مشہور فعالیت تھی، اور میری بیوی نے اس کی تعریف کی۔

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

میں نے عمل درآمد شروع کر دیا۔ میں نے یہ کیا، جیسا کہ میں کر سکتا تھا، پی ایچ پی میں (ہماری درخواست خود پی ایچ پی میں ہے، میں ازگر کے مقابلے میں اس میں زیادہ مہارت رکھتا ہوں)۔ میں ایک اچھا کوڈر نہیں ہوں، اس لیے میں آپ کو اپنا کوڈ نہیں دکھاؤں گا :)

بوٹ ہمارے کارپوریٹ نیٹ ورک پر رہتا ہے اور اسے مخصوص پروجیکٹس تک رسائی حاصل ہے، بشمول ٹارگٹ ڈیٹا بیس۔ ٹیم یا مینو میں پیرامیٹرز سے پریشان نہ ہونے کے لیے، میں نے نگرانی کی اطلاعات کے ساتھ گروپ چیٹ میں اس فعالیت کو شامل کیا۔ اس طرح بوٹ فوری طور پر جانتا ہے کہ کس ڈیٹا بیس سے رپورٹ جمع کرنی ہے۔

جیسا حکم ملا ہے۔ /awr N، جہاں N پورے گھنٹوں کی تعداد ہے جس کے لیے رپورٹ کی ضرورت ہے (بطور ڈیفالٹ - 1 گھنٹہ)، یہاں تک کہ ایک ہفتے کے لیے بھی، اگر ڈیٹا بیس دوبارہ شروع نہیں کیا گیا ہے، بوٹ فوری طور پر کام کرنا شروع کر دیتا ہے، رپورٹ کو جمع کرتا ہے، اسے بطور شائع کرتا ہے۔ ویب صفحہ اور فوراً (تقریباً وہیں) انتہائی ضروری رپورٹ کا لنک فراہم کرتا ہے۔

لنک پر عمل کریں اور یہ ہے، AWR رپورٹ:

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

جیسا کہ توقع کی گئی تھی، ڈویلپرز نے اس طرح کی رپورٹ تیار کرنے کا مقابلہ کیا، اور کچھ نے ہمارا شکریہ بھی ادا کیا۔

ٹیم کی سہولت کی تعریف کرنے کے بعد، دوسرے خطوں کے پروجیکٹ مینیجرز بھی یہی چاہتے تھے، کیونکہ وہ صارفین سے سب سے زیادہ وصول کرتے ہیں اور وہ سسٹم کی کارکردگی اور دستیابی کے بارے میں فکر مند ہیں۔ میں نے بوٹ کو دیگر چیٹس میں شامل کیا۔ وہ اب بھی اسے استعمال کرتے ہیں، اور میں اس کے بارے میں خوش ہوں۔

بعد میں، CIT کے ساتھیوں کو پتہ چلا کہ ہم رپورٹس کیسے اکٹھا کرتے ہیں اور وہ بھی کرنا چاہتے تھے۔ میں نے انہیں اپنی چیٹس میں شامل نہیں کیا، میں نے ایک شیڈول اور درخواست پر رپورٹس کی تیاری کے ساتھ ایک الگ چیٹ بنائی۔

/pgBadger

ہمارے پاس PHP میں PostgreSQL کے ساتھ مل کر دیگر ایپلیکیشنز بھی ہیں۔ میں نے اسی اصول کو استعمال کرتے ہوئے ضرورت مندوں کے لیے pgBadger رپورٹس کا مجموعہ نافذ کیا - گروپ چیٹس میں۔ پہلے تو انہوں نے اسے استعمال کیا لیکن پھر وہ رک گئے۔ فعالیت کو غیر ضروری کے طور پر کاٹ دیا گیا تھا۔

/ فرض

ہمارے محکمے میں رات کی شفٹیں ہوتی ہیں اور اس کے مطابق ایک شیڈول ہوتا ہے۔ یہ گوگل شیٹس میں ہے۔ لنک تلاش کرنا، چارٹ کھولنا، اپنے آپ کو تلاش کرنا ہمیشہ آسان نہیں ہوتا... میرے ایک سابق ساتھی نے بھی اپنے ٹیلی گرام بوٹ کے ساتھ کھیلا اور اسے ہمارے شعبہ کی چیٹ میں متعارف کرایا محکمہ کے ملازمین کے لیے ڈیوٹی شفٹ کے آغاز کے بارے میں اطلاعات۔ بوٹ شیڈول کو پارس کرتا ہے، موجودہ تاریخ تک ڈیوٹی پر موجود شخص کا تعین کرتا ہے اور شیڈول کے مطابق یا درخواست پر، رپورٹ کرتا ہے کہ آج کون ڈیوٹی پر ہے۔ یہ بہت اچھا اور آسان نکلا۔ سچ ہے، مجھے واقعی پیغامات کا فارمیٹ پسند نہیں آیا۔ اس کے علاوہ، دوسرے محکمے کے ملازمین کے لیے (مثال کے طور پر، BC "میڈیسن")، دوسری سمتوں میں ڈیوٹی پر موجود افراد کے بارے میں معلومات درحقیقت درکار نہیں، لیکن آپ کو یہ جاننے کی ضرورت ہے کہ مسائل کی صورت میں "میڈیسن" میں کون ڈیوٹی پر ہے۔ میں نے فعالیت کو "ادھار" لینے کا فیصلہ کیا، لیکن جو مجھے پسند نہیں آیا اسے تبدیل کر دیا۔ میں نے غیر ضروری معلومات کو ہٹاتے ہوئے اپنے اور دوسروں کے لیے میسج فارمیٹ کو آسان بنایا۔

/tnls

ٹیلیگرام بوٹ کا استعمال کرتے ہوئے آٹومیشن کو آزمانے کے بعد، بہت سے مختلف خیالات سامنے آئے، لیکن میں سختی سے ضروری چیزیں کرنا چاہتا تھا۔ میں نے قیادت کرنے کا فیصلہ کیا۔ درخواستوں کے اعداد و شمار اپنے صارفین کے پروجیکٹس تک رسائی کے لیے، ہم نے ایک نام نہاد "جمپ سرور" یا فارورڈنگ سرور نافذ کیا ہے۔ اس پر VPN کنکشنز اٹھائے جاتے ہیں، پھر ایپلیکیشن پورٹس، ڈیٹا بیسز اور دیگر معاون فارورڈنگز کو ہمارے مقامی نیٹ ورک کو ssh کے ذریعے فارورڈ کیا جاتا ہے، تاکہ ہمارے ملازمین کے پروجیکٹس تک آسان رسائی ہو، بغیر VPN کنکشن کے مسائل کے۔ آپ کو بس ہمارے کارپوریٹ نیٹ ورک کے لیے ایک VPN کنکشن قائم کرنے کی ضرورت ہے۔

درخواستوں کے اعداد و شمار سے پتہ چلتا ہے کہ اکثر، سرنگوں میں سے ایک کے ناکام ہونے کے بعد (نیٹ ورک کے مسائل کی صورت میں، مثال کے طور پر، ٹائم آؤٹ کی وجہ سے)، لوگ پروجیکٹ تک رسائی بحال کرنے کے لیے ہم سے رابطہ کرتے ہیں۔ زیادہ تر معاملات میں، صرف کنکشن کو دوبارہ شروع کرنا کافی ہے اور سب کچھ ٹھیک ہے۔ چلو خود کرتے ہیں۔ یہاں حکم ہے:
ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

آپ مطلوبہ مینو آئٹم میں "پڑتے ہیں"، اپنا پروجیکٹ منتخب کریں، ایک منٹ انتظار کریں اور ہر کوئی خوش اور مطمئن ہے...

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

/ecp_to_pem

مزید اعداد و شمار سے پتہ چلتا ہے کہ تبدیل کرنا اکثر ضروری ہوتا ہے۔ ای ڈی ایس کریپٹو پرو پییم فارمیٹ میں(بیس 64) مختلف انضمام کے لیے، اور ہمارے پاس ان میں سے بہت کچھ ہے۔ ٹاسک: ایک کنٹینر لیں، اسے ونڈوز کمپیوٹر پر کاپی کریں جس میں P12FromGostCSP یوٹیلیٹی انسٹال ہے (بذریعہ ادائیگی)، اسے pfx میں تبدیل کریں، اور پھر OpenSSL (GOST انکرپشن کی حمایت کے ساتھ) کا استعمال کرتے ہوئے pfx کو پییم میں تبدیل کریں۔ یہ بہت آسان نہیں ہے، لیکن آپ اسے اپنی انگلیوں کے جھٹکے سے چاہتے ہیں۔

گوگل ایک بار پھر ریسکیو میں آیا ہے۔ ملا کسی مہربان شخص کی افادیت. میں نے اسے اسمبل کیا جیسا کہ README میں لکھا ہے - اس نے کام کیا۔ میں نے بوٹ کو افادیت کے ساتھ کام کرنا سکھایا اور تقریباً فوری تبدیلی حاصل کی۔
ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

حتمی نفاذ کے وقت تک، ایک نئے انکرپشن فارمیٹ - gost-2012 پر سوئچ کرنے کا حکم جاری کیا گیا تھا۔ جہاں تک مجھے یاد ہے، اس وقت کی افادیت صرف پرانے GOST (2001) کے ساتھ کام کرتی تھی، شاید یہ کسی اور مہربان شخص سے ملتی جلتی ایک اور افادیت تھی، مجھے بالکل یاد نہیں۔
نئے GOST میں منتقلی کے بعد، حفاظتی وجوہات کی بناء پر بوٹ کی فعالیت کو ہٹا دیا گیا تھا۔ اسے ڈوکر کنٹینر میں لاگو کیا۔

Dockerfile، اگر کسی کو اس کی ضرورت ہو:

FROM ubuntu:16.04                                                                                                                                                                        
RUN apt update && apt -y install git sudo wget unzip gcc g++ make &&                        
   cd /srv/ && git clone https://github.com/kov-serg/get-cpcert.git &&                     
   cd get-cpcert && chmod +x *.sh && ./prepare.sh && ./build.sh &&                         
   mkdir -p /srv/{in,out} &&                                                               
   echo '#!/bin/bash' > /srv/getpem.sh &&                                                  
   echo 'cd /srv/get-cpcert' >> /srv/getpem.sh &&                                          
   echo './get-cpcert /srv/in/$CONT.000 $PASS > /srv/out/$CONT.pem' >> /srv/getpem.sh &&   
   chmod +x /srv/getpem.sh                                                                  ENTRYPOINT /srv/getpem.sh

تبدیل کرنے کے لیے، آپ کو اصل کنٹینر (ڈائریکٹری جیسے xxx.000) کو /srv/in ڈائریکٹری میں رکھنا ہوگا، اور تیار شدہ پیم کو /srv/out پر لے جانا ہوگا۔

تبدیل کرنے کے لیے:

 docker run -t -i -e CONT='<имя директории с контейнером(без ".000")>' -e PASS='<пароль для контейнера>' -v /srv/in:/srv/in -v /srv/out:/srv/out --name ecptopem <адрес нашего репозитория>/med/ecptopem:latest 

/emstop اور /emstart

ایک دن، ایک بہت ہی زبردست اوریکل ڈی بی اے، جس میں ڈی بی ایم ایس ایڈمنسٹریشن اور ڈیولپمنٹ کا کافی تجربہ تھا، کو ہماری کمپنی میں نوکری مل گئی۔ اور اسے فوری طور پر ssh کے ساتھ DBMS سرورز سے جڑنے میں دشواری کا سامنا کرنا پڑا: وہ نہیں جانتا کہ کہاں اور کیسے جڑنا ہے، رسائی واضح طور پر بیان نہیں کی گئی ہے، یا وہ اپنی ضرورت کی چیز کو آگے نہیں بھیج سکتا۔ ٹھیک ہے، ہم مدد کرنے میں خوش ہیں، ہم نے اسے بتایا کہ کیسے جڑنا ہے، اور اسے انٹرپرائز مینیجر کو آگے بھیج دیا۔ لیکن چیزیں اب بھی ssh کے ساتھ کام نہیں کرتی ہیں۔ میرے ساتھیوں میں سے ایک نے اسے سادہ طور پر سمجھا دیا: ایک خالص نسل کا DBA :) ہم نے فیصلہ کیا کہ اگر ہمیں سرور پر کچھ موافقت کرنے کی ضرورت ہے، تو ہم اسے خود کریں گے۔

EM بعض اوقات بھاری بوجھ کے تحت کریش ہو جاتا ہے، اور اسے دوبارہ شروع کرنے کے لیے... آپ کو ssh کے ذریعے جڑنے اور ٹرمینل کے ذریعے دوبارہ شروع کرنے کی ضرورت ہے۔ "ایڈمنز اس میں اچھے ہیں،" ہمارے نئے ساتھی نے فیصلہ کیا۔ DBMS پر بھاری بوجھ ہمارے لیے غیر معمولی نہیں ہے، اور EM کو دوبارہ شروع کرنے کی درخواستیں بھی عام ہیں۔ پھر وہی منظر: تناؤ، چڑچڑاپن اور مسئلے کا حل تلاش کرنا۔ تو اسی گروپ چیٹس میں درج ذیل کمانڈز نمودار ہوئیں: /emstop اور /emstart۔

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

/قتل

اگر ڈیٹا بیس پر سخت مقابلہ ہے، اور کبھی کبھی ایسا ہوتا ہے، تو ڈیٹا بیس کو جلدی سے اتارنا ضروری ہے۔ سب سے تیز طریقہ یہ ہے کہ پریشانی والے عمل کو ختم کر دیا جائے... ایسا کرنے کے لیے، ssh، kill -9 کے ذریعے جڑیں... بوٹ مدد کرے گا!

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

الیکسی نے ٹیم کی تعریف کی اور اسے پیار بھرا نام دیا۔ "کیلیالکا" یا بندوق؟
ایک دن، یہ دیکھنے کے بعد کہ الیکسی نے کس طرح کوشش کی اور اس کا سامنا کرنا پڑا، ہر ایک عمل کے لیے ہر بار xxx میں داخل ہو کر، میں نے اپنی بندوق میں "ملٹی بیرل" شامل کرنے کا فیصلہ کیا:

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

یہ بہتر ہے! سب کچھ آپ کے لیے ہے، الیکسی، بس کام کرو، پیارے!

فطری طور پر اتنی اہم ٹیم محدود تھی۔ user_id کے ذریعے رسائی - "فول پروف"۔ یہ دیکھ کر کہ لیشا کس طرح بڑی تدبیر سے ڈیٹا بیس سرور پر عمل کو ختم کرتا ہے، کئی لوگوں نے بے ترتیب پراسیس نمبر کے ساتھ کمانڈ داخل کرنے کی کوشش کی، لیکن آپ میرے سمارٹ بوٹ کو بے وقوف نہیں بنا سکتے، اس نے فوراً انکار کردیا۔

/ الرٹ لاگ

ٹھیک ہے، صرف اس صورت میں، میں نے حکم دیا:
/alertlog <لائنوں کی تعداد> - الرٹ لاگ لائنوں کی مخصوص تعداد حاصل کریں۔
بوٹ ایک الرٹ لاگ کھینچتا ہے اور اسے ہماری سروس کو بھیجتا ہے، جیسے پیسٹ بن، جسے پیسٹ کہتے ہیں، اور درخواست چیٹ پر پیسٹ کا لنک بھیجتا ہے۔

/چیک

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

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

/checks کمانڈ ایک سادہ اور غیر مبہم مینو دکھاتا ہے؛ اس بار ہمارے لڑکوں نے بغیر ہدایات کے اس کمانڈ کو استعمال کرنے کا طریقہ سیکھا!

جب آپ مطلوبہ آئٹم کو منتخب کرتے ہیں تو، مینو کے بجائے، ٹیسٹ کے آغاز کے بارے میں ایک اطلاع ظاہر ہوتی ہے، تاکہ بے صبر صارفین ہمارا ٹیسٹ 100500 بار نہ چلا سکیں:

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

منتخب کردہ مینو آئٹم پر منحصر ہے، ہمارے نیٹ ورک سے ایک مخصوص ٹیسٹ شروع کیا جاتا ہے، یعنی اس مشین سے جہاں بوٹ رہتا ہے (جیمیٹر وہاں پہلے سے ترتیب دیا گیا ہے، ضروری ٹیسٹ موجود ہیں...) یا براہ راست ڈیٹا سینٹر سے (ایک سے ایپلی کیشن کے ساتھ تیار مشین)، تاکہ تاخیر کی جانچ کرتے وقت نیٹ ورک کنکشن کو خارج کر دیا جائے، یا انہیں کم سے کم کر دیا جائے۔

ٹیسٹ مکمل کرنے اور لاگ وصول کرنے کے بعد، بوٹ اسے پارس کرتا ہے اور نتیجہ "انسانی پڑھنے کے قابل" شکل میں پیش کرتا ہے:

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

میٹرکس کا مجموعہ

فعالیت آچکی ہے اور دلچسپی رکھنے والے پروجیکٹ مینیجرز کو اپنے علاقوں کے لیے ایسا فنکشن موصول ہوا ہے۔ اور ایک ہمدرد پروجیکٹ مینیجر نے کہا: "میں وقت کے اعدادوشمار حاصل کرنا چاہتا ہوں!" CIT سے کسی نے اسے بتایا کہ Zabbix میں اس سب کی نگرانی کرنا آسان ہوگا۔ Zabbix، تو Zabbix...

میں نے سوچا کہ مجھے حل کی نقل تیار کرنے کی ضرورت کے لئے تیاری کرنے کی ضرورت ہے... میں نے خیال کو ڈوکر کنٹینر میں ڈال دیا۔ کنٹینر میں، جیمیٹر کو شیڈول کے مطابق لانچ کیا جاتا ہے (ہر 10 منٹ میں ایک بار)، لاگ کو ایک خاص جگہ پر رکھتا ہے، پی ایچ پی اسے پارس کرتا ہے اور ضروری ڈیٹا کو ویب صفحہ کی شکل میں دکھاتا ہے۔ Zabbix، web.page.get کلید کا استعمال کرتے ہوئے، یہ صفحہ وصول کرتا ہے، بعض منحصر عناصر کے لیے باقاعدگی سے ضروری ڈیٹا منتخب کرتا ہے اور ایک گراف بناتا ہے۔

ہم وقت، اعصاب اور انسان کے اوقات بچاتے ہیں۔

مجھے لگتا ہے کہ یہ برا نہیں نکلا۔ گراف کا مشاہدہ کرکے، ہم، سب سے پہلے، ایپلیکیشن کی تخمینی رفتار دیکھتے ہیں، اور اگر گراف پر چوٹیوں کا پتہ چل جاتا ہے، تو ہم تقریباً جانتے ہیں کہ "پلگ" کہاں ہے۔ یہ آسان ہے. اب تک یہ صرف ایک علاقے کے لیے مانگ میں نکلا ہے، لیکن میں دلچسپی رکھنے والوں کے لیے اسے نقل کرنے کے لیے تیار ہوں۔

درخواست کی ترقی

اسی طرح کے کاموں کے اعدادوشمار نے حال ہی میں کام کو آسان بنانے اور آسان بنانے کے لیے مزید خیالات کو جنم دیا ہے۔ کچھ پروجیکٹس پر، ایپلیکیشن سرورز پر، کلیدی کرپٹو پرو کنٹینرز کو انسٹال کرنے کی ضرورت ہے، ان میں سے بہت سے ہیں، اور ڈیجیٹل دستخط وقت کے ساتھ ختم ہو جاتے ہیں۔ کبھی کبھی دن میں 2 کام آتے ہیں۔ لیکن میں نے ان مقاصد کے لیے بوٹ استعمال کرنا غیر محفوظ سمجھا اور فیصلہ کیا کہ میں براہ راست ایپلی کیشن میں فعالیت پیدا کروں گا۔ قدرتی طور پر اجازت اور رسائی کے حقوق کی جانچ کے ساتھ۔ اگر آپ کے پاس ضروری مراعات ہیں تو، ایک اضافی مینو آئٹم ڈیجیٹل دستخطوں، انسٹالیشن، ڈیلیٹ کرنے، معلومات دیکھنے وغیرہ کے لیے دستیاب ہوگا۔ جیسا کہ یہ پتہ چلا، یہ بہت مشکل نہیں ہے، آپ کو صرف موجودہ ہدایات کو تھوڑا سا پڑھنے کی ضرورت ہے، کوڈ کی مثالیں دیکھیں، ترقی میں زیادہ تجربہ کار ساتھیوں سے پوچھیں، اور پھر یہ کریں۔ تحقیقی عمل کے دوران، ایپلی کیشن میں اضافہ کرنے کے لیے خیالات سامنے آئے۔ میں نپولین کے منصوبے نہیں بناؤں گا - وہاں ترقی ہے، ہر ایک کو اپنے اپنے کام کو ذہن میں رکھنے دیں۔ لیکن جب یہ دلچسپ ہے، میں خود کر رہا ہوں۔

منصوبے

جیسا کہ میں نے کہا، بہت سے مختلف خیالات ہمارے بوٹ کو استعمال کرنے کے لیے پیدا ہوئے تھے اور نہ صرف - عام طور پر، آئیے کہتے ہیں، "آٹومیشن پوائنٹس" کے لیے آئیڈیاز، ان میں سے بہت سے بھول گئے، کیونکہ میرے پاس انہیں لکھنے کا وقت نہیں تھا۔ اب میں ذہن میں آنے والی ہر چیز کو لکھنے کی کوشش کرتا ہوں، اور میں تجویز کرتا ہوں کہ دوسرے بھی ایسا ہی کریں۔

لیکن الیکسی اپنی خواہشات دینا نہیں بھولتا۔ تازہ ترین سے:
/kill_sql SQL_ID - اس SQL_ID درخواست کے ساتھ تمام سیشنز کو ختم کریں۔
/kill_block - روٹ بلاکنگ سیشن کو ختم کریں۔
/show_em - EM کارکردگی کی تصویر دکھائیں۔
وہ ایک چالاک آدمی ہے، وہ اپنے فون سے DBA سلائی کرنا چاہتا ہے =)

اس طرح ہم مادر وطن کے مفاد کے لیے کام کرتے ہیں!

آپ اپنے آپ کو معمول کے اور غیر دلچسپ کاموں سے کیسے چھٹکارا دیتے ہیں؟

مجھے امید ہے کہ پڑھنا دلچسپ نکلا، اور شاید کسی کے لیے مفید بھی، اور میرے پاس قارئین کو بور کرنے کا وقت نہیں تھا... ہم سب کے لیے گڈ لک۔

ماخذ: www.habr.com

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