Show Navigation


A Grails plugin to provide applicaiton system information for health-check and runtime inspection

Owner: ikalizpet | 2.2 | Jun 25, 2019 | Package | Issues | Source | Documentation | License: Apache-2.0

dependencies {
    compile 'org.grails.plugins:grails-appinfo:2.2'



Grails plugin to check and monitor application status with a dashboard UI

Build Status


Grails-appinfo Grails plugin is a set of convenient utilities for application system details, health-check, configuration and monitoring at runtime.

This Grails plugin builds on top of spring boot actuator API with Grails specific enhancements on stock actuator endpoints.

To consume actuator JSON endpoints, the testing Grails application also provides a monitoring dashboard inspired by grails-actuator-ui.

The dashboard UI is built on bootstrap with CSS framework from AdminLTE.

This repository contains source code of Grails-appinfo plugin, and a testing host Grails application.


In host Grails application's build.gradle file:

plugins {
    compile ':grails-appinfo:$version'


Hosting Grails application version 3.0+.


In host Grails application grails-app/conf/application.yml

# Appinfo grails plugin settings
            # hide or show password in the mongodb connection url if it contains credential info
            # if set to false (default if not set), the password will be replaced as '<pswd>'
            showPassword: false  # default to false
        urls:   # list of webservice endpoints to check
            - url: 'http://localhost:8080'
              name: 'web root'   # name of the endpoint
              method: 'GET'      # http method, default to 'HEAD' if not given
            - url: 'http://localhost:8080/info'
              name: 'web_info'
                # either:
                bucket: 'bucket-name'  # bucket name used in s3 health check
                # or: (for multiple buckets)
                #    - 'bucket-name'
                #    - 'another-bucket-name'
        # add 'grails-system-info' to Actuator info endpoint, default (if not set) is not enabled
        system: true
        # add 'grails-logging-info' to Actuator info endpoint, default (if not set) is not enabled
        logging: true
        # add following keys to Actuator info endpoint, default (if not set) is not enabled
        # - 'jvm-version'
        # - 'groovy-version'
        # - 'grails-runtime-environment'
        # - 'grails-reload-enabled'
        # - 'grails-runtime-threads-info'
        runtime: true


The plugin provides RESTful json view by itself with endpoints as below: <root-context>/ followed by autoconfig, configprops, dump, env, health, info, metrics, mappings, shutdown, trace, beans.

Most of them are decorators of Spring Boot Actuator native endpoints. But with enhanced information and connectivity support such as mongodb, s3, generic web url endpoint, etc.

For example, localhost:8080/health endpoint returns:

    "status": "DOWN",
    "diskSpace": {
        "status": "UP",
        "total": 499963170816,
        "free": 281595985920,
        "threshold": 262144000
    "urlHealthCheck_web_info": {
        "status": "UP",
        "url": "http://localhost:8080/info",
        "method": "HEAD",
        "timeout.threshold": "10000 ms"
    "databaseHealthCheck": {
        "status": "UP",
        "database": "H2",
        "hello": 1
    "urlHealthCheck_webroot": {
        "status": "UP",
        "url": "http://localhost:8080",
        "method": "GET",
        "timeout.threshold": "10000 ms"
    "mongodbHealthCheck": {
        "status": "DOWN",
        "url": "mongodb://localhost/test_grails_appinfo",
        "db": "test_grails_appinfo",
        "error": "java.lang.Exception: MongoDB check timed out after 3000 ms"
    "s3HealthCheck": {
        "status": "DOWN",
        "endpoint": "",
        "error": "java.lang.Exception: S3 check fail: Unable to load AWS credentials from any provider in the chain"

The sample application also includes a Bootstrap styled dashboard with url: <root-context>/appinfoDashboard which renders information with ajax call to above endpoints.

The web UI components are straightforward:

  • gsp in folder views/appinfoDashboard
  • layout template views/layouts/appinfo.gsp
  • taglib taglib/grails/plugin/appinfo/AvatarTaglib.groovy

UI static resource files are:

  • grails-app/assets/images/appinfo
  • grails-app/assets/javascripts/appinfo
  • grails-app/assets/stylesheets/appinfo

Here are some screenshots of v1.3 sample application UI:

  • dashboard Alt appinfo UI dashboard
  • URL mappings Alt appinfo UI URL mappings
  • http call trace Alt appinfo UI http trace
  • runtime beans Alt appinfo UI beans



  • fix: sample app boot-up fails when aws-s3 setting is commented out in app yaml
  • document enhancement with sample app UI dashboard config and screenshot


  • support both AWS SDK Grails plugin version 1.x and 2.x.


  • fix mongodb check timeout error during healthcheck
  • enhancements of loggingInfo exposure in Actuator endpoint
  • restore runtime logger management web UI because of SpringBoot Actuator v1.4's lack of loggers RESTful endpoint


  • add password shadowing option for mongodb connection url


  • stable release for Grails 3.2.x, with Spring Boot 1.4 and GORM 6.0


  • support both multi-dataSources and single dataSource in health check
  • support mongodb in health check


Bin Le ([email protected])


Apache License Version 2.0. (