Ubuntu Server के लिए सिस्टम मॉनिटरिंग टूल में महारत हासिल करना इष्टतम प्रदर्शन सुनिश्चित करने, समस्याओं का निदान करने और सिस्टम विश्वसनीयता बनाए रखने के लिए आवश्यक है। इस ट्यूटोरियल में, हम रीयल-टाइम संसाधन निगरानी, डिस्क I/O, नेटवर्क गतिविधि और सर्वर डैशबोर्ड सहित Ubuntu सर्वर के लिए उपलब्ध सर्वोत्तम सिस्टम मॉनिटरिंग टूल का पता लगाएँगे।
पिछला लेख:
01. Ubuntu Server का परिचय – SysOSX: AI & Cloud
02. अपना पहला Ubuntu Server कैसे सेट अप करें: शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud
03.Ubuntu Server के लिए Linux कमांड लाइन में महारत – SysOSX: AI & Cloud
05. Ubuntu Server के लिए नेटवर्किंग की मूल बातें: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
07.Ubuntu Server को पैच करना और अपडेट करना: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud
09. Ubuntu सर्वर ऑडिटिंग और लॉगिंग
उपयोग: htop और top से रीयल-टाइम संसाधन निगरानी
परिचय: htop और top
निम्नलिखित दोनों टूल, htop और top रीयल-टाइम में सिस्टम संसाधनों की निगरानी के लिए आवश्यक कमांड-लाइन टूल हैं। वे CPU उपयोग, मेमोरी खपत और चल रही प्रक्रियाओं जैसी जानकारी प्रदर्शित करते हैं।
इंस्टॉल और रन करना: htop (यह डिफ़ॉल्ट रूप से इंस्टॉल होता है)
इंस्टॉल करने के लिए: htop, निम्नलिखित चलाएँ:
sudo apt update
sudo apt install htop
लॉन्च करने के लिए, htop, बस टाइप करें:
htop
प्रमुख विशेषताएँ और उपयोग परिदृश्य: htop
htop के लिए आदर्श है:
- संसाधन-गहन प्रक्रियाओं की पहचान करना: आप CPU या मेमोरी उपयोग के अनुसार प्रक्रियाओं को क्रमबद्ध करके संसाधन हॉग को जल्दी खोज सकते हैं।
- प्रक्रियाओं को समाप्त करना:
F9का उपयोग करके अनुत्तरदायी या समस्याग्रस्त प्रक्रियाओं को सीधेhtopइंटरफ़ेस से समाप्त करें। - थ्रेड की निगरानी: अलग-अलग थ्रेड और उनके संसाधन उपयोग को देखने के लिए प्रक्रियाओं का विस्तार करें।
- कॉलम अनुकूलित करना:
F2दबाकर डिस्प्ले कॉन्फ़िगर करें और डिस्क I/O या नेटवर्क उपयोग जैसी मेट्रिक्स जोड़ें/हटाएँ।
उपयोग: top
top एक सरल टूल है, जो Ubuntu सर्वर पर पहले से इंस्टॉल होता है। इसे चलाने के लिए:
top
प्रमुख कमांड: top:
- कुंजी:
Shift + pदबाकर CPU उपयोग के अनुसार क्रमबद्ध करें। - कुंजी:
Shift + mदबाकर मेमोरी उपयोग के अनुसार क्रमबद्ध करें। - कुंजी:
qदबाकर बाहर निकलें।
प्रदर्शन मेट्रिक्स के लिए sysstat को इंस्टॉल और कॉन्फ़िगर करना
क्या है: sysstat?
sysstat समय के साथ सिस्टम प्रदर्शन मेट्रिक्स एकत्र करने और रिपोर्ट करने के लिए टूल का एक समूह है। इसमें जैसे उपयोगिताएँ शामिल हैं iostat, vmstat, और sar.
इंस्टॉल करना: sysstat
इंस्टॉल करने के लिए: sysstat:
sudo apt update
sudo apt install sysstat
कॉन्फ़िगर करना: sysstat
कॉन्फ़िगरेशन फ़ाइल संपादित करके डेटा संग्रह सक्षम करें:
sudo nano /etc/default/sysstat
बदलें ENABLED="false" को ENABLED="true". कर दें। सहेजें और बाहर निकलें, फिर सेवा पुनरारंभ करें:
sudo systemctl restart sysstat
उपयोग: sysstat टूल
iostat: डिस्क I/O प्रदर्शन की निगरानी करें।iostat

vmstat: मेमोरी, CPU और I/O आँकड़ों की निगरानी करें।vmstat

