The AgileAssets system provides a method for administrators to monitor and log events related to the health of the system. Event logging can be configured to write these to the SYSLOG, and then monitoring tools can receive the events.

Events List

  • Security events
    • Invalid Security Principal: When using javax.security.auth.principal to establish a session and the user ID is not valid
    • Invalid SSO Token: The supplied SSO token is not valid
    • OAuth2 authentication failure: An OAuth2 authentication failed
    • OAuth2 token invalid: Either an access token or an authentication code is invalid or expired
    • User login failed: User ID or password is in valid
    • User Login Succeeded: User login
    • User Authentication Success: OAuth2 successfully processed the access token
    • OAuth2 Client Secret generated
    • OAuth2 Token created: Either an authorization code or access token was created
    • Session Expired: A user session expired
    • Invalid Action: The action_id parameter is not recognized
  • Application life cycle events
    • Web Application Startup begin
    • Web Application Startup complete
    • Web Application Startup failed
  • ArcGIS events
    • ArcGIS job succeeded
    • ArcGIS job failed
    • ArcGIS job status URL: Allows the monitor to obtain the status URL (which is on the ArcGIS server)
    • ArcGIS job status: Uses the status URL to report the status
  • Slow Database Query events

Configuration

The underlying code is SLF4J, so in logback.xml use the following code to enable the logger:

SLF4J Snippet
 <logger name="com.agileassetsinc.events" level="INFO"/>

Most system monitoring tools will monitor the system log file for events. Use the documentation for those products for configuration of the SLF4j appender. Use the following example to configure writing to SYSLOG.

Log4j configuration
 <!-- Sample appender for SYSLOG -->
    <appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
        <syslogHost>localhost</syslogHost>
        <facility>LOCAL0</facility>
        <port>514</port>
        <suffixPattern>[%thread] %logger %msg</suffixPattern>
    </appender>
....
    <logger name="com.agileassetsinc.events" level="INFO">
        <appender-ref ref="SYSLOG"/>
    </logger>