Enterprise Single Sign-On for All

Monitoring / Statistics

The following endpoints are secured and available:

Parameter Description
/status/dashboard A good starting point, that is a control panel to CAS server functionality and management.
/status Monitor status information.
/status/autoconfig Describes how the application context is auto configured.
/status/beans Displays all application context beans.
/status/configprops List of internal configuration properties.
/status/dump Produces a thread dump.
/status/env Produces a collection of application properties.
/status/health General health of the system.
/status/info CAS version information.
/status/metrics Runtime metrics and stats.
/status/stats Visual representation of CAS statistics.
/status/logging Monitor CAS logs in a streaming fashion, and review the audit log.
/status/config Visual representation of application properties and configuration.
/status/mappings Describes how requests are mapped and handled by CAS.
/status/shutdown Shut down the application via a POST. Disabled by default.
/status/restart Restart the application via a POST. Disabled by default.
/status/refresh Refresh the application configuration via a POST.
/status/ssosessions Report of active SSO sessions and authentications.
/status/trustedDevs When enabled, reports on the registered trusted devices/browsers.
/status/authnEvents When enabled, report on the events captured by CAS.

Security

The /status endpoint is always protected by an IP pattern. The other administrative endpoints however can optionally be protected by the CAS server. Failing to secure these endpoints via a CAS instance will have CAS fallback onto the IP range.

If you decide to protect other administrative endpoints via CAS itself, you will need to provide a reference to the list of authorized users in the CAS configuration. You may also enforce authorization rules via Service-based Access Strategy features of CAS.

To see the relevant list of CAS properties, please review this guide.

Monitors

Monitors allow you to watch the internal state of a given CAS component. See this guide for more info.

Metrics

Supported metrics include:

  • Run count and elapsed times for all supported garbage collectors
  • Memory usage for all memory pools, including off-heap memory
  • Breakdown of thread states, including deadlocks
  • File descriptor usage

Metric Refresh Interval

The metrics reporting interval can be configured via CAS properties. To see the relevant list of CAS properties, please review this guide.

Loggers

All performance data and metrics are routed to a log file via the Log4j configuration:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
<RollingFile name="perfFileAppender" fileName="perfStats.log" append="true"
             filePattern="perfStats-%d{yyyy-MM-dd-HH}-%i.log">
    <PatternLayout pattern="%m%n"/>
    <Policies>
        <OnStartupTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="10 MB"/>
        <TimeBasedTriggeringPolicy />
    </Policies>
</RollingFile>

...

<CasAppender name="casPerf">
    <AppenderRef ref="perfFileAppender" />
</CasAppender>

Sample Output

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
type=GAUGE, name=jvm.gc.Copy.count, value=22
type=GAUGE, name=jvm.gc.Copy.time, value=466
type=GAUGE, name=jvm.gc.MarkSweepCompact.count, value=3
type=GAUGE, name=jvm.gc.MarkSweepCompact.time, value=414
type=GAUGE, name=jvm.memory.heap.committed, value=259653632
type=GAUGE, name=jvm.memory.heap.init, value=268435456
type=GAUGE, name=jvm.memory.heap.max, value=1062338560
type=GAUGE, name=jvm.memory.heap.usage, value=0.09121857348376773
type=GAUGE, name=jvm.memory.heap.used, value=96905008

type=METER, name=org.apereo.cas.CentralAuthenticationServiceImpl.CREATE_TICKET_GRANTING_TICKET_METER, count=0, 
mean_rate=0.0, m1=0.0, m5=0.0, m15=0.0, rate_unit=events/millisecond

type=METER, name=org.apereo.cas.CentralAuthenticationServiceImpl.DESTROY_TICKET_GRANTING_TICKET_METER, 
count=0, mean_rate=0.0, m1=0.0, m5=0.0, m15=0.0, rate_unit=events/millisecond

type=TIMER, name=org.apereo.cas.CentralAuthenticationServiceImpl.GRANT_SERVICE_TICKET_TIMER, count=0, 
min=0.0, max=0.0, mean=0.0, stddev=0.0, median=0.0, p75=0.0, p95=0.0, p98=0.0, p99=0.0, p999=0.0, 
mean_rate=0.0, m1=0.0, m5=0.0, m15=0.0, rate_unit=events/millisecond, duration_unit=milliseconds