Configuration

The environment configuration where the backend packages get installed to is: /etc/instana/settings.yaml.

---
instana:
  user: # Required
    name: 'John Doe' # (string) The name of the first user that's being added to the system with full privileges. For this user, the name is only a label.
    password: '10647cbb3b182dc9f295039c' # (string) The password of the first user to be added to the system. This password will be required to log into the Web-UI.
    email: '[email protected]' # (string) The email address of the first user to be added to the system. This email address will be required to log into the Web-UI. Note: Until the installed and running backend has email delivery settings in place, this address wont receive any confirmation mails. Note: In combination with LDAP this email address should match a valid LDAP user's email to login with owner access.
  config: # Required
    keys: # Required
      agent: '12345678-dead-beef-abcd-12456789abc' # (string) Your assigned agent key. This key will be the identifier under which the acceptor package will accept traffic from sending instana agents.
      sales: '12345678-dead-beef-abcd-12456789abc' # (string) Your assigned sales key. This key identifies you and your Trial-/Customer-Deals so you can run multiple Backends independently.
    tenant: # Required
      name: 'acmecorp' # (string) Your assigned tenancy identifier. Must not include whitespaces.
      unit: 'acmecorp' # (string) Your assigned backend identifier. Must not include whitespaces. As described above, multiple backends per tenant are possible.
    hostname: 'instana-backend.acmecorp.com' # Required # (string) The hostname of the machine the backend is being installed on. Note: In order to have all the features we provide, please make sure the backend machine can resolve this hostname itself.
    retention: # Please note that a value of zero tells the system to not drop rollups of this time span. A zero value for smaller rollups can cause the disks to fill up pretty quickly.
      rollup5: 86400 # (int) Seconds of retention for how long 5-second-rollups are being held available.
      rollup60: 2678400 # (int) Seconds of retention for how long 1-minute-rollups are being held available.
      rollup300: 8035200 # (int) Seconds of retention for how long 5-minute-rollups are being held available.
      rollup3600: 0 # (int) Seconds of retention for how long 1-hour-rollups are being held available.
    cert: # Required
      crt: '/etc/instana/server.crt' # (string) Either a self-signed or publicly signed certificate's crt-file, issued for the backend instance's hostname.
      key: '/etc/instana/server.key' # (string) Either a self-signed or publicly signed certificate's key-file (see above).
    dir: # Required
      cassandra: '/mnt/data' # (string) The parent directory of where cassandra will create its data directory. We recommend to put this on a high IO device on it's own disks (e.g. /mnt/cassandra).
      data: '/mnt/data' # (string) The parent directory of where our own and third party components will store data.
      logs: '/mnt/logs' # (string) The parent directory of where all the components in our stack will create logfiles.
      #clickhouse: "/mnt/clickhouse" # (string) The parent directory of where clickhouse will create its data directory. We recommend to put this on a high IO device on it's own disks (e.g. /mnt/clickhouse).
    #elastic_metadata_snapshot_result_size: 20000 # (int) Limit for snapshot result size
    heap:
      kafka: '3G' # (string) Virtual memory size assigned for the Kafka service. |
      elastic: '3G' # (string) Virtual memory size assigned for the Elasticsearch service. |
      cassandra: '3G' # (string) Virtual memory size assigned for the Cassandra service. |
      zookeeper: '2G' # (string) Virtual memory size assigned for the Zookeeper service. |
      acceptor: '2G' # (string) Virtual memory size assigned for the Acceptor service. |
      eum-acceptor: '1G' # (string) Virtual memory size assigned for the EUM Acceptor service. |
      cashier: '1G' # (string) Virtual memory size assigned for the Cashier service. |
      filler: '3G' # (string) Virtual memory size assigned for the Filler service. |
      groundskeeper: '1G' # (string) Virtual memory size assigned for the Groundskeeper service. |
      issuetracker: '2G' # (string) Virtual memory size assigned for the Issuetracker service. |
      processor: '2G' # (string) Virtual memory size assigned for the Processor service. |
      uibackend: '2G' # (string) Virtual memory size assigned for the UI-Backend service. |
      butler: '1G' # (string) Virtual memory size assigned for the Butler service. |
      appdataprocessor: '2G' # (string) Virtual memory size assigned for the AppData Processor service. |
      appdatawriter: '4G' # (string) Virtual memory size assigned for the AppData Writer service. |
      appdatareader: '2G' # (string) Virtual memory size assigned for the AppData Reader service. |
      appdatalegacyconverter: '2G' # (string) Virtual memory size assigned for the AppData Legacy Converter service. |
    mail:
      from: '[email protected]' # (string) This is the email address which will be used as the sender from our notification emails.
      host: 'relay-1.acme.internal' # (string) The address or hostname of the SMTP server, that should send our notification emails.
      port: 25 # (int) The port of the SMTP server that should send our notification emails.
      user: '[email protected]' # (string) The SMTP username of the SMTP server that should send our notification emails.
      password: 'yUnoEm41l' # (string) The SMTP user's password of the SMTP server that should send our notification emails.
      usessl: true # (bool) Dictates if whether the SMTP server that should send our notification emails shall be spoken to via SSL.
      starttls: false #  (bool) Dictates if whether the SMTP server that should send our notification emails shall be spoken to via SSL.
      token: 'Ju~B_JK]O=U1' # (string) A string of exactly twelve characters, which is being used as a hash to generate links which are being used by our notification emails.
      ses:
        from: '[email protected]' # (string) This is the email address which will be used as the sender from our notification emails.
        aws_access_key_id: 'AKIAIOSFODNN7EXAMPLE' # (string) In case you want to send notification emails via the AWS SES service, this is the access key id to use.
        aws_secret_access_key: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' # (string) The secret key to use (see above).
        aws_region: 'us-west-2' # (string) The AWS Region to send the SES emails from.
        return_path: '[email protected]' # (string) The return path for AWS - see the SES/SNS bounces/complaints documentation.
    proxy:
      host: '10.9.4.13' # (string) If your backend server should speak to the cluster-external internet via a proxy server, this is either the   address or hostname.
      port: 8080 # (int) Port for the proxy server to speak to.
      user: 'anonymous' # (int) Username of the proxy server.
      password: 'P4ssword1234!' # (string) Password of the proxy server.
    auto_create_users: false # (bool) If whether the backend should auto-create default instana settings for all users with a successful LDAP login   in the background. (Added with release 128)
    ldap: # (These settings were added with release 124 & backward compatible refactored with release 139)
      url: 'ldaps://dir-ops.acme.internal:636' # (string) LDAP Server URL (ldap://host:389 or ldaps://host:636)
      base: '(dc=instana,dc=com)' # (string) A base for every query
      group_query: '(ou=Instana)' # (string) The query to list a group or a set of groups of members having acceess to Instana
      group_member_field: 'user_dn' # (string) Name of the field containing DNs of users listed through group_query.
      user_dn_mapping: 'sAMAccountName' # (string) The field which contains the loginname that is entered in the Instana UI.
      user_template: '(uid=%s,ou=Instana,dc=instana,dc=com)' # (string) DN template used to bind user to LDAP
      user_query_template: '(uid=%s)' # (string) Template to query the user
      email_field: 'mail' # (string) The name of the field where to find the email address
      ro_user: 'instanaconnect' # (string) User for initial LDAP bind. It needs to have sufficient rights to list groups through group_query.
      ro_password: 'MGQ5NTVkYjlhNmE' # (string) Password for inital LDAP bind
    o_auth: # (These settings were added with release 133)
      google:
        client_id: '1234567890-1n574n4abcdefghijklmnop.apps.googleusercontent.com' # (string) a google oauth credential client id
        client_secret: 'XNLV-fpf_deadBeEf1234' # (string) a google oauth credential client secret password
    presence_expiry_seconds: 30 # (int) An entity is considered offline when no metric is reported for the configured amount of time in seconds in range [10, 600].
    appdata_entity_metrics_timeout_seconds: 1800 # (int) The amount of time in seconds metrics are still computed for an application/service/endpoint, even after no call was received anymore. The value must be in range [180, 7200].
    #
    # Configure SAML
    #saml:
    #  maxIdpMetadataSizeInBytes: 200000
    #  maxAuthenticationLifetime: 604800
    #  pathToKeyCertPem: ''
    #  keyPassword: ''
    #
    # Configure ClickHouse datastore
    #clickhouse:
    #  listen_host: "0.0.0.0"  # use "::" when using IPv6
    #  worker_thread_pool_size: 8
    #  data_reader_queue_size: 5000
    #  data_reader_max_concurrency: 10
    #  data_read_timeout: 60
    #  data_reader_max_idle: 1
  hosts:
    clickhouse: 127.0.0.1

Please note that a value of zero tells the system to not drop rollups of this time span. A zero value for smaller rollups can cause the disks to fill up pretty quickly.