EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Software Development Software Development Tutorials Spring Tutorial Spring Boot Actuator
 

Spring Boot Actuator

Shalu Sharma
Article byShalu Sharma
EDUCBA
Reviewed byRavi Rathore

Updated March 28, 2023

Spring Boot Actuator

 

 

Introduction to Spring Boot Actuator

Spring Boot actuator helps us to manage and monitor our application when we deploy our application to production. It contains various endpoints by which we can see where the resource is up, it has two types of endpoints which we can use to monitor our spring boot application which is JMX and HTTP, it provides us the production-ready application by which we can monitor the health of our application we should use this feature. It also applied some more things automatically in applications like metrics, health, and auditing.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

Features of Spring Boot Actuator

The spring-boot-actuator module provides all of Spring Boot’s production-ready features. The simplest way to enable the features is to add a dependency to the spring-boot-starter-actuator ‘Starter’.

1. Provide Production Ready Feature

We have one module which provides us all the production-ready features. To enable this feature into the project we need to add one dependency i.e. spring-boot-starter-actuator ‘Starter’.

2. Auditing

We all have spring security in our project for authentication so this actuator has an audit framework as well which manage various events by default like access denied, failures, and authentication success. So this feature is very important and it implements lockout for user based on a number of failures in the authentication. Now to enable this we need to configure AuditEventRepository type bean in our spring boot application. Spring boot also provides one InMemoryAuditEventRepository but this has very limited features so this can only recommend using in a development phase, if we want to move our application to production then we should go for AuditEventRepository configuration.

3. Customer Auditing

we can also implement customize security events but for this we need to provide implementations of the interface which are:

AbstractAuthenticationAuditListener
AbstractAuthorizationAuditListener

4. Endpoints

Spring boot actuator provides us various built-in endpoints to manage and monitor our application and by this, we can also interact with our application. It has so many built-in endpoints as well as we can create our endpoint also. We can also disable and enable this endpoint according to the need. Suppose we want to access these endpoints so in order to access them we need to expose them to the network via HTTP or JMX. Here application prefers HTTP over JMX URL starts with / actuator and after this ID we can add to access them.

5. Loggers

One main reason for this feature is it allows us to configure our loggers in our application at runtime. We can also view the individual logger or the entire list configuration. This configuration is made both implicitly and explicitly. Implicitly are once which are provided by the login framework and explicitly which we have done. Various levels is mentioned below:

  • null
  • WARN
  • TRACE
  • INFO
  • ERROR
  • OFF
  • FATAL
  • DEBUG

6. Metrics

As discussed actuator provide us auto-configuration and management for micrometer, it is a facade which provides support for various monitoring purpose that includes:

  • Datadog
  • Prometheus
  • Elastic
  • Atlas
  • Ganglia
  • StatsD
  • Graphite
  • AppOptics
  • Humio
  • Influx
  • Simple (in-memory)
  • JMX
  • Dynatrace
  • KairosDB
  • New Relic
  • SignalFx
  • Wavefront

7. JMX

JMX stands for Java Management Extensions, it allows us to manage and monitor our spring boot applications. To enable this feature we need to do configuration in an out project like set the configuration property spring.jmx.enabled = true. If we want to disable this property or we do not want to expose our endpoints using JMX then we need to configure like below:

management.endpoints.jmx.exposure.exclude

8. HTTP

This feature is used to expose our endpoints over the network via HTTP this is enabled by default. We just need to prefix /actuator followed by the ID of the endpoint. It can happen sometimes that we have already used / actuator for other purposes so we can also change the prefix by setting some property which shows below:

management.endpoints.web.base-path=/manage

9. Process Monitoring

Spring boot provides us two classes that are very useful for process monitoring which are as follows :

  • WebServerPortFileWriter: This class used to create a file that contains information about the server port on which the application is up and running. By default, it creates with name application.port
  • ApplicationPidFileWriter: This class creates a file that conation the application PDI. By default, it creates with name application.pid

10. Cloud Foundry Support

Spring boot actuator also provides us support when we deploy our application on the cloud. It provides us /cloudfoundryapplication path which provides us a secure route to all our endpoints.

11. HTTP Tracing

This we can enable by configuring HttpTraceRepository type bean into our application. Spring boot provides us InMemoryHttpTraceRepository but it has limited support which can be used in development. For the production-ready application, we can go for HttpTraceRepository.

Spring Boot Actuator endpoints

We have so many inbuilt endpoints available in spring boot actuator.

  • auditevents
  • beans
  • caches
  • conditions
  • configprops
  • env
  • flyway
  • health
  • httptrace
  • info
  • integrationgraph
  • loggers
  • liquibase
  • metrics
  • mappings
  • scheduledtasks
  • sessions
  • shutdown
  • threaddump

Spring Boot Actuator Properties:

  • management.security.enabled=true
  • management.security.roles=USER
  • security.basic.enabled=true
  • security.user.name=user123
  • security.user.passowrd=user123

Examples of Spring Boot Actuator

Follow the below-mentioned steps to create your first spring boot project using an actuator.

  • First, we need to create the spring boot project for that you can follow this link https://start.spring.io/
  • Here mention the group names, artifact id and add the necessary dependency. The dependency for the actuator is mentioned below.
  • Add this to pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
  • Java Class:
package com.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoActuator
{
@GetMapping("/demo_act")
public String demoAc()
{
return "Demo actuator!!";
}
}

Output:

Spring Boot Actuator-1.1

  • For now, we are disabling the security feature of a spring boot actuator. For this we will set one property which is mentioned below:
management.security.enabled=false

Conclusion

So actuator provides us many features to make our spring boot application production-ready which helps us to monitor and manage our application very easily also it reduces the maintenance task for us. We can also trace the exception and errors in production very easily.

Recommended Articles

This is a guide to Spring Boot Actuator. Here we discuss the Introduction and features of the spring boot actuator along with an example and its code implementation. you may also have a look at the following articles to learn more –

  1. Spring Boot Versions
  2. Spring Cloud vs Spring Boot
  3. What is Spring Cloud?
  4. Spring Boot Starter Web

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW