# How to Monitor a Teamscale Instance

To check and monitor the state of a Teamscale instance, the following options are available:

# Monitoring via Web UI

Teamscale provides many helpful metrics via the System Information view in the System perspective. In addition, the logs (e.g., Worker Log) can be helpful for diagnosis.

# API Endpoint for Nagios

The URLs api/health-check and api/health-metrics provide check results and metrics in the Nagios format (opens new window). This can be used with Nagios or compatible solutions, such as Sensu, to monitor the current health status of Teamscale. To integrate on the command-line, see the monitoring directory in your Teamscale distribution.

# API Endpoint for Prometheus

The URL api/monitoring/prometheus exposes various metrics of Teamscale in the Prometheus format (opens new window). To enable this service, the environment variable TS_PROMETHEUS_ENABLED must be set to true . Additional protection of the metrics can be provided by setting a secret token in the environment variable TS_PROMETHEUS_TOKEN . If this is set, the URL becomes api/monitoring/prometheus?token=<secret-token>.

# Forwarding Teamscale Logs to Splunk

Teamscale uses the Log4J logging framework and provides support for forwarding the generated logs to a Splunk server. Log forwarding can be configured using the Splunk logging for Java (opens new window) integration and Teamscale fully supports HTTP Event Collector (recommended) and TCP data inputs. See the default log4j2.yaml Log4J configuration file in the Teamscale distribution Zip for an example configuration. For further configuration options refer to the official How to use Splunk logging for Java (opens new window) page. To reduce load on the Splunk server, consider adjusting the batch_interval, batch_size_bytes, or batch_size_count of the Log4J appender for Splunk to reduce the frequency of log forwarding.