dmahapatro / grails-actuator-ui

UI representation of Spring Boot Actuator in a Grails 3 app
Apache License 2.0
36 stars 14 forks source link

= Actuator UI Plugin

image:https://travis-ci.org/dmahapatro/grails-actuator-ui.svg?branch=master["Build Status", link="https://travis-ci.org/dmahapatro/grails-actuator-ui"] image:https://api.bintray.com/packages/dmahapatro/plugins/actuator-ui/images/download.svg[link="https://bintray.com/dmahapatro/plugins/actuator-ui/_latestVersion"]

http://docs.spring.io/autorepo/docs/spring-boot/current/reference/htmlsingle/#production-ready[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 https://www.youtube.com/watch?v=huhC1LV5I8Q[DEMO]

== Prerequisites

== 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:

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 https://github.com/rpalcolea/grails-gravatar[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

=== v1.0

=== v0.2

== TODO