Prometheus मेट्रिक्स C# (.NET) में — prometheus-net लाइब्रेरी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Prometheus मेट्रिक्स C# (.NET) में — prometheus-net लाइब्रेरी



.NET प्लेटफ़ॉर्म पर वेब एप्लिकेशन और माइक्रोसर्विसेज़ के आधुनिक विकास में, निगरानी और observability (अवलोकनीयता) production-वातावरण के अनिवार्य तत्व बन गए हैं। prometheus-net लाइब्रेरी .NET के लिए आधिकारिक क्लाइंट लाइब्रेरी है, जो एप्लिकेशन मेट्रिक्स को उस प्रारूप में आसानी से निर्यात करने की अनुमति देती है जिसे निगरानी सर्वर Prometheus समझता है।



prometheus-net की सहायता से आप प्रदर्शन डेटा (प्रतिक्रिया समय, अनुरोधों की संख्या, त्रुटियाँ, मेमोरी उपयोग) एकत्र कर सकते हैं और इसे बाद में Grafana या अन्य टूल्स में विज़ुअलाइज़ेशन के लिए Prometheus को भेज सकते हैं। लाइब्रेरी पुराने .NET Framework (4.6.1+) और आधुनिक .NET Core / .NET 5/6/7/8 दोनों का समर्थन करती है।



स्थापना

लाइब्रेरी को NuGet Package Manager या .NET CLI के माध्यम से स्थापित किया जा सकता है:

dotnet add package prometheus-net

ASP.NET Core अनुप्रयोगों के लिए अतिरिक्त रूप से prometheus-net.AspNetCore पैकेज की आवश्यकता है:

dotnet add package prometheus-net.AspNetCore


मेट्रिक्स के मुख्य प्रकार

Prometheus चार मुख्य प्रकार के मेट्रिक्स का समर्थन करता है। prometheus-net में ये Metrics वर्ग में स्थैतिक फ़ैक्टरी के रूप में कार्यान्वित किए गए हैं:

  • Counter — एक काउंटर जो केवल बढ़ सकता है (उदाहरण: संसाधित अनुरोधों की संख्या)।
  • Gauge — एक मेट्रिक जो बढ़ और घट सकती है (उदाहरण: सक्रिय कनेक्शनों की संख्या या वर्तमान तापमान)।
  • Histogram — एक हिस्टोग्राम जो निर्दिष्ट अंतरालों (buckets) में अवलोकनों की संख्या गिनता है। इसका उपयोग प्रतिक्रिया समय या डेटा आकार के वितरण को मापने के लिए किया जाता है।
  • Summary — एक सारांश मेट्रिक जो अवलोकनों के प्रवाह के आधार पर क्वांटाइल (p50, p95, p99) की गणना करता है।


Counter का उपयोग उदाहरण

आइए संसाधित HTTP अनुरोधों की संख्या गिनने के लिए एक सरल काउंटर बनाएँ:

using Prometheus;

// नाम और विवरण के साथ एक काउंटर बनाएँprivate static readonly Counter RequestCount = Metrics .CreateCounter("myapp_requests_total", "Total number of HTTP requests.");

// अनुरोध हैंडलर में काउंटर बढ़ाएँpublic IActionResult Index(){ RequestCount.Inc(); // 1 से बढ़ाएँ // या RequestCount.Inc(5); // 5 से बढ़ाएँ return View();}


Gauge का उपयोग उदाहरण

Gauge वर्तमान स्थिति को ट्रैक करने के लिए उपयोगी है, जैसे सक्रिय उपयोगकर्ताओं की संख्या:

private static readonly Gauge ActiveUsers = Metrics    .CreateGauge("myapp_active_users", "Number of active users.");

// उपयोगकर्ता के लॉगिन परActiveUsers.Inc();

// उपयोगकर्ता के लॉगआउट परActiveUsers.Dec();


Histogram का उपयोग उदाहरण

हिस्टोग्राम अनुरोध निष्पादन समय मापने के लिए आदर्श है:

private static readonly Histogram RequestDuration = Metrics    .CreateHistogram("myapp_request_duration_seconds",                      "Histogram of request duration.",                     new HistogramConfiguration                     {                         // Buckets की सीमाएँ कॉन्फ़िगर करें                         Buckets = new[] { 0.1, 0.25, 0.5, 1.0, 2.5 }                     });

// Middleware या कंट्रोलर एक्शन मेंusing (RequestDuration.NewTimer()){ // अनुरोध निष्पादन await Next(context);}


ASP.NET Core के साथ एकीकरण

आपके /metrics एंडपॉइंट को Prometheus प्रारूप में डेटा प्रदान करने के लिए, Program.cs में middleware जोड़ना पर्याप्त है:

using Prometheus;

var builder = WebApplication.CreateBuilder(args);var app = builder.Build();

// मेट्रिक्स संग्रह के लिए middleware जोड़ें

अनुशंसाएँ