10. Ubuntu Server के लिए सिस्टम मॉनिटरिंग टूल: एक व्यापक मार्गदर्शिका

Ubuntu Server के लिए सिस्टम मॉनिटरिंग टूल में महारत हासिल करना इष्टतम प्रदर्शन सुनिश्चित करने, समस्याओं का निदान करने और सिस्टम विश्वसनीयता बनाए रखने के लिए आवश्यक है। इस ट्यूटोरियल में, हम रीयल-टाइम संसाधन निगरानी, डिस्क I/O, नेटवर्क गतिविधि और सर्वर डैशबोर्ड सहित Ubuntu सर्वर के लिए उपलब्ध सर्वोत्तम सिस्टम मॉनिटरिंग टूल का पता लगाएँगे।


पिछला लेख:

01. Ubuntu Server का परिचय – SysOSX: AI & Cloud

02. अपना पहला Ubuntu Server कैसे सेट अप करें: शुरुआती मार्गदर्शिका – SysOSX: AI & Cloud

03.Ubuntu Server के लिए Linux कमांड लाइन में महारत – SysOSX: AI & Cloud

04. Ubuntu Server पर उपयोगकर्ता और अनुमतियाँ प्रबंधित करना: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

05. Ubuntu Server के लिए नेटवर्किंग की मूल बातें: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

06. Ubuntu Server पर सॉफ़्टवेयर इंस्टॉल और प्रबंधित करना: एक संपूर्ण मार्गदर्शिका – SysOSX: AI & Cloud

07.Ubuntu Server को पैच करना और अपडेट करना: एक व्यापक मार्गदर्शिका – SysOSX: AI & Cloud

08. अपने 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 के लिए आदर्श है:

  1. संसाधन-गहन प्रक्रियाओं की पहचान करना: आप CPU या मेमोरी उपयोग के अनुसार प्रक्रियाओं को क्रमबद्ध करके संसाधन हॉग को जल्दी खोज सकते हैं।
  2. प्रक्रियाओं को समाप्त करना: F9 का उपयोग करके अनुत्तरदायी या समस्याग्रस्त प्रक्रियाओं को सीधे htop इंटरफ़ेस से समाप्त करें।
  3. थ्रेड की निगरानी: अलग-अलग थ्रेड और उनके संसाधन उपयोग को देखने के लिए प्रक्रियाओं का विस्तार करें।
  4. कॉलम अनुकूलित करना: 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”

        टिप्पणी छोड़ें