Self-Hosted (aka. on-prem)

The Instana self-hosted installation consists of a number of components and services, each one running as an individual Docker container, and each one with it's own configuration in terms of sizing.

During the installation, Instana automatically configures the required size of each component and this calculation is based on the overall size of available resources on your machine.

Supported Operating Systems

We support the following Linux distributions to run the Instana Backend-Platform on:

  • Ubuntu 16.04
  • Debian 8.x, 9.x, 10.x
  • RedHat 7.2+
  • CentOS 7.x
  • Amazon Linux 2.x

Architecture

architecture_overview

Components

To prevent full outages and to provide the ability to partially process or provide data in the scenario of a partial outage, each component in the backend is responsible for parts of the overall data processing, and not for the whole.

Component Responsibility
acceptor Metrics and traces ingress.
serverless-acceptor Serverless traces ingress.
appdata-legacy-converter Allows issue-detection using the existing processing pipeline.
appdata-processor Extracts calls from traces.
appdata-reader Gateway for reading the application data.
appdata-writer Writes processed calls.
butler Public login and user settings management.
cashier-ingest Calculates usage statistics.
cashier-rollup Calculates usage statistics rollups.
eum-acceptor EUM beacons ingress.
eum-processor EUM processing.
js-stack-trace-translator deminifies js stacktraces for EUM
filler Metrics and trace processing, along with graph maintenance
groundskeeper Internal access management for agents.
issue-tracker Events generation, management, and notification.
nginx The central point of contact for EUM and UI.
processor Issue recognition.
eum-health-processor Issue recognition for EUM.
appdata-health-processor Issue recognition for Application perspectives.
ui-backend The backend part of the UI, and API provider.
ui-client In-browser part of the UI.
Database Responsibility
cassandra Metrics history, spans and profiles.
clickhouse Calls, appdata graph, and EUM.
elasticsearch Graph history and EUM.
kafka Inter-component communication.
cockroachDB User settings store and historic usage statistics.
zookeeper State management for Kafka and clickHouse.

Component impact matrix

If individual backend components are unavailable, they cannot interrupt the processing pipeline completely, but some components can impact more than others.

Component Live metrics Live traces Live EUM Live maps Live events Historic metrics Historic traces Historic maps Historic events Notific- ations UI Login API Usage stats
acceptor X X - X X - - - - - - - - -
serverless-acceptor - X - - - - - - - - - - - -
appdata-legacy-converter - - - - X - - - - X - - - -
appdata-processor - X - - - - - - - - - - - -
appdata-reader - X X - - - X - - - - - - -
appdata-writer - X X - - - X - - - - - - -
butler - - - - - - - - - X - X - -
cashier-ingest - - - - - - - - - - - - - X
cashier-rollup - - - - - - - - - - - - - X
eum-acceptor - - X - - - - - - - - - - -
eum-processor - - X - - - - - - - - - - -
js-stack-trace-translator - - X - - - - - - - - - - -
filler X X X X X - - - - - - - - -
groundskeeper X X X X - - - - - - - - - -
issue-tracker - - - - X - - - - X - - - -
nginx X X X X - - - - - - X X X -
processor - - - - X - - - - X - - - -
eum-health-processor - - - - X - - - - - - - - -
appdata-health-processor - - - - X - - - - - - - - -
ui-backend - - - - - - - - - - X X X -
ui-client - - - - - - - - - - X X - -