हिन्दी

प्रोमीथियस और ग्राफ़ाना के साथ मीट्रिक संग्रह का अन्वेषण करें। इन शक्तिशाली ओपन-सोर्स टूल से अपने अनुप्रयोगों और बुनियादी ढांचे की प्रभावी ढंग से निगरानी करना सीखें।

मीट्रिक संग्रह: प्रोमीथियस और ग्राफ़ाना के साथ एक व्यापक गाइड

आज के जटिल आईटी परिदृश्य में, अनुप्रयोगों और बुनियादी ढांचे के स्वास्थ्य और प्रदर्शन को बनाए रखने के लिए प्रभावी निगरानी महत्वपूर्ण है। मीट्रिक संग्रह इस निगरानी के लिए आधार प्रदान करता है, जिससे आप प्रमुख प्रदर्शन संकेतक (KPI) को ट्रैक कर सकते हैं, संभावित मुद्दों की पहचान कर सकते हैं और संसाधन उपयोग को अनुकूलित कर सकते हैं। यह व्यापक मार्गदर्शिका मजबूत मीट्रिक संग्रह और विज़ुअलाइज़ेशन के लिए प्रोमीथियस और ग्राफ़ाना, दो शक्तिशाली ओपन-सोर्स टूल का लाभ उठाने का पता लगाएगी।

मीट्रिक संग्रह क्या है?

मीट्रिक संग्रह में समय के साथ विभिन्न प्रणालियों, अनुप्रयोगों और बुनियादी ढांचे के घटकों की स्थिति और व्यवहार का प्रतिनिधित्व करने वाले संख्यात्मक डेटा को इकट्ठा करना शामिल है। इन मेट्रिक्स में CPU उपयोग, मेमोरी खपत, नेटवर्क ट्रैफ़िक, प्रतिक्रिया समय, त्रुटि दर और कई अन्य प्रासंगिक संकेतक शामिल हो सकते हैं। इन मेट्रिक्स का विश्लेषण करके, आप अपने वातावरण के प्रदर्शन और स्वास्थ्य में बहुमूल्य अंतर्दृष्टि प्राप्त कर सकते हैं।

मीट्रिक संग्रह क्यों महत्वपूर्ण है?

प्रोमीथियस और ग्राफ़ाना का परिचय

प्रोमीथियस एक ओपन-सोर्स सिस्टम निगरानी और अलर्टिंग टूलकिट है जिसे मूल रूप से SoundCloud में विकसित किया गया था। यह टाइम-सीरीज़ डेटा को इकट्ठा करने और संग्रहीत करने में उत्कृष्ट है, जो टाइमस्टैम्प द्वारा अनुक्रमित डेटा है। प्रोमीथियस नियमित अंतराल पर लक्ष्यों (जैसे, सर्वर, एप्लिकेशन) से मेट्रिक्स को स्क्रैप करने के लिए एक पुल-आधारित मॉडल का उपयोग करता है। यह एकत्रित डेटा का विश्लेषण करने और अलर्टिंग नियमों को परिभाषित करने के लिए एक शक्तिशाली क्वेरी भाषा (PromQL) प्रदान करता है।

ग्राफ़ाना एक ओपन-सोर्स डेटा विज़ुअलाइज़ेशन और निगरानी प्लेटफ़ॉर्म है। यह आपको प्रोमीथियस सहित विभिन्न स्रोतों से डेटा को विज़ुअलाइज़ करने के लिए इंटरैक्टिव डैशबोर्ड और ग्राफ़ बनाने की अनुमति देता है। ग्राफ़ाना ग्राफ़, चार्ट, टेबल और गेज सहित विज़ुअलाइज़ेशन विकल्पों का एक समृद्ध सेट प्रदान करता है। यह अलर्टिंग का भी समर्थन करता है, जिससे आपको कुछ थ्रेसहोल्ड टूटने पर सूचनाएं प्राप्त करने में सक्षम होता है।

एक साथ, प्रोमीथियस और ग्राफ़ाना एक शक्तिशाली और लचीला निगरानी समाधान बनाते हैं जिसे व्यापक श्रेणी के वातावरण और उपयोग के मामलों के अनुकूल बनाया जा सकता है। वे दुनिया भर में DevOps और SRE (साइट विश्वसनीयता इंजीनियरिंग) प्रथाओं में भारी उपयोग किए जाते हैं।

