UI representation of Spring Boot Actuator in a Grails 3 app
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
actuator-ui-app
actuator-ui
.gitignore
.travis.yml
LICENSE
OpenConsole.png
README.adoc
settings.gradle

README.adoc

Actuator UI Plugin

Build Status download

Spring Actuator is a tool which monitors application’s health, metrics and lots of other metadata information about the application. This plugin projects those information in a UI which makes it very user friendly to know the status of the application.

Demo

Prerequisites

  • For Grails 3.0.* version 0.2 can be used

  • For Grails 3.1.* version 1.0 should be used

Configuration

build.gradle

repositories {
    maven {
        url  "http://dl.bintray.com/dmahapatro/plugins"
    }
}

dependencies {
    ...
    compile "org.grails.plugins:actuator-ui:1.1"
}

How To

To access the actuator endpoints you can simply hit /actuator/dashboard at root context.

http://localhost:8080/sample/actuator/dashboard

where /sample is the root context of the application. For a base Grails app where root context is /, the url will be

http://localhost:8080/actuator/dashboard

Secured

Actuator UI is targeted for Admins and normal users. Taking ROLE into consideration this plugin can be easily integrated with spring security core plugin. For example with a mapping like the below in application.yml would secure /actuator/dashboard endpoint.

grails:
    plugin:
        springsecurity:
            userLookup:
                userDomainClassName: auth.User
                authorityJoinClassName: auth.UserRole
            authority:
                className: auth.Role
            controllerAnnotations:
                staticRules:
                    - pattern: '/actuatordashboard/**'
                      access: ['hasRole("ROLE_ADMIN")']
                    - pattern: '/actuator/**'
                      access: ['hasRole("ROLE_ADMIN")']

Avatar support

Actuator-ui ships with Gravatar plugin. It will render a gravatar image under the following circumstances:

  • Spring Security is installed

  • The user is logged in

Gravatar is enabled for actuator-ui by default. To disable Gravatar in actuator-ui, you should add the following to application’s application.yml.

grails:
    plugin:
        actuator:
            gravatar:
                disabled: true

To modify the default rating and gravatar fallback image please refer to the Gravatar Plugin Documentation

Note
When spring security and gravatar are enabled, the plugin grabs the username to look for the gravatar. In this case the username should be a valid email registered in Gravatar otherwise it will fallback to the default gravatar image.

Sample

Sample apps with Spring Security Core integration:

v1.1

  • Gravatar support added for logged in user.

v1.0

  • Grails upgraded to v3.1.10

v0.2

  • Integrated console plugin. A link is provided in the header bar to open console via console plugin. Appropriate version of console plugin has to be installed in the app which uses this plugin. If console plugin is added as a dependency then actuator dashboard should show console link next to the logged in user in top right corner.

  • Items are searchable now. Search for a particular bean, mapping, calls etc.

  • Paginated list of items.

TODO

  • Add charts on Garbage Collection metrics.

  • Add support for custom address and port.