# 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.