"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्प्रिंग बूट एक्चुएटर का उपयोग करने के लिए एक शुरुआती मार्गदर्शिका

स्प्रिंग बूट एक्चुएटर का उपयोग करने के लिए एक शुरुआती मार्गदर्शिका

2024-08-06 को प्रकाशित
ब्राउज़ करें:541

A Beginners Guide to Using Spring Boot Actuator

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

स्प्रिंग बूट एक्चुएटर क्या है?

स्प्रिंग बूट एक्चुएटर कई आउट-ऑफ़-द-बॉक्स एंडपॉइंट प्रदान करता है जिनका उपयोग आपके एप्लिकेशन की निगरानी और उसके साथ इंटरैक्ट करने के लिए किया जा सकता है। इन एंडपॉइंट्स को HTTP, JMX या स्प्रिंग बूट एडमिन का उपयोग करके एक्सेस किया जा सकता है।

स्प्रिंग बूट एक्चुएटर की मुख्य विशेषताएं

  1. स्वास्थ्य जांच: अपने एप्लिकेशन और उसकी निर्भरता के स्वास्थ्य की निगरानी करें।
  2. मेट्रिक्स: मेमोरी उपयोग, कचरा संग्रहण, वेब अनुरोध विवरण इत्यादि जैसे विभिन्न मैट्रिक्स एकत्र करें।
  3. पर्यावरण सूचना: एप्लिकेशन के पर्यावरण गुणों तक पहुंचें।
  4. एप्लिकेशन जानकारी: एप्लिकेशन के निर्माण के बारे में जानकारी प्राप्त करें, जैसे संस्करण और नाम।
  5. डायनामिक लॉग स्तर: एप्लिकेशन को पुनरारंभ किए बिना लॉग स्तर बदलें।
  6. HTTP ट्रेसिंग: HTTP अनुरोधों को ट्रेस करें।

स्प्रिंग बूट एक्चुएटर की स्थापना

1. एक्चुएटर निर्भरता जोड़ना

अपने स्प्रिंग बूट एप्लिकेशन में एक्चुएटर का उपयोग करने के लिए, आपको अपनी pom.xml फ़ाइल में एक्चुएटर निर्भरता जोड़ने की आवश्यकता है:


    org.springframework.boot
    spring-boot-starter-actuator

यदि आप ग्रैडल का उपयोग कर रहे हैं, तो अपनी बिल्ड.ग्रेडल फ़ाइल में निम्नलिखित जोड़ें:

implementation 'org.springframework.boot:spring-boot-starter-actuator'

2. एक्चुएटर एंडपॉइंट को सक्षम करना

डिफ़ॉल्ट रूप से, केवल कुछ समापन बिंदु सक्षम हैं। आप अपनी एप्लिकेशन.yml फ़ाइल में अतिरिक्त समापन बिंदु सक्षम कर सकते हैं:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # This exposes all available endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information

एक्चुएटर एंडपॉइंट का उपयोग करना

एक्चुएटर स्थापित होने के बाद, आप इसके द्वारा प्रदान किए गए विभिन्न समापन बिंदुओं तक पहुंच सकते हैं। यहां कुछ सामान्यतः उपयोग किए जाने वाले समापन बिंदु दिए गए हैं:

1. स्वास्थ्य समापन बिंदु

/एक्चुएटर/हेल्थ एंडपॉइंट आपके एप्लिकेशन के स्वास्थ्य के बारे में जानकारी प्रदान करता है:

GET http://localhost:8080/actuator/health

उदाहरण प्रतिक्रिया:

{
  "status": "UP",
  "components": {
    "db": {
      "status": "UP",
      "details": {
        "database": "H2",
        "result": 1
      }
    },
    "diskSpace": {
      "status": "UP",
      "details": {
        "total": 499963174912,
        "free": 16989374464,
        "threshold": 10485760,
        "exists": true
      }
    }
  }
}

2. मेट्रिक्स समापन बिंदु

/एक्चुएटर/मेट्रिक्स एंडपॉइंट आपके एप्लिकेशन से संबंधित विभिन्न मेट्रिक्स प्रदान करता है:

GET http://localhost:8080/actuator/metrics

उदाहरण प्रतिक्रिया:

{
  "names": [
    "jvm.memory.used",
    "jvm.gc.pause",
    "system.cpu.usage",
    "system.memory.usage",
    "http.server.requests"
  ]
}

किसी विशिष्ट मीट्रिक का विवरण प्राप्त करने के लिए:

GET http://localhost:8080/actuator/metrics/jvm.memory.used

उदाहरण प्रतिक्रिया:

{
  "name": "jvm.memory.used",
  "description": "The amount of used memory",
  "baseUnit": "bytes",
  "measurements": [
    {
      "statistic": "VALUE",
      "value": 5.1234567E7
    }
  ],
  "availableTags": [
    {
      "tag": "area",
      "values": [
        "heap",
        "nonheap"
      ]
    },
    {
      "tag": "id",
      "values": [
        "PS Eden Space",
        "PS Survivor Space",
        "PS Old Gen",
        "Metaspace",
        "Compressed Class Space"
      ]
    }
  ]
}

3. पर्यावरण समापन बिंदु

/actuator/env एंडपॉइंट पर्यावरण गुणों के बारे में जानकारी प्रदान करता है:

GET http://localhost:8080/actuator/env

उदाहरण प्रतिक्रिया:

{
  "activeProfiles": [],
  "propertySources": [
    {
      "name": "systemProperties",
      "properties": {
        "java.runtime.name": {
          "value": "Java(TM) SE Runtime Environment"
        },
        "java.vm.version": {
          "value": "25.181-b13"
        }
      }
    },
    {
      "name": "systemEnvironment",
      "properties": {
        "PATH": {
          "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        },
        "HOME": {
          "value": "/root"
        }
      }
    }
  ]
}

4. जानकारी समापन बिंदु

/actuator/info एंडपॉइंट एप्लिकेशन के बारे में जानकारी प्रदान करता है:

GET http://localhost:8080/actuator/info

जानकारी को अनुकूलित करने के लिए, अपने एप्लिकेशन में गुण जोड़ें।yml:

info:
  app:
    name: My Spring Boot Application
    description: This is a sample Spring Boot application
    version: 1.0.0

एक्चुएटर एंडपॉइंट को सुरक्षित करना

डिफ़ॉल्ट रूप से, सभी एक्चुएटर एंडपॉइंट प्रमाणीकरण के बिना पहुंच योग्य हैं। इन समापन बिंदुओं को सुरक्षित करने के लिए, आप स्प्रिंग सिक्योरिटी का उपयोग कर सकते हैं। अपने pom.xml में स्प्रिंग सुरक्षा निर्भरता जोड़ें:


    org.springframework.boot
    spring-boot-starter-security

एक्सेस प्रतिबंधित करने के लिए अपना एप्लिकेशन.yml अपडेट करें:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # Expose all endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information

spring:
  security:
    user:
      name: admin  # Default username
      password: admin  # Default password

# Restrict actuator endpoints to authenticated users
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
  security:
    enabled: true
    roles: ACTUATOR

HTTP सुरक्षा को कॉन्फ़िगर करने के लिए एक सुरक्षा कॉन्फ़िगरेशन क्लास बनाएं:

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/actuator/**").hasRole("ACTUATOR")
                .anyRequest().authenticated()
            .and()
            .httpBasic();
    }
}

इस कॉन्फ़िगरेशन के साथ, केवल ACTUATOR भूमिका वाले प्रमाणित उपयोगकर्ता ही Actuator एंडपॉइंट तक पहुंच सकते हैं।

एक्चुएटर एंडपॉइंट को अनुकूलित करना

आप अपने एप्लिकेशन के लिए विशिष्ट अतिरिक्त जानकारी या कार्यक्षमता को उजागर करने के लिए कस्टम एक्चुएटर एंडपॉइंट बना सकते हैं। यहां कस्टम एंडपॉइंट बनाने का एक उदाहरण दिया गया है:

import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;

@Endpoint(id = "custom")
@Component
public class CustomEndpoint {

    @ReadOperation
    public String customEndpoint() {
        return "Custom Actuator Endpoint";
    }
}

अपने कस्टम एंडपॉइंट पर पहुंचें:

GET http://localhost:8080/actuator/custom

निष्कर्ष

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

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

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/isaactony/a-beginners-guide-to-using-spring-boot-actuator-5g3n?1 यदि कोई उल्लंघन है, तो कृपया हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें। यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3