मराठी

प्रोमिथियस आणि ग्राफनासह मेट्रिक्स कलेक्शन एक्सप्लोर करा. हे शक्तिशाली ओपन-सोर्स साधने वापरून तुमच्या ॲप्लिकेशन्स आणि पायाभूत सुविधांचे प्रभावीपणे निरीक्षण कसे करावे ते शिका.

मेट्रिक्स कलेक्शन: प्रोमिथियस आणि ग्राफनासह एक सर्वसमावेशक मार्गदर्शक

आजच्या जटिल आयटी लँडस्केपमध्ये, ॲप्लिकेशन्स आणि पायाभूत सुविधांचे आरोग्य आणि कार्यप्रदर्शन राखण्यासाठी प्रभावी निरीक्षण महत्त्वपूर्ण आहे. मेट्रिक्स कलेक्शन या निरीक्षणासाठी पाया तयार करते, ज्यामुळे तुम्हाला प्रमुख कार्यप्रदर्शन निर्देशक (KPIs) ट्रॅक करता येतात, संभाव्य समस्या ओळखता येतात आणि संसाधन वापर ऑप्टिमाइझ करता येतो. हे सर्वसमावेशक मार्गदर्शक तुम्हाला प्रोमिथियस आणि ग्राफना, दोन शक्तिशाली ओपन-सोर्स साधने, मजबूत मेट्रिक्स संकलन आणि व्हिज्युअलायझेशनसाठी कशी वापरायची हे दर्शवेल.

मेट्रिक्स कलेक्शन म्हणजे काय?

मेट्रिक्स कलेक्शनमध्ये विविध प्रणाली, ॲप्लिकेशन्स आणि पायाभूत सुविधा घटकांची स्थिती आणि वर्तणूक दर्शवणारा संख्यात्मक डेटा वेळेनुसार गोळा करणे समाविष्ट आहे. या मेट्रिक्समध्ये सीपीयू वापर, मेमरी वापर, नेटवर्क ट्रॅफिक, प्रतिसाद वेळ, त्रुटी दर आणि इतर अनेक संबंधित निर्देशक समाविष्ट असू शकतात. या मेट्रिक्सचे विश्लेषण करून, तुम्ही तुमच्या वातावरणाच्या कार्यप्रदर्शन आणि आरोग्यामध्ये मौल्यवान अंतर्दृष्टी मिळवू शकता.

मेट्रिक्स कलेक्शन का महत्त्वाचे आहे?

प्रोमिथियस आणि ग्राफनाचा परिचय

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

ग्राफना हे एक ओपन-सोर्स डेटा व्हिज्युअलायझेशन आणि मॉनिटरिंग प्लॅटफॉर्म आहे. हे तुम्हाला प्रोमिथियससह विविध स्त्रोतांकडून डेटा व्हिज्युअलाइझ करण्यासाठी इंटरएक्टिव्ह डॅशबोर्ड आणि ग्राफ तयार करण्यास अनुमती देते. ग्राफना ग्राफ, चार्ट, टेबल आणि गेज यासह व्हिज्युअलायझेशन पर्यायांचा एक समृद्ध संच प्रदान करते. हे अलर्टिंगला देखील समर्थन देते, ज्यामुळे विशिष्ट थ्रेशोल्ड ओलांडल्यास तुम्हाला सूचना मिळू शकतात.

एकत्रितपणे, प्रोमिथियस आणि ग्राफना एक शक्तिशाली आणि लवचिक मॉनिटरिंग सोल्यूशन तयार करतात जे विविध वातावरणे आणि वापर प्रकरणांसाठी जुळवून घेतले जाऊ शकते. ते जगभरात डेव्हऑप्स आणि एसआरई (साइट रिलायबिलिटी इंजिनिअरिंग) पद्धतींमध्ये मोठ्या प्रमाणावर वापरले जातात.

प्रोमिथियस आर्किटेक्चर आणि संकल्पना

प्रभावी अंमलबजावणी आणि वापरासाठी प्रोमिथियसचे मुख्य घटक समजून घेणे आवश्यक आहे:

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

  1. लक्ष्य (ॲप्लिकेशन्स, सर्व्हर, इत्यादी) मेट्रिक्स उघड करतात. हे मेट्रिक्स सामान्यतः HTTP एंडपॉईंटद्वारे उघड केले जातात.
  2. प्रोमिथियस सर्वर कॉन्फिगर केलेल्या लक्ष्यांकडून मेट्रिक्स स्क्रॅप करते. हे नियमितपणे या एंडपॉईंट्सवरून मेट्रिक्स खेचते.
  3. प्रोमिथियस स्क्रॅप केलेले मेट्रिक्स त्याच्या टाइम-सिरीज डेटाबेसमध्ये संग्रहित करते.
  4. वापरकर्ते PromQL वापरून मेट्रिक्सची क्वेरी करतात. हे त्यांना डेटाचे विश्लेषण करण्यास आणि ग्राफ व डॅशबोर्ड तयार करण्यास अनुमती देते.
  5. अलर्टिंग नियम संग्रहित मेट्रिक्सवर आधारित मूल्यांकित केले जातात. जर नियमाची अट पूर्ण झाली, तर अलर्ट ट्रिगर होतो.
  6. अलर्टमॅनेजर ट्रिगर केलेले अलर्ट हाताळते. हे डुप्लिकेट काढते, गटबद्ध करते आणि योग्य सूचना चॅनेलवर रूट करते.

ग्राफना आर्किटेक्चर आणि संकल्पना

ग्राफना गोळा केलेल्या मेट्रिक्सचे व्हिज्युअलायझेशन आणि विश्लेषण करण्यासाठी वापरकर्ता-अनुकूल इंटरफेस प्रदान करून प्रोमिथियसला पूरक करते:

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

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

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

हा विभाग प्रोमिथियस आणि ग्राफना सेट करण्यावर चरण-दर-चरण मार्गदर्शिका प्रदान करतो.

प्रोमिथियस स्थापित करणे

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

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

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']

हे कॉन्फिगरेशन दोन स्क्रॅप जॉब्स परिभाषित करते: एक प्रोमिथियससाठी (त्याचे स्वतःचे मेट्रिक्स स्क्रॅप करण्यासाठी) आणि एक लोकलहोस्ट पोर्ट 9100 वर चालणाऱ्या नोड_एक्सपोर्टरसाठी. `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 मिनिटांच्या अंतराने मोजते.

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` कॉन्फिगरेशन फाइलमध्ये परिभाषित केले जातात. सीपीयू वापर 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: "उच्च सीपीयू वापर आढळला"
      description: "CPU वापर {{ $labels.instance }} वर 80% पेक्षा जास्त आहे "

स्पष्टीकरण:

अलर्टमॅनेजर कॉन्फिगर करणे

अलर्टमॅनेजर अलर्टचे रूटिंग आणि सूचना हाताळते. अलर्ट कोठे पाठवायचे (उदा. ईमेल, स्लॅक, पेजरड्यूटी) निर्दिष्ट करण्यासाठी तुम्हाला अलर्टमॅनेजर कॉन्फिगर करण्याची आवश्यकता आहे. तपशीलवार कॉन्फिगरेशन सूचनांसाठी अलर्टमॅनेजर दस्तऐवजाचा संदर्भ घ्या.

एक किमान `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/'

हे कॉन्फिगरेशन लोकलहोस्ट पोर्ट 8080 वर वेब हुकवर अलर्ट पाठवते. तुम्ही स्लॅक किंवा ईमेल सारख्या सेवा वापरण्यासाठी `receivers` विभाग सानुकूलित करू शकता.

व्यावहारिक उदाहरणे आणि वापर प्रकरणे

प्रोमिथियस आणि ग्राफना विविध ॲप्लिकेशन्स आणि पायाभूत सुविधा घटकांचे निरीक्षण करण्यासाठी वापरले जाऊ शकतात. येथे काही व्यावहारिक उदाहरणे आहेत:

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

मायक्रोसर्व्हिस आर्किटेक्चरमध्ये, प्रोमिथियस आणि ग्राफना वैयक्तिक सेवांचे, तसेच एकूण सिस्टमचे आरोग्य आणि कार्यप्रदर्शन तपासण्यासाठी वापरले जाऊ शकतात. प्रत्येक सेवा विनंती दर, प्रतिसाद वेळ आणि त्रुटी दर यासारखे स्वतःचे मेट्रिक्स उघड करू शकते. प्रोमिथियस नंतर हे मेट्रिक्स स्क्रॅप करू शकते आणि ग्राफना ते व्हिज्युअलाइझ करण्यासाठी वापरले जाऊ शकते. हे तुम्हाला विशिष्ट सेवांमधील कार्यप्रदर्शन बॉटलनेक्स किंवा अपयश त्वरीत ओळखण्यास अनुमती देते.

प्रगत तंत्रे आणि सर्वोत्तम पद्धती

प्रोमिथियस आणि ग्राफनाचा पुरेपूर फायदा घेण्यासाठी, खालील प्रगत तंत्रे आणि सर्वोत्तम पद्धतींचा विचार करा:

सामान्य समस्यांचे निवारण

काळजीपूर्वक नियोजन आणि अंमलबजावणीनंतरही, प्रोमिथियस आणि ग्राफना वापरताना तुम्हाला समस्या येऊ शकतात. येथे काही सामान्य समस्या आणि त्यांची निराकरणे दिली आहेत:

पर्यायी निरीक्षण सोल्यूशन्स

जरी प्रोमिथियस आणि ग्राफना शक्तिशाली साधने असली तरी, मेट्रिक्स संकलन आणि व्हिज्युअलायझेशनसाठी ते एकमेव पर्याय नाहीत. इतर लोकप्रिय निरीक्षण सोल्यूशन्समध्ये हे समाविष्ट आहे:

तुमच्या संस्थेसाठी सर्वोत्तम निरीक्षण सोल्यूशन तुमच्या विशिष्ट गरजा आणि बजेटवर अवलंबून असेल.

निष्कर्ष

ॲप्लिकेशन्स आणि पायाभूत सुविधांचे आरोग्य आणि कार्यप्रदर्शन राखण्यासाठी मेट्रिक्स संकलन आवश्यक आहे. प्रोमिथियस आणि ग्राफना मेट्रिक्स गोळा करणे, संग्रहित करणे आणि व्हिज्युअलाइझ करण्यासाठी एक शक्तिशाली आणि लवचिक ओपन-सोर्स सोल्यूशन प्रदान करतात. या मार्गदर्शिकेत वर्णन केलेल्या मुख्य संकल्पना समजून घेऊन आणि सर्वोत्तम पद्धतींचे अनुसरण करून, तुम्ही तुमच्या संस्थेच्या गरजा पूर्ण करणारे एक मजबूत निरीक्षण प्रणाली तयार करण्यासाठी प्रोमिथियस आणि ग्राफनाचा फायदा घेऊ शकता.

प्रभावी निरीक्षण, सक्रिय अलर्टिंग आणि जलद घटना प्रतिसाद यासह, आधुनिक आयटी ऑपरेशन्सचा आधारस्तंभ आहे. प्रोमिथियस आणि ग्राफनासारखी साधने स्वीकारल्याने संस्थांना त्यांच्या वापरकर्त्यांना, त्यांचे स्थान किंवा उद्योग काहीही असो, विश्वासार्ह आणि कार्यक्षम सेवा वितरीत करण्यास सक्षम करते.