Spring Boot Actuator হলো Spring Boot অ্যাপ্লিকেশনের জন্য একটি গুরুত্বপূর্ণ মডিউল, যা অ্যাপ্লিকেশনের পর্যবেক্ষণ (monitoring) এবং পরিচালনার (management) সুবিধা প্রদান করে। এটি বিভিন্ন এন্ডপয়েন্ট (Endpoints) এর মাধ্যমে অ্যাপ্লিকেশনের মেট্রিক্স (metrics), স্বাস্থ্য পরীক্ষা (health check), কনফিগারেশন ডিটেইলস, এবং অন্যান্য ডায়াগনস্টিক তথ্য অ্যাক্সেসের সুযোগ দেয়।
Spring Boot Actuator এর বৈশিষ্ট্য
পর্যবেক্ষণ এবং ডায়াগনস্টিক তথ্য
Actuator বিভিন্ন গুরুত্বপূর্ণ তথ্য সরবরাহ করে, যেমন:
- অ্যাপ্লিকেশনের স্ট্যাটাস
- রানটাইম মেট্রিক্স
- ডেটাবেস কানেকশন স্ট্যাটাস
- HTTP ট্রাফিকের তথ্য
ম্যানেজমেন্ট এন্ডপয়েন্টস
Spring Boot Actuator ডিফল্টভাবে অনেকগুলো ম্যানেজমেন্ট এন্ডপয়েন্ট প্রদান করে, যা অ্যাপ্লিকেশন পরিচালনা করতে সহায়ক।
এক্সটেনসিবিলিটি
Spring Boot Actuator ব্যবহার করে কাস্টম মেট্রিক্স এবং এন্ডপয়েন্ট তৈরি করা যায়।
Spring Boot Actuator ডিপেনডেন্সি যোগ করা
Spring Boot Actuator ব্যবহার করার জন্য Maven বা Gradle ডিপেনডেন্সি যুক্ত করতে হয়।
Maven ডিপেনডেন্সি
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Gradle ডিপেনডেন্সি
implementation 'org.springframework.boot:spring-boot-starter-actuator'
Actuator Endpoints
Spring Boot Actuator বিভিন্ন প্রয়োজনীয় এন্ডপয়েন্ট প্রদান করে। এগুলো ডিফল্টভাবে /actuator URI-তে এক্সেস করা যায়।
গুরুত্বপূর্ণ এন্ডপয়েন্ট
| এন্ডপয়েন্ট | কাজ |
|---|---|
/actuator/health | অ্যাপ্লিকেশনের স্বাস্থ্য পরীক্ষা (উপলভ্য নাকি তা দেখায়)। |
/actuator/metrics | অ্যাপ্লিকেশনের বিভিন্ন মেট্রিক্স সরবরাহ করে। |
/actuator/info | অ্যাপ্লিকেশনের তথ্য (যেমন ভার্সন, বিবরণ) প্রদান করে। |
/actuator/env | পরিবেশ ভ্যারিয়েবলের তথ্য দেখায়। |
/actuator/loggers | লগিং লেভেল পরিচালনার জন্য ব্যবহৃত হয়। |
/actuator/beans | অ্যাপ্লিকেশনের সকল বীন লিস্ট করে। |
Spring Boot Actuator এর কাজ
১. অ্যাপ্লিকেশনের স্বাস্থ্য পরীক্ষা
Spring Boot Actuator এর /health এন্ডপয়েন্ট ব্যবহার করে অ্যাপ্লিকেশনের স্বাস্থ্য পরীক্ষা করা যায়।
উদাহরণ:
GET http://localhost:8080/actuator/health
রেসপন্স:
{
"status": "UP"
}
২. মেট্রিক্স সংগ্রহ
Actuator এর /metrics এন্ডপয়েন্ট ব্যবহার করে অ্যাপ্লিকেশনের বিভিন্ন মেট্রিক্স, যেমন মেমোরি ব্যবহার, HTTP রিকোয়েস্ট সংখ্যা ইত্যাদি দেখা যায়।
উদাহরণ:
GET http://localhost:8080/actuator/metrics
রেসপন্স:
{
"names": [
"jvm.memory.used",
"http.server.requests",
"jvm.gc.pause"
]
}
৩. অ্যাপ্লিকেশন তথ্য যোগ করা
Actuator এর /info এন্ডপয়েন্টে অ্যাপ্লিকেশনের কাস্টম তথ্য যোগ করা যায়।
application.properties:
management.endpoint.info.enabled=true
info.app.name=My Spring Boot App
info.app.version=1.0.0
রেসপন্স:
{
"app": {
"name": "My Spring Boot App",
"version": "1.0.0"
}
}
৪. লগিং লেভেল পরিবর্তন
Actuator এর /loggers এন্ডপয়েন্ট ব্যবহার করে রানটাইমে লগিং লেভেল পরিবর্তন করা যায়।
উদাহরণ:
POST http://localhost:8080/actuator/loggers/com.example
{
"configuredLevel": "DEBUG"
}
Spring Boot Actuator এর কাস্টমাইজেশন
Endpoints সক্রিয়/নিষ্ক্রিয় করা
ডিফল্টভাবে সক্রিয় বা নিষ্ক্রিয় এন্ডপয়েন্ট নির্ধারণ করা যায়।
application.properties:
management.endpoints.web.exposure.include=health,info
management.endpoint.env.enabled=false
কাস্টম এন্ডপয়েন্ট তৈরি করা
Spring Boot Actuator কাস্টম এন্ডপয়েন্ট তৈরি করার সুযোগ দেয়।
উদাহরণ:
@Component
@Endpoint(id = "customEndpoint")
public class CustomEndpoint {
@ReadOperation
public String customEndpoint() {
return "This is a custom endpoint";
}
}
অ্যাক্সেস:
GET http://localhost:8080/actuator/customEndpoint
Spring Boot Actuator এর ব্যবহার
Spring Boot Actuator ডেভেলপার এবং অপারেশন টিমকে অ্যাপ্লিকেশনের কার্যক্ষমতা এবং স্বাস্থ্যের উপর নজরদারি করার সহজ উপায় প্রদান করে। এটি মনিটরিং টুল যেমন Prometheus, Grafana, এবং ELK Stack-এর সঙ্গে ইন্টিগ্রেশন করতে ব্যবহার করা হয়।
Spring Boot Actuator ব্যবহার করে ডায়াগনস্টিক এবং পরিচালনার কাজ দ্রুত এবং সহজে সম্পন্ন করা যায়।
Read more