sar: सिस्टम गतिविधि की ऐतिहासिक रिपोर्ट तैयार करें।sar -u 5 10 # CPU usage every 5 seconds for 10 intervals

डिस्क I/O और नेटवर्क गतिविधि की निगरानी
डिस्क I/O निगरानी: iotop
निम्नलिखित जैसे टूल का उपयोग करें: iostat (पैकेज: sysstat) या iotop रीयल-टाइम डिस्क I/O निगरानी के लिए।
इंस्टॉल करने के लिए: iotop:
sudo apt update
sudo apt install iotop
निम्नलिखित आदेश से चलाएँ: iotop :
sudo iotop
हालाँकि, निम्नलिखित टूल चलाते समय कुछ उपयोगकर्ताओं को निम्नलिखित त्रुटि मिल सकती है। टूल: iotop:
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %
त्रुटि ठीक करें: iotop .
यह समस्या इसलिए होती है क्योंकि कर्नेल में CONFIG_TASK_DELAY_ACCT सुविधा नहीं है, जो iotop के लिए SWAPIN और IO प्रतिशत प्रदर्शित करने हेतु आवश्यक है। सौभाग्य से, इसे GRUB कॉन्फ़िगरेशन अपडेट करके हल किया जा सकता है।
त्रुटि ठीक करने के चरण
- GRUB कॉन्फ़िगरेशन फ़ाइल संपादित करें:
sudo nano /etc/default/grub
- विकल्प जोड़ें —
delayacctकोGRUB_CMDLINE_LINUX_DEFAULTप्रविष्टि में। यदि पंक्ति शुरू में खाली है (GRUB_CMDLINE_LINUX_DEFAULT=""), तो इसे इस प्रकार अपडेट करें:GRUB_CMDLINE_LINUX_DEFAULT="delayacct"यदि पंक्ति में पहले से अन्य विकल्प हैं, तोdelayacctको मौजूदा विकल्पों में जोड़ें, जिसे एक स्थान से अलग किया गया हो। उदाहरण के लिए:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash delayacct"
- परिवर्तन लागू करने के लिए GRUB अपडेट करें:
sudo update-grub
- सर्वर रीबूट करें:
sudo reboot
रीबूट के बाद, त्रुटि हल हो जानी चाहिए, और iotop सही ढंग से काम करेगा।
उपयोग: `iotop
समस्या ठीक हो जाने पर, आप iotop चलाकर डिस्क I/O की निगरानी कर सकते हैं:
sudo iotop
आप इसके साथ क्या कर सकते हैं: iotop
- उच्च डिस्क I/O का कारण बनने वाली प्रक्रियाओं की पहचान करें।
- रीयल-टाइम में पढ़ने/लिखने के संचालन की निगरानी करें।
- प्रक्रियाओं को डिस्क उपयोग के अनुसार क्रमबद्ध करें।
नेटवर्क गतिविधि निगरानी
उपयोग: iftop
इंस्टॉल करने के लिए: iftop:
sudo apt update
sudo apt install iftop
निम्नलिखित आदेश से चलाएँ: iftop :
sudo iftop
उपयोग: nload
इंस्टॉल करने के लिए: nload:
sudo apt update
sudo apt install nload
निम्नलिखित आदेश से चलाएँ: nload :
nload
Cockpit के साथ सर्वर डैशबोर्ड सेट अप करना
Cockpit क्या है?
Cockpit सर्वर की निगरानी और प्रबंधन के लिए एक वेब-आधारित ग्राफ़िकल डैशबोर्ड है। यह CPU, मेमोरी, डिस्क उपयोग और नेटवर्क गतिविधि के बारे में रीयल-टाइम जानकारी देता है।
Cockpit इंस्टॉल करना
Cockpit इंस्टॉल करने के लिए:
sudo apt update
sudo apt install cockpit
Cockpit तक पहुँचना
Cockpit सेवा शुरू करें:
sudo systemctl start cockpit.socket
sudo systemctl enable cockpit.socket
निम्नलिखित पर जाकर डैशबोर्ड तक पहुँचें:
https://<your-server-ip>:9090
Cockpit की विशेषताएँ
- सिस्टम प्रदर्शन की दृश्य निगरानी करें।
- सेवाओं, लॉग और उपयोगकर्ता खातों को प्रबंधित करें।
- डिस्क उपयोग और नेटवर्क गतिविधि देखें।
अन्य अनुशंसित निगरानी टूल
हालाँकि, जैसे टूल htop, sysstat, और Cockpit अधिकांश सर्वर निगरानी आवश्यकताओं के लिए उत्कृष्ट हैं, फिर भी कुछ अन्य उन्नत टूल हैं जो जटिल वातावरण के लिए गहरी जानकारी और बेहतर विज़ुअलाइज़ेशन दे सकते हैं। नीचे कुछ अतिरिक्त निगरानी टूल दिए गए हैं जिन पर आप विचार कर सकते हैं:
Prometheus और Grafana
Prometheus
Prometheus विश्वसनीयता और स्केलेबिलिटी के लिए डिज़ाइन किया गया एक ओपन-सोर्स मॉनिटरिंग और अलर्टिंग टूलकिट है। इसका व्यापक रूप से क्लाउड-नेटिव वातावरण में उपयोग किया जाता है और यह वितरित सिस्टम और माइक्रोसर्विस की निगरानी के लिए विशेष रूप से उपयुक्त है।
प्रमुख विशेषताएँ:
- टाइम-सीरीज़ डेटाबेस: टाइमस्टैम्प के साथ मेट्रिक्स को कुशलता से संग्रहीत करता है।
- शक्तिशाली क्वेरी भाषा (
PromQL) मेट्रिक्स का विश्लेषण करने के लिए। - अलर्टिंग सिस्टम: सूचनाओं के लिए Alertmanager जैसे टूल के साथ एकीकृत।
- पुल-आधारित आर्किटेक्चर: Prometheus लक्ष्यों से मेट्रिक्स को सक्रिय रूप से स्क्रैप करता है।
उपयोग के मामले:
- कई सर्वर पर CPU, मेमोरी और डिस्क उपयोग की निगरानी करें।
- एप्लिकेशन-विशिष्ट मेट्रिक्स (जैसे HTTP अनुरोध विलंबता, त्रुटि दर) को ट्रैक करें।
- असामान्य मेट्रिक्स या सिस्टम विफलताओं के लिए अलर्ट तैयार करें।
इंस्टॉलेशन निर्देश:
Ubuntu पर Prometheus इंस्टॉल करने के लिए:
sudo apt update
wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
tar xvf prometheus-2.44.0.linux-amd64.tar.gz
cd prometheus-2.44.0.linux-amd64
./prometheus
निम्नलिखित पर जाकर Prometheus तक पहुँचें:
http://<your-server-ip>:9090
कृपया ध्यान दें कि Prometheus और Cockpit दोनों का डिफ़ॉल्ट पोर्ट 9090 है, यदि आप उन्हें एक साथ उपयोग कर रहे हैं तो आप डिफ़ॉल्ट पोर्ट बदलना चाह सकते हैं:
Prometheus और Cockpit के बीच पोर्ट संघर्ष का समाधान
विकल्प 1: Prometheus पोर्ट बदलें
आप इसकी कॉन्फ़िगरेशन फ़ाइल संशोधित करके Prometheus को भिन्न पोर्ट का उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं।
- Prometheus कॉन्फ़िगरेशन फ़ाइल खोलें:
nano prometheus.yml
- Prometheus स्टार्टअप कमांड या सेवा फ़ाइल में
--web.listen-addressफ़्लैग जोड़ें या संशोधित करें ताकि कोई भिन्न पोर्ट निर्दिष्ट किया जा सके (उदाहरण के लिए,9091):
--web.listen-address=:9091
- परिवर्तन लागू करने के लिए Prometheus पुनरारंभ करें:
sudo systemctl restart prometheus
- नए पोर्ट का उपयोग करके Prometheus तक पहुँचें:
http://<your-server-ip>:9091
विकल्प 2: Cockpit पोर्ट बदलें
यदि आप Prometheus को पोर्ट 9090 पर रखना पसंद करते हैं, तो Cockpit का डिफ़ॉल्ट पोर्ट भी बदला जा सकता है।
- Cockpit के लिए कस्टम कॉन्फ़िगरेशन फ़ाइल बनाएँ:
sudo nano /lib/systemd/system/cockpit.socket
- नया पोर्ट निर्दिष्ट करने के लिए निम्नलिखित पंक्तियाँ जोड़ें (उदाहरण के लिए,
9092):ListenStream=9092 - Cockpit सेवा पुनरारंभ करें:
systemctl daemon-reload
systemctl restart cockpit.socket
- नए पोर्ट का उपयोग करके Cockpit तक पहुँचें:
https://<your-server-ip>:9092
विकल्प 3: रिवर्स प्रॉक्सी का उपयोग करें
यदि पोर्ट बदलना आदर्श नहीं है, तो आप रिवर्स प्रॉक्सी का उपयोग कर सकते हैं (उदाहरण के लिए, Nginx या Apache) ताकि दोनों सेवाओं को अलग-अलग URL से मैप किया जा सके और उनके डिफ़ॉल्ट पोर्ट बने रहें।
उदाहरण के लिए:
- Prometheus:
http://<your-server-ip>/prometheus
- Cockpit:
http://<your-server-ip>/cockpit
अनुशंसा
यदि आप दोनों टूल का अक्सर उपयोग करते हैं:
भविष्य के संदर्भ के लिए या अन्य व्यवस्थापकों के लिए पोर्ट परिवर्तनों का दस्तावेज़ीकरण करें।
बदलें Prometheus को पोर्ट 9091 पर, क्योंकि Cockpit को आमतौर पर डिफ़ॉल्ट पोर्ट 9090.
Grafana
Grafana एक शक्तिशाली विज़ुअलाइज़ेशन प्लेटफ़ॉर्म है जो Prometheus के साथ सहजता से एकीकृत होता है। यह आपको मेट्रिक्स और रुझानों को विज़ुअलाइज़ करने के लिए गतिशील डैशबोर्ड बनाने देता है।
प्रमुख विशेषताएँ:
- मल्टी-सोर्स समर्थन: Prometheus, Elasticsearch, MySQL और अन्य के साथ काम करता है।
- कस्टम डैशबोर्ड: इंटरैक्टिव ग्राफ़, हीटमैप और तालिकाएँ बनाएँ।
- अलर्टिंग: प्रमुख मेट्रिक्स के लिए थ्रेशोल्ड के आधार पर अलर्ट सेट करें।
- साझाकरण: टीमों के साथ डैशबोर्ड आसानी से साझा करें।
उपयोग के मामले:
- Prometheus द्वारा एकत्रित सर्वर प्रदर्शन मेट्रिक्स को विज़ुअलाइज़ करें।
- बेहतर क्षमता योजना के लिए समय के साथ रुझानों की निगरानी करें।
- कई स्रोतों से डेटा एक एकीकृत डैशबोर्ड में प्रदर्शित करें।
इंस्टॉलेशन निर्देश:
Ubuntu पर Grafana इंस्टॉल करने के लिए:
sudo apt update
sudo apt install -y software-properties-common
sudo wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null
sudo echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server
निम्नलिखित पर जाकर Grafana तक पहुँचें:
http://<your-server-ip>:3000
Nagios
Nagios सबसे लोकप्रिय बुनियादी ढाँचा निगरानी टूल में से एक है। यह सर्वर, नेटवर्क डिवाइस और एप्लिकेशन के लिए व्यापक निगरानी और अलर्टिंग प्रदान करता है। यह अत्यधिक अनुकूलन योग्य है और विस्तारित कार्यक्षमता के लिए प्लगइन का समर्थन करता है।
प्रमुख विशेषताएँ:
- सर्वर स्वास्थ्य की निगरानी करें: CPU, मेमोरी, डिस्क उपयोग और अन्य को ट्रैक करें।
- नेटवर्क निगरानी: राउटर, स्विच और फ़ायरवॉल के साथ समस्याओं का पता लगाएँ।
- अलर्टिंग: ईमेल, SMS या Slack के साथ एकीकरण के माध्यम से सूचनाएँ भेजें।
- विस्तृत प्लगइन लाइब्रेरी: डेटाबेस, वेब सर्वर और अन्य सेवाओं की निगरानी करें।
उपयोग के मामले:
- उत्पादन वातावरण में महत्वपूर्ण सर्वर और एप्लिकेशन की निगरानी करें।
- डिस्क स्थान कम होने या उच्च CPU उपयोग के लिए अलर्ट प्राप्त करें।
- नेटवर्क डिवाइस के अपटाइम और उपलब्धता की निगरानी करें।
इंस्टॉलेशन निर्देश:
Ubuntu पर Nagios इंस्टॉल करने के लिए:
sudo apt install nagios4 nagios-plugins
sudo a2enmod rewrite cgi
systemctl restart apache2
sudo systemctl status nagios4
sudo systemctl enable nagios4
sudo systemctl start nagios4
Nagios को निगरानी लक्ष्य स्थापित करने के लिए अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता होती है। विस्तृत कॉन्फ़िगरेशन के लिए, देखें: Nagios दस्तावेज़ीकरण.
Netdata: रीयल-टाइम सिस्टम मॉनिटरिंग टूल
Netdata एक हल्का, रीयल-टाइम मॉनिटरिंग टूल है जो सिस्टम प्रदर्शन के बारे में विस्तृत जानकारी देता है। इसे इंस्टॉल करना आसान है और यह मेट्रिक्स को विज़ुअलाइज़ करने के लिए एक सुंदर वेब इंटरफ़ेस के साथ आता है।
चरण 1: सिस्टम पैकेज अपडेट करें
टर्मिनल में निम्नलिखित कमांड चलाकर सुनिश्चित करें कि आपका सिस्टम अद्यतित है:
sudo apt update
sudo apt upgrade
चरण 2: Netdata इंस्टॉल करें
डिफ़ॉल्ट Ubuntu रिपॉज़िटरी से Netdata इंस्टॉल करें:
sudo apt install netdata
चरण 3: Netdata कॉन्फ़िगर करें
रिमोट एक्सेस की अनुमति देने के लिए Netdata कॉन्फ़िगरेशन फ़ाइल संपादित करें:
sudo nano /etc/netdata/netdata.conf
पता लगाएँ: bind socket to IP फ़ील्ड, और 127.0.0.1 को अपने सर्वर के IP पते से बदलें:
[global]
bind socket to IP = <your-server-ip>
फ़ाइल सहेजें और Netdata सेवा पुनरारंभ करें:
sudo systemctl restart netdata
चरण 4: फ़ायरवॉल कॉन्फ़िगर करें
Netdata के डिफ़ॉल्ट पोर्ट (19999) तक पहुँच की अनुमति दें और फ़ायरवॉल सक्षम करें:
sudo ufw allow 19999
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
चरण 5: Netdata वेब इंटरफ़ेस तक पहुँचें
अपना वेब ब्राउज़र खोलें और निम्नलिखित पर जाएँ:
http://<your-server-ip>:19999

टूल की तुलना
| टूल | सर्वश्रेष्ठ | उपयोग में आसानी | विज़ुअलाइज़ेशन | अलर्टिंग |
|---|---|---|---|---|
| Prometheus | बड़े पैमाने पर मेट्रिक संग्रह | मध्यम | सीमित | हाँ |
| Grafana | उन्नत डैशबोर्ड | आसान | उत्कृष्ट | हाँ |
| Nagios | बुनियादी ढाँचा निगरानी | मध्यम | बुनियादी | हाँ |
| Netdata | हल्की रीयल-टाइम निगरानी | आसान | उत्कृष्ट | हाँ |
निष्कर्ष
अपने Ubuntu सर्वर की निगरानी प्रदर्शन बनाए रखने, समस्याओं का निदान करने और डाउनटाइम रोकने के लिए महत्वपूर्ण है। जैसे टूल htop, top, sysstat, Cockpit और अन्य टूल व्यवस्थापकों को संसाधनों की प्रभावी ढंग से निगरानी करने की क्षमता देते हैं। चाहे आप कमांड-लाइन टूल पसंद करें या ग्राफ़िकल डैशबोर्ड, यह मार्गदर्शिका मज़बूत निगरानी प्रणाली स्थापित करने के लिए आवश्यक सब कुछ कवर करती है।
आगे: केंद्रीकृत लॉगिंग और निगरानी
अगले लेख में, हम केंद्रीकृत लॉगिंग और निगरानी पर ध्यान केंद्रित करेंगे ताकि सर्वर प्रबंधन और प्रदर्शन ट्रैकिंग को और सुव्यवस्थित किया जा सके। शामिल विषय होंगे:
- केंद्रीकृत लॉगिंग के लिए rsyslog या syslog-ng सेट अप करना।
- बेहतर संगठन और विश्लेषण के लिए लॉग को रिमोट लॉगिंग सर्वर पर अग्रेषित करना।
- अपने Ubuntu सर्वर को निम्नलिखित जैसे मज़बूत निगरानी प्लेटफ़ॉर्म के साथ एकीकृत करना: Nagios, Zabbix, या Prometheus ताकि सिस्टम स्वास्थ्य और प्रदर्शन के बारे में गहरी जानकारी प्राप्त हो सके।
अपने लॉगिंग बुनियादी ढाँचे को केंद्रीकृत करना और सर्वर संचालन को प्रभावी ढंग से अनुकूलित करने के लिए निगरानी टूल का लाभ उठाना सीखने के लिए बने रहें!










2 thoughts on “10. System Monitoring Tools for Ubuntu Server: A Comprehensive Guide”