प्रोमीथियस आर्किटेक्चर और अवधारणाएं

प्रभावी कार्यान्वयन और उपयोग के लिए प्रोमीथियस के मुख्य घटकों को समझना आवश्यक है:

प्रोमीथियस वर्कफ़्लो

  1. लक्ष्य (अनुप्रयोग, सर्वर, आदि) मेट्रिक्स उजागर करते हैं। ये मेट्रिक्स आमतौर पर एक HTTP समापन बिंदु के माध्यम से उजागर होते हैं।
  2. प्रोमीथियस सर्वर कॉन्फ़िगर किए गए लक्ष्यों से मेट्रिक्स को स्क्रैप करता है। यह समय-समय पर इन समापन बिंदुओं से मेट्रिक्स खींचता है।
  3. प्रोमीथियस अपने टाइम-सीरीज़ डेटाबेस में स्क्रैप की गई मेट्रिक्स को संग्रहीत करता है।
  4. उपयोगकर्ता PromQL का उपयोग करके मेट्रिक्स को क्वेरी करते हैं। यह उन्हें डेटा का विश्लेषण करने और ग्राफ़ और डैशबोर्ड बनाने की अनुमति देता है।
  5. संग्रहीत मेट्रिक्स के आधार पर अलर्टिंग नियमों का मूल्यांकन किया जाता है। यदि कोई नियम शर्त पूरी होती है, तो एक अलर्ट ट्रिगर होता है।
  6. अलर्टमैनेजर ट्रिगर किए गए अलर्ट को संभालता है। यह उन्हें डुप्लिकेट करता है, समूहित करता है, और उपयुक्त अधिसूचना चैनलों पर रूट करता है।

ग्राफ़ाना आर्किटेक्चर और अवधारणाएं

ग्राफ़ाना एकत्रित मेट्रिक्स को विज़ुअलाइज़ और विश्लेषण करने के लिए एक उपयोगकर्ता के अनुकूल इंटरफ़ेस प्रदान करके प्रोमीथियस का पूरक है:

ग्राफ़ाना वर्कफ़्लो

  1. डेटा स्रोतों को कॉन्फ़िगर करें: ग्राफ़ाना को अपने प्रोमीथियस सर्वर से कनेक्ट करें।
  2. डैशबोर्ड बनाएं: अपने मेट्रिक्स को विज़ुअलाइज़ करने के लिए डैशबोर्ड डिज़ाइन करें।
  3. डैशबोर्ड में पैनल जोड़ें: PromQL क्वेरी का उपयोग करके प्रोमीथियस से विशिष्ट डेटा बिंदुओं को प्रदर्शित करने के लिए पैनल जोड़ें।
  4. अलर्टिंग कॉन्फ़िगर करें (वैकल्पिक): विशिष्ट मीट्रिक थ्रेसहोल्ड के आधार पर सूचनाएं प्राप्त करने के लिए ग्राफ़ाना के भीतर अलर्टिंग नियम सेट करें।
  5. डैशबोर्ड साझा करें: निगरानी और विश्लेषण पर सहयोग करने के लिए अपने टीम के साथ डैशबोर्ड साझा करें।

प्रोमीथियस और ग्राफ़ाना स्थापित करना

यह अनुभाग प्रोमीथियस और ग्राफ़ाना स्थापित करने के लिए चरण-दर-चरण मार्गदर्शिका प्रदान करता है।

प्रोमीथियस स्थापित करना

1. प्रोमीथियस डाउनलोड करें:

आधिकारिक वेबसाइट से प्रोमीथियस का नवीनतम संस्करण डाउनलोड करें: https://prometheus.io/download/। अपने ऑपरेटिंग सिस्टम (जैसे, लिनक्स, विंडोज, macOS) के लिए उपयुक्त पैकेज चुनें।

2. संग्रह निकालें:

डाउनलोड किए गए संग्रह को अपनी पसंद की एक निर्देशिका में निकालें।

3. प्रोमीथियस कॉन्फ़िगर करें:

एक `prometheus.yml` कॉन्फ़िगरेशन फ़ाइल बनाएं। यह फ़ाइल उन लक्ष्यों को परिभाषित करती है जिन्हें प्रोमीथियस स्क्रैप करेगा और अन्य कॉन्फ़िगरेशन विकल्प। एक बुनियादी कॉन्फ़िगरेशन इस तरह दिख सकता है:


global:
  scrape_interval:     15s
  evaluation_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

यह कॉन्फ़िगरेशन दो स्क्रैप जॉब को परिभाषित करता है: एक प्रोमीथियस के लिए ही (अपने स्वयं के मेट्रिक्स को स्क्रैप करना) और एक localhost पोर्ट 9100 पर चल रहे एक node_exporter के लिए। `scrape_interval` निर्दिष्ट करता है कि प्रोमीथियस कितनी बार लक्ष्यों को स्क्रैप करेगा।

4. प्रोमीथियस प्रारंभ करें:

उस निर्देशिका से प्रोमीथियस निष्पादन योग्य चलाएँ जहाँ आपने संग्रह निकाला था:

./prometheus --config.file=prometheus.yml

प्रोमीथियस डिफ़ॉल्ट रूप से पोर्ट 9090 पर शुरू होगा और सुनेगा। आप अपने ब्राउज़र में http://localhost:9090 पर प्रोमीथियस वेब इंटरफ़ेस तक पहुंच सकते हैं।

ग्राफ़ाना स्थापित करना

1. ग्राफ़ाना डाउनलोड करें:

आधिकारिक वेबसाइट से ग्राफ़ाना का नवीनतम संस्करण डाउनलोड करें: https://grafana.com/grafana/download। अपने ऑपरेटिंग सिस्टम के लिए उपयुक्त पैकेज चुनें।

2. ग्राफ़ाना स्थापित करें:

अपने ऑपरेटिंग सिस्टम के लिए स्थापना निर्देशों का पालन करें। उदाहरण के लिए, डेबियन/उबंटू पर:


sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana

3. ग्राफ़ाना प्रारंभ करें:

ग्राफ़ाना सेवा प्रारंभ करें:

sudo systemctl start grafana-server

4. ग्राफ़ाना एक्सेस करें:

ग्राफ़ाना डिफ़ॉल्ट रूप से पोर्ट 3000 पर शुरू होगा और सुनेगा। आप अपने ब्राउज़र में http://localhost:3000 पर ग्राफ़ाना वेब इंटरफ़ेस तक पहुंच सकते हैं।

डिफ़ॉल्ट उपयोगकर्ता नाम और पासवर्ड `admin` और `admin` हैं। पहली बार लॉग इन करने पर आपको पासवर्ड बदलने के लिए कहा जाएगा।

ग्राफ़ाना को प्रोमीथियस से कनेक्ट करना

ग्राफ़ाना में प्रोमीथियस से मेट्रिक्स को विज़ुअलाइज़ करने के लिए, आपको ग्राफ़ाना में एक डेटा स्रोत के रूप में प्रोमीथियस को कॉन्फ़िगर करने की आवश्यकता है।

1. डेटा स्रोत जोड़ें:

ग्राफ़ाना वेब इंटरफ़ेस में, कॉन्फ़िगरेशन > डेटा स्रोत पर नेविगेट करें और डेटा स्रोत जोड़ें पर क्लिक करें।

2. प्रोमीथियस का चयन करें:

डेटा स्रोत प्रकार के रूप में प्रोमीथियस चुनें।

3. प्रोमीथियस कनेक्शन कॉन्फ़िगर करें:

अपने प्रोमीथियस सर्वर का URL (जैसे, `http://localhost:9090`) दर्ज करें। आवश्यकतानुसार अन्य विकल्पों को कॉन्फ़िगर करें (जैसे, प्रमाणीकरण)।

4. सहेजें और परीक्षण करें:

यह सत्यापित करने के लिए सहेजें और परीक्षण करें पर क्लिक करें कि ग्राफ़ाना प्रोमीथियस से सफलतापूर्वक कनेक्ट हो सकता है।

ग्राफ़ाना में डैशबोर्ड बनाना

