स्प्रिंग बूट एक्चुएटर स्प्रिंग बूट का एक उप-प्रोजेक्ट है जो आपके एप्लिकेशन की निगरानी और प्रबंधन में मदद करने के लिए उत्पादन-तैयार सुविधाएं प्रदान करता है। यह बिल्ट-इन एंडपॉइंट्स का एक सेट प्रदान करता है जो आपको अपने एप्लिकेशन के स्वास्थ्य, मेट्रिक्स और पर्यावरण में अंतर्दृष्टि प्राप्त करने के साथ-साथ इसे गतिशील रूप से नियंत्रित करने की अनुमति देता है।
स्प्रिंग बूट एक्चुएटर कई आउट-ऑफ़-द-बॉक्स एंडपॉइंट प्रदान करता है जिनका उपयोग आपके एप्लिकेशन की निगरानी और उसके साथ इंटरैक्ट करने के लिए किया जा सकता है। इन एंडपॉइंट्स को HTTP, JMX या स्प्रिंग बूट एडमिन का उपयोग करके एक्सेस किया जा सकता है।
अपने स्प्रिंग बूट एप्लिकेशन में एक्चुएटर का उपयोग करने के लिए, आपको अपनी pom.xml फ़ाइल में एक्चुएटर निर्भरता जोड़ने की आवश्यकता है:
org.springframework.boot spring-boot-starter-actuator
यदि आप ग्रैडल का उपयोग कर रहे हैं, तो अपनी बिल्ड.ग्रेडल फ़ाइल में निम्नलिखित जोड़ें:
implementation 'org.springframework.boot:spring-boot-starter-actuator'
डिफ़ॉल्ट रूप से, केवल कुछ समापन बिंदु सक्षम हैं। आप अपनी एप्लिकेशन.yml फ़ाइल में अतिरिक्त समापन बिंदु सक्षम कर सकते हैं:
management: endpoints: web: exposure: include: "*" # This exposes all available endpoints endpoint: health: show-details: always # Show detailed health information
एक्चुएटर स्थापित होने के बाद, आप इसके द्वारा प्रदान किए गए विभिन्न समापन बिंदुओं तक पहुंच सकते हैं। यहां कुछ सामान्यतः उपयोग किए जाने वाले समापन बिंदु दिए गए हैं:
/एक्चुएटर/हेल्थ एंडपॉइंट आपके एप्लिकेशन के स्वास्थ्य के बारे में जानकारी प्रदान करता है:
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 } } } }
/एक्चुएटर/मेट्रिक्स एंडपॉइंट आपके एप्लिकेशन से संबंधित विभिन्न मेट्रिक्स प्रदान करता है:
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" ] } ] }
/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" } } } ] }
/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
स्प्रिंग बूट एक्चुएटर आपके एप्लिकेशन की निगरानी और प्रबंधन में मदद करने के लिए टूल का एक मजबूत सेट प्रदान करता है। इसके अंतर्निहित एंडपॉइंट्स और कस्टम एंडपॉइंट्स बनाने की क्षमता का लाभ उठाकर, आप अपने एप्लिकेशन के प्रदर्शन और स्वास्थ्य में मूल्यवान अंतर्दृष्टि प्राप्त कर सकते हैं। स्प्रिंग सिक्योरिटी के साथ इन एंडपॉइंट्स को सुरक्षित करें ताकि यह सुनिश्चित हो सके कि केवल अधिकृत उपयोगकर्ताओं के पास पहुंच है, और आपके पास एक उत्पादन-तैयार एप्लिकेशन होगा जिसे प्रबंधित करना और मॉनिटर करना आसान है।
एक्चुएटर किसी भी स्प्रिंग बूट एप्लिकेशन का एक अनिवार्य हिस्सा है, जो आपको अपने एप्लिकेशन के रनटाइम वातावरण की नब्ज पर अपनी उंगली रखने और समस्याओं के उत्पन्न होने पर तुरंत प्रतिक्रिया देने में सक्षम बनाता है। अपने एप्लिकेशन की अवलोकन क्षमता और परिचालन क्षमताओं को बढ़ाने के लिए आज ही स्प्रिंग बूट एक्चुएटर का उपयोग शुरू करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3