यह विस्तृत मार्गदर्शिका आपको आपके Linux (या यूनिक्स) सर्वर की निगरानी के लिए dstat का उपयोग करने की प्रक्रिया के माध्यम से कदम दर कदम आगे ले जाएगी।
यदि आपके कार्यालय में या किसी डेटा सेंटर में लिनक्स सर्वर चल रहा है जिसके लिए आप जिम्मेदार हैं, तो आप लगभग सौ प्रतिशत अपटाइम बनाए रखना चाहते हैं। ऐसे मामले में आप यह सुनिश्चित करना चाहते हैं कि आप इस बात पर नज़र रखें कि सिस्टम कैसे चल रहा है। सटीक होने के लिए आप उन सभी सिस्टम संसाधनों की निगरानी करना चाहते हैं जो सिस्टम के ठीक चलने में योगदान करते हैं जिसके परिणामस्वरूप उच्च अपटाइम होता है। मेमोरी, सीपीयू, डिस्क उपयोग… कुछ ऐसी चीजें हैं जिन्हें आप देखना चाहते हैं। हम आमतौर पर लिनक्स या यूनिक्स इंस्टॉलेशन के साथ आने वाले टूल्स के संयोजन का उपयोग करेंगे, जैसे कि "फ्री", "टॉप", "vmstat" ... मैं आपको एक ऐसे टूल से परिचित कराऊंगा जो आपको लगभग सभी जानकारी देता है अन्य उपकरण संयुक्त रूप से आपको एक ही छत के नीचे प्रदान करते हैं – Dstat. इस कमांड लाइन टूल के डेवलपर, डैग वियर्स, इसे "vmstat, iostat, netstat और ifstat के लिए एक बहुमुखी प्रतिस्थापन" कहते हैं। वह कहते हैं कि "Dstat अपनी कुछ सीमाओं को पार करता है और कुछ अतिरिक्त सुविधाएँ जोड़ता है ..." मेरे लिए Dstat सभी कमांड लाइन सिस्टम मॉनिटरिंग टूल की जननी है। इसे स्थापित करना आसान है, उपयोग में आसान है, इसे आसानी से बदला जा सकता है, और यह रिपोर्ट तैयार करता है कि आप अपने बॉस को प्रभावित करने के लिए एक ग्राफ के रूप में प्लॉट कर सकते हैं।
Dstat इंस्टॉल करना
Dstat इंस्टॉलर डाउनलोड करके प्रारंभ करें। अपने वेब ब्राउज़र को Dstat प्रोजेक्ट के होमपेज पर इंगित करें - https://dag.wieers.com/home-made/dstat/। पृष्ठ के उस भाग तक स्क्रॉल करें जहां डाउनलोड सूचीबद्ध हैं। लिनक्स का फ्लेवर चुनें जिस पर आप एप्लिकेशन इंस्टॉल करना चाहते हैं और डाउनलोड लिंक पर क्लिक करें। अब आपके द्वारा चलाए जा रहे Linux वितरण के संस्करण के लिए Dstat का नवीनतम संस्करण डाउनलोड करें। मैं आपको दिखाऊंगा कि इसे Red Hat Enterprise Linux संस्करण 4 मशीन के लिए कैसे करना है:
# wget https://dag.wieers.com/rpm/packages/dstat/dstat-0.6.6-1.el4.rf.noarch.rpm
अब Dstat इंस्टॉल करें:
# rpm -Uvh dstat-0.6.6-1.el4.rf.noarch.rpm
यदि इंस्टॉलेशन त्रुटियों के बिना चला गया, तो बस, आपके पास Dstat स्थापित है और उपयोग के लिए तैयार है। यदि कुछ निर्भरताएँ थीं जो स्थापना के दौरान सामने आईं तो बस आवश्यक पैकेज स्थापित करें और पुनः प्रयास करें। मुझे नहीं लगता कि Dstat पर बहुत अधिक निर्भरताएँ हैं, इसलिए आपको किसी भी समस्या का सामना नहीं करना चाहिए।
Dstat का उपयोग करना
आपके सिस्टम पर Dstat स्थापित होने के साथ आपको जाने के लिए अच्छा होना चाहिए। टर्मिनल से कमांड लॉन्च करके शुरू करें:
# dstat
आउटपुट निम्न जैसा कुछ होगा। ctrl+c . के कुंजी संयोजन को दबाएं बाहर निकलने के लिए।
# dstat
—-कुल-सीपीयू-उपयोग—--डिस्क/कुल-नेट/कुल-—पेजिंग-—सिस्टम-
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_
7 1 91 1 0 0| 0 0 | 0 0 | 0 0 | 0 0
1 0 99 0 0 0| 0 0 | 0 0 | 0 0 |1051 1945
0 0 100 0 0 0| 0 12k|2269B 11.2k| 0 0 |1031 1923
1 0 99 0 0 0| 0 40k| 0 0 | 0 0 |1078 2235
0 0 100 0 0 0| 0 16k|6027B 21.5k| 0 0 |1008 2219
Dstat के लिए कई विकल्प उपलब्ध हैं। जैसा कि मैंने पहले उल्लेख किया है कि Dstat को ट्वीक करना काफी आसान है। इसलिए यदि आप डेटा रीडिंग को CPU, डिस्क और नेटवर्क तक सीमित करना चाहते हैं, तो निम्न कमांड चलाएँ:
# dstat -CDN
-डिस्क/टोटल -नेट/टोटल--पेजिंग--सिस्टम-
_राइट राइट|_recv _send|__in_ _out_|_int_ _csw_
0 0 | 0 0 | 0 0 | 0 0
0 12k|2295B 9603B| 0 0 |1053 1957
0 0 | 594बी 0 | 0 0 |1002 1893
0 960k| 292बी 3346बी| 0 0 |1072 2012
0 4096B| 64बी 0 | 0 0 |1031 1939
आप एप्लिकेशन के सहायता दस्तावेज़ में अधिक विकल्प पा सकते हैं, जिन्हें आप निम्नलिखित दर्ज करके एक्सेस कर सकते हैं:
# dstat -h
विकल्पों के साथ थोड़ा खेलें ताकि आप उनके साथ सहज हो जाएं। डेटा पढ़ने के बीच डिफ़ॉल्ट अंतराल दो सेकंड है। जरूरत पड़ने पर आप उस अंतराल को बदल सकते हैं। अंतराल को दस सेकंड तक बढ़ाने के लिए निम्नलिखित दर्ज करें:
# dstat 10
एक अन्य उपयोगी विशेषता प्रत्येक प्रविष्टि के लिए समेकित अद्यतन प्राप्त करना है। तो आप हर दस सेकंड में एक नई लाइन में Dstat आपको एक अपडेट दे सकते हैं, लेकिन जैसे-जैसे डेटा बदलता है आपकी लाइन हर सेकंड अपडेट होती जाती है।
आप वैकल्पिक रूप से चाहते हैं कि Dstat आपको तीन सेकंड की आवृत्ति के साथ पांच अपडेट दे। यहां बताया गया है कि आप ऐसा कैसे करेंगे:
# dstat 3 5
—-कुल-सीपीयू-उपयोग—--डिस्क/कुल-नेट/कुल-—पेजिंग-—सिस्टम-
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_
3 1 95 2 0 0| 0 0 | 0 0 | 0 0 | 0 0
2 11 87 1 0 0| 0 180k|2581B 3239B| 0 0 |1136 697
7 8 85 0 0 0| 0 0 | 115k 106k| 0 0 |1603 3985
2 1 98 0 0 0| 0 0 |77.5k 170k| 0 0 |1744 3856
1 0 100 0 0 0| 0 0 |3451B 9993B| 0 0 |1045 149
2 1 94 4 0 0| 0 276k|20.4k 31.1k| 0 0 |1219 804
जो फीचर मुझे सबसे ज्यादा उपयोगी लगता है वह है आउटपुट। Dstat आपको अल्पविराम से अलग की गई फ़ाइल में लिखे गए सत्र के आउटपुट की अनुमति देता है जिसे बाद में Microsoft Excel जैसे स्प्रेडशीट एप्लिकेशन में आयात किया जा सकता है और डेटा को ग्राफ़ में प्लॉट किया जा सकता है। यहां बताया गया है कि इसका उपयोग कैसे किया जा सकता है।
# dstat -आउटपुट /tmp/dstat_data.csv -CDN
जब आप अपने एप्लिकेशन चलाते हैं या इस मशीन पर अपना परीक्षण करते हैं, तो उपरोक्त कमांड को चलने दें। ctrl+c . के कुंजी संयोजन को दबाएं जब आपका हो जाए। फ़ाइल खोलें dstat_data.csv माइक्रोसॉफ्ट एक्सेल या ओपन ऑफिस जैसे स्प्रेडशीट एप्लिकेशन के साथ। फिर आप उन स्तंभों का चयन कर सकते हैं जिन्हें आप ग्राफ़ में प्लॉट करना चाहते हैं और अपने स्प्रैडशीट एप्लिकेशन को जादू करने दें।
मेल द्वारा रिपोर्ट प्राप्त करें
ऐसे मामले हो सकते हैं जिनमें आप यह देखना चाहते हैं कि आपका सर्वर समय के साथ कैसा प्रदर्शन कर रहा है। आप लिनक्स में एक पृष्ठभूमि प्रक्रिया सेट कर सकते हैं जो आपको एक निश्चित अंतराल के साथ एक रीडिंग देगा, एक रिपोर्ट तैयार करेगा, और आपको फाइल मेल करेगा। यह तनाव-परीक्षण के दौरान विशेष रूप से उपयोगी हो सकता है। यहां बताया गया है कि आप ऐसा कैसे कर सकते हैं। निम्न स्क्रिप्ट तीन घंटे के लिए Dstat चलाएगी, हर 30 सेकंड में डेटा पढ़ेगी, और रिपोर्ट को [email protected] पर भेज देगी।
<ब्लॉकक्वॉट>
#!/bin/bash
dstat -output /tmp/dstat_data_mail.csv -CDN 30 360
mutt -a /tmp/dstat_data_mail.csv -s "Dstat Report for 3hour run" me@myemailid. कॉम
उपरोक्त स्क्रिप्ट को dstat_script.sh . नामक फ़ाइल में सहेजें अपने सर्वर पर, इसे निष्पादन योग्य अनुमति दें और फिर इसे पृष्ठभूमि प्रक्रिया के रूप में चलाएं:
# chmod +x dstat_script.sh
# nohup ./dstat_script.sh &
पूर्ण। हाँ, यह इतना आसान है। यह रिपोर्ट चलने के बाद अब आपको मेल कर दी जाएगी। आप वैकल्पिक रूप से इस स्क्रिप्ट को दैनिक क्रॉन जॉब के रूप में शेड्यूल कर सकते हैं ताकि आप हर दिन यह डेटा प्राप्त कर सकें।
जैसा कि आप पहले ही महसूस कर चुके होंगे कि प्रदर्शन निगरानी और डिबगिंग के लिए लागू होने पर Dstat एक अद्भुत उपकरण है। एकत्र किए गए डेटा की ग्रैन्युलैरिटी, आवृत्ति और प्रकृति पूरी तरह आप पर निर्भर है। Dstat आपको यह जानने का अधिकार देता है कि आपके सर्वर पर क्या चल रहा है। बुद्धिमानी से इस्तेमाल की गई यह शक्ति आपके लिए बहुत कम रातों की नींद हराम कर सकती है।