एक बार जब आप ग्राफ़ाना को प्रोमीथियस से कनेक्ट कर लेते हैं, तो आप अपने मेट्रिक्स को विज़ुअलाइज़ करने के लिए डैशबोर्ड बना सकते हैं।

1. एक नया डैशबोर्ड बनाएं:

ग्राफ़ाना वेब इंटरफ़ेस में, साइडबार में + आइकन पर क्लिक करें और डैशबोर्ड का चयन करें।

2. एक पैनल जोड़ें:

डैशबोर्ड में एक नया पैनल जोड़ने के लिए एक खाली पैनल जोड़ें पर क्लिक करें।

3. पैनल कॉन्फ़िगर करें:


rate(process_cpu_seconds_total{job="node_exporter"}[5m])

यह क्वेरी 5 मिनट के अंतराल में node_exporter द्वारा एकत्र किए गए प्रक्रियाओं द्वारा उपयोग किए गए CPU समय में परिवर्तन की दर की गणना करता है।

4. डैशबोर्ड सहेजें:

डैशबोर्ड को सहेजने के लिए सहेजें आइकन पर क्लिक करें।

PromQL: प्रोमीथियस क्वेरी भाषा

PromQL एक शक्तिशाली क्वेरी भाषा है जिसका उपयोग प्रोमीथियस में संग्रहीत मेट्रिक्स को पुनः प्राप्त करने और हेरफेर करने के लिए किया जाता है। यह आपको कार्यों की एक विस्तृत श्रृंखला करने की अनुमति देता है, जिसमें शामिल हैं:

PromQL उदाहरण


rate(process_cpu_seconds_total{job="node_exporter"}[5m])

node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes

(node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_free_bytes{mountpoint="/"}) / node_filesystem_size_bytes{mountpoint="/"} * 100

rate(http_requests_total[5m])

प्रोमीथियस और ग्राफ़ाना का प्रभावी ढंग से उपयोग करने के लिए PromQL सीखना आवश्यक है। भाषा के लिए एक व्यापक मार्गदर्शिका के लिए प्रोमीथियस दस्तावेज़ देखें।

प्रोमीथियस और अलर्टमैनेजर के साथ अलर्टिंग

प्रोमीथियस एक मजबूत अलर्टिंग सिस्टम प्रदान करता है जो आपको मीट्रिक मानों के आधार पर नियम परिभाषित करने की अनुमति देता है। जब कोई नियम शर्त पूरी होती है, तो एक अलर्ट ट्रिगर होता है, और अलर्टमैनेजर अधिसूचना प्रक्रिया को संभालता है।

अलर्टिंग नियम परिभाषित करना

अलर्टिंग नियम `prometheus.yml` कॉन्फ़िगरेशन फ़ाइल में परिभाषित किए गए हैं। यहां एक अलर्टिंग नियम का एक उदाहरण दिया गया है जो CPU उपयोग 80% से अधिक होने पर ट्रिगर होता है:


rule_files:
  - "rules.yml"

फिर, `rules.yml` नामक एक फ़ाइल में, इस तरह नियम रखें:


groups:
- name: example
  rules:
  - alert: HighCPUUsage
    expr: rate(process_cpu_seconds_total{job="node_exporter"}[5m]) > 0.8
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "High CPU usage detected"
      description: "CPU usage is above 80% on {{ $labels.instance }}"

स्पष्टीकरण:

अलर्टमैनेजर को कॉन्फ़िगर करना

अलर्टमैनेजर अलर्ट के रूटिंग और अधिसूचना को संभालता है। आपको यह निर्दिष्ट करने के लिए अलर्टमैनेजर को कॉन्फ़िगर करने की आवश्यकता है कि अलर्ट कहाँ भेजे जाने चाहिए (उदाहरण के लिए, ईमेल, स्लैक, पगरड्यूटी)। विस्तृत कॉन्फ़िगरेशन निर्देशों के लिए अलर्टमैनेजर दस्तावेज़ देखें।

एक न्यूनतम `alertmanager.yml` कॉन्फ़िगरेशन इस तरह दिख सकता है:


global:
  resolve_timeout: 5m

route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 12h
  receiver: 'web.hook'

receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://localhost:8080/'

यह कॉन्फ़िगरेशन localhost पोर्ट 8080 पर एक वेबहुक को अलर्ट भेजता है। आप स्लैक या ईमेल जैसी सेवाओं का उपयोग करने के लिए `receivers` अनुभाग को अनुकूलित कर सकते हैं।

व्यावहारिक उदाहरण और उपयोग के मामले

प्रोमीथियस और ग्राफ़ाना का उपयोग अनुप्रयोगों और बुनियादी ढांचे के घटकों की एक विस्तृत श्रृंखला की निगरानी के लिए किया जा सकता है। यहां कुछ व्यावहारिक उदाहरण दिए गए हैं:

उदाहरण: माइक्रोसेर्विसेस आर्किटेक्चर की निगरानी

माइक्रोसेर्विसेस आर्किटेक्चर में, प्रोमीथियस और ग्राफ़ाना का उपयोग व्यक्तिगत सेवाओं के साथ-साथ समग्र प्रणाली के स्वास्थ्य और प्रदर्शन की निगरानी के लिए किया जा सकता है। प्रत्येक सेवा अपने स्वयं के मेट्रिक्स, जैसे अनुरोध दर, प्रतिक्रिया समय और त्रुटि दर को उजागर कर सकती है। प्रोमीथियस तब इन मेट्रिक्स को स्क्रैप कर सकता है और ग्राफ़ाना का उपयोग उन्हें विज़ुअलाइज़ करने के लिए किया जा सकता है। यह आपको विशिष्ट सेवाओं में प्रदर्शन बाधाओं या विफलताओं की तुरंत पहचान करने की अनुमति देता है।

उन्नत तकनीकें और सर्वोत्तम प्रथाएं

प्रोमीथियस और ग्राफ़ाना का अधिकतम लाभ उठाने के लिए, निम्नलिखित उन्नत तकनीकों और सर्वोत्तम प्रथाओं पर विचार करें:

सामान्य समस्याओं का निवारण

यहां तक कि सावधानीपूर्वक योजना और कार्यान्वयन के साथ, आपको प्रोमीथियस और ग्राफ़ाना का उपयोग करते समय समस्याएं आ सकती हैं। यहां कुछ सामान्य समस्याएं और उनके समाधान दिए गए हैं:

वैकल्पिक निगरानी समाधान

जबकि प्रोमीथियस और ग्राफ़ाना शक्तिशाली उपकरण हैं, वे मीट्रिक संग्रह और विज़ुअलाइज़ेशन के लिए एकमात्र विकल्प नहीं हैं। अन्य लोकप्रिय निगरानी समाधानों में शामिल हैं:

आपके संगठन के लिए सबसे अच्छा निगरानी समाधान आपकी विशिष्ट आवश्यकताओं और बजट पर निर्भर करेगा।

निष्कर्ष

अनुप्रयोगों और बुनियादी ढांचे के स्वास्थ्य और प्रदर्शन को बनाए रखने के लिए मीट्रिक संग्रह आवश्यक है। प्रोमीथियस और ग्राफ़ाना मेट्रिक्स को एकत्र करने, संग्रहीत करने और विज़ुअलाइज़ करने के लिए एक शक्तिशाली और लचीला ओपन-सोर्स समाधान प्रदान करते हैं। मुख्य अवधारणाओं को समझकर और इस गाइड में उल्लिखित सर्वोत्तम प्रथाओं का पालन करके, आप एक मजबूत निगरानी प्रणाली बनाने के लिए प्रोमीथियस और ग्राफ़ाना का लाभ उठा सकते हैं जो आपके संगठन की आवश्यकताओं को पूरा करती है।

प्रभावी निगरानी, ​​सक्रिय अलर्टिंग और त्वरित घटना प्रतिक्रिया के साथ मिलकर, आधुनिक आईटी संचालन का आधारशिला है। प्रोमीथियस और ग्राफ़ाना जैसे उपकरणों को अपनाना संगठनों को अपने उपयोगकर्ताओं को विश्वसनीय और प्रदर्शनकारी सेवाएं प्रदान करने में सशक्त बनाता है, चाहे उनका स्थान या उद्योग कुछ भी हो।