Back to "स्नानानाना और प्रोमेथस का उपयोग आ रहा है ताकि वह सुन सके. नहीं कोर 8+ अनुप्रयोग"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

ASP.NET Docker Grafana Prometheus

स्नानानाना और प्रोमेथस का उपयोग आ रहा है ताकि वह सुन सके. नहीं कोर 8+ अनुप्रयोग

Wednesday, 18 September 2024

परिचय

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

आप चाहे तो हवा के बादल का इस्तेमाल कर सकते हैं, लेकिन इस तरह हम स्थानीय रूप से हर चीज़ को स्थापित करने पर ध्यान केंद्रित करेंगे ताकि आप अपनी नज़रों पर पूरी तरह नियंत्रण रख सकें ।

लक्ष्य है कि इस तरह एक डेंटिंग कुछ पाने के लिए:

कनानानाना डेशबोर्ड

डॉकर

इस साइट के साथ हमेशा के रूप में...... मैं surata और Posus तत्वों को जोड़ने के लिए चाहते थे मेरे screrpercol फ़ाइल के लिए, यह मुझे एक ही कमांड में सब कुछ और नीचे और नीचे रखने की अनुमति देता है और यह सब अभ्यस्तित रखने के लिए अनुमति देता है.

यहाँ आप देख सकते हैं कि मैं प्रोमरस और ग्रनाना सेवाओं को स्थापित कर सकते हैं। ये मेरा आम एप्पो का उपयोग करते हैं और डेटा को स्मिट करने के लिए डॉक आयतों का उपयोग करते हैं.

डॉकर निर्माण फ़ाइल

  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    networks:
      - app_network

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    volumes:
      - grafana-data:/var/lib/grafana
    networks:
      - app_network
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=testpassword1234
- volumes:
  grafana-data:
  prometheus-data:

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

आप नोट करेंगे कि मैं यहाँ किसी भी पोर्ट नहीं है, मैं Cadddy का उपयोग करेगा Cudy का उपयोग करने के लिए Cudy की सेवा और Posus केवल डॉकer संजाल के भीतर से ही पहुँच सकता है।

स्थानीय रूप से चलने के लिए वैकल्पिक पोर्ट

यदि आप जोड़ना चाहते हैं तो आप जोड़ सकते हैं

# Prometheus
    ports:
      - "9090:9090"
# Grafana
    ports:
      - "3000:3000"

आप स्थानीय रूप से चल रहे हैं जो हाथ हो सकता है. विंडोज़ में ध्यान दें आप अपनी आईडीई में अपना ऐप चला सकते हैं और `host.moner:\40' (जो कुछ भी पोर्ट) भण्डार में से आपके ऐप तक पहुंचने के लिए. आप अपने डाक- क़िस्म की फ़ाइल में 'क्लास' नेटवर्क भी उल्लेखित करेंगे.

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    ports:
      - "9090:9090"
    networks:
      - monitoring

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
      - "3000:3000"
    networks:
      - monitoring
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin

networks:
  monitoring:
    driver: bridge

प्रोग्रेस कॉन्फ़िगरेशन

फिर हम एक नया जोड़ prometheus.yml प्रोक्शन्स को कॉन्फ़िगर करने के लिए फ़ाइल हमारे इवेल्यूशन से. वेन कोर अनुप्रयोग. यहाँ उस फाइल के बारे में बुनियादी उदाहरण दिए गए हैं:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'mostlylucid'
    metrics_path: /metrics
    scheme: http                
    static_configs:
      - targets: ['mostlylucid:8080']

यहाँ आप मैं आंतरिक नाम का उपयोग देखते हैं mostlulucid जो मेरे डॉकर सेवा का नाम है और यह 8080 का डिफ़ॉल्ट पोर्ट है. मैं कवर होगा कैसे आप इसे सक्षम कर सकते हैं. कुछ ही समय में कोर.

एनईएसई.ईईईएर अनुप्रयोग

मैं पीछा किया निर्देश यहाँ मिले यह सेट करने के लिए.

आपको पहले जोड़ना होगा OpenTelemetry.Exporter.Prometheus.AspNetCore Nu अपने प्रमाणीकरण परियोजना को पाने के लिए पैकेज जाओ. आप अपने प्रोजेक्ट में निम्नलिखित कमांड को चला सकते हैं:

dotnet add package OpenTelemetry.Exporter.Prometheus.AspNetCore

इसके बाद, आप अपने अनुप्रयोग को मेरे वायरस का परदाफ़ाश करने के लिए कॉन्फ़िगर करने की जरूरत है. अपने में Program.cs फ़ाइल, आप निम्न कोड जोड़ सकते हैं:

   services.AddOpenTelemetry()
        .WithMetrics(builder =>
        {
            builder.AddPrometheusExporter();
            builder.AddMeter("Microsoft.AspNetCore.Hosting", "Microsoft.AspNetCore.Server.Kestrel");
        });
   
    app.MapPrometheusScrapingEndpoint();

यह प्रोमियस के लिए अंत बिन्दु और डेटा प्रदान करता है और दो 'सीवर' को सेट करता है जो एईसी के लिए प्रदर्शन डाटा प्रदान करता है.

अद्यतन

मैं कुछ समय के साथ गड़बड़. यह 8 में एक नई विशेषता है और अब भी एक छोटा सा यह लगता है. ऊपर से कॉन्फ़िग मूल सुविधाओं आप Aback के लिए की जरूरत देता है। वेगॉटबोर्ड लेकिन अधिक जानकारी है आप imuss के लिए पारित कर सकते हैं।

Teptacuts की नवीनतम बीला. procutius. scuta 1 संस्करण से अधिक स्थिर लगता है (कम से कम से कम लेखन के समय में). तो मैं आप इसका उपयोग करने की सलाह देता हूँ.

dotnet add package OpenTelemetry.Exporter.Prometheus.AspNetCore --version 1.9.0-beta.2

तो आप अपने इस तरह के अनुप्रयोग में एक अधिक मीटर का एक पूरा सेट जोड़ सकते हैं:

    services.AddOpenTelemetry()
        .WithMetrics(builder =>
        {
            builder.AddPrometheusExporter();
            builder.AddAspNetCoreInstrumentation();
            builder.AddRuntimeInstrumentation();
            builder.AddHttpClientInstrumentation();
        }); 

यदि आप इन में F12 को आप देख सकते हैं कि ये पैकेज को पहले की तरह जोड़ देते हैं:

उदाहरण के लिए AddAspNetCoreInstrumentation एनपीएस के लिए बनाया गया सब जोड़।

return builder
             .AddMeter("Microsoft.AspNetCore.Hosting")
             .AddMeter("Microsoft.AspNetCore.Server.Kestrel")
             .AddMeter("Microsoft.AspNetCore.Http.Connections")
             .AddMeter("Microsoft.AspNetCore.Routing")
             .AddMeter("Microsoft.AspNetCore.Diagnostics")
             .AddMeter("Microsoft.AspNetCore.RateLimiting");

हा॰ मीम॰

एक बार इन सक्षम कर रहे हैं आप अपनेबोर्ड में अधिक जानकारी प्राप्त कर सकते हैं। उदाहरण के लिए, मैंने अपनी याददाश्‍त का उपयोग दिखाने के लिए एक जीसी मीटर को जोड़ा (और जल्दी से ट्रैकर से बंद हो जाता है) ।

मेमोरी उपयोग

चाउ

अब हम नेनानाना है और चल रही है मैं अपने Cuuudy फ़ाइल के लिए कुछ Cudyyyyy कॉन्फ़िगरेशन को बाहर दुनिया के लिए sudying सेवा का परदाफ़ाश करने के लिए.

grafana.mostlylucid.net
{
   reverse_proxy grafana:3000
}

http://grafana.mostlyucid.net
{
   redir https://{host}{uri}
}

मैंने इस Cadddy सर्वर को अपने डोमेन की ओर इशारा किया और अब मैं बाहर के दुनिया से स्फीना तक पहुँच सकता हूँ.

ऊपर कानाना सेट करना

जब आपके पास सब कुछ चल रहा हो, तो आप अपने URL पर जा सकते हैं (http://oophost; 3000 यदि स्थानीय रूप से चल रहा हो, तो आप अपने ब्राउज़र में पहुँच सकते हैं. जो महत्व आपने आपके डॉकर में सेट किया है उसके प्रयोग में लॉग में है.

तो आप प्रोकस के लिए एक डेटा स्रोत सेट करने की जरूरत है. इसे करने के लिए, बाएँ बाजू बाजू पट्टी में डेस्कटॉप प्रतीक पर क्लिक करें, तब " डाटा स्रोत" पर क्लिक करें. "Addd डाटा स्रोत" पर क्लिक करें, " प्रोफाइलस" का चयन करें, और URL को आपके प्रोप्रोकस उदाहरण के लिए विन्यस्त करें (http://promestestes: 90 अगर स्थानीय रूप से चल रहा है).

प्रोग्रेस डाटा स्रोत

उसके बाद, आप ड्रा बोर्ड बनाना शुरू कर सकते हैं...... और अपने रहस्यों को देख सकते हैं!

डैश बोर्ड

हम Dacks का उपयोग कर रहे हैं......... हम हमारे गर्मियों से इकट्ठा करने के लिए macks का उपयोग कर रहे हैं.NT कोर अनुप्रयोग. आप अपने ही जालों को बना सकते हैं या मौजूदा लोगों को आयात कर सकते हैं...

इस के लिए हम निम्न ऑपरेटरों का उपयोग करेंगे

  • एनईएस. एनई. - एनपीएसी के लिए सबसे महत्वपूर्ण सुझावों को दिखाता है.

  • एनईएस. - अपने अनुप्रयोग में प्रत्येक अंत बिन्दुओं के लिए मुझे दिखाएँ.

इन जोड़ने के लिए डीशबोर्ड को जोड़ने के लिए - नया- प्रारंभ करें तथा आयात आईडी को आयात करें क्षेत्र में. डैश बोर्ड आयात करें

यह तो अपने सिग्नेना उदाहरण के लिए सालीबोर्ड जोड़ देगा.

हम उन नए आयात डी-बोर्ड में जा सकते हैं और उन्हें हमारे Posus डेटा स्रोत के लिए बिंदु करने के लिए विन्यस्त कर सकते हैं.

इस लेख की शुरूआत में हमने देखा कि हम किस नज़रिए से गुज़र रहे हैं । के लिए Job आप अय्यूब के नाम का चयन हम विशेष रूप से सेट prometheus.yml फ़ाइल. हमारे मामले में mostlylucid___ तो फिर तुम मुझे अपने पुल में पेट भरने शुरू करना चाहिए!

ऑन्टियम

इस गाइड में, हम अपने अस्वाभाविकता के लिए निगरानी कैसे स्थापित करने के लिए कवर। हम Lacker, Parus, Posus, और Photans के चरणों के माध्यम से चला गया, और साथ ही साथ साथ साथ आप अपने अप्रयोगों से मुझे आकर्षित करने के लिए कैसे। वेर अनुप्रयोग। इस सेटअप के साथ, आप अब अपने कार्यक्रम के प्रदर्शन को देख सकते हैं और उनके व्यवहार में मूल्यवान अंतर्दृष्टि प्राप्त कर सकते हैं । खुशी की बात है!

logo

©2024 Scott Galloway