How to disable Kibana telemetry

Disabling Kibana telemetry stops anonymous usage statistics from leaving the environment, which helps satisfy privacy policies, egress controls, and production hardening requirements. Setting the opt-out in the server configuration also prevents a later browser session from silently changing the same instance back to telemetry-enabled mode.

Current self-managed Kibana releases control this behavior with telemetry.optIn and telemetry.allowChangingOptInStatus in /etc/kibana/kibana.yml on package installs. Elastic's current configuration reference lists both settings as enabled by default, and setting telemetry.optIn to false stops telemetry regardless of the default telemetry.sendUsageFrom behavior.

Package installs read /etc/kibana/kibana.yml on startup and typically run as the kibana.service systemd unit, so a restart is required after changing the file. YAML syntax still matters, and malformed entries or duplicate keys can prevent Kibana from returning to the running state.

Steps to disable Kibana telemetry:

  1. Set the telemetry options to false in /etc/kibana/kibana.yml.
    telemetry.optIn: false
    telemetry.allowChangingOptInStatus: false

    Current Kibana docs place the matching UI control on Advanced settingsGlobal Settings under Usage collection when user changes are allowed.

    Invalid YAML or duplicate keys can stop Kibana during the next startup.

  2. Restart the Kibana service.
    $ sudo systemctl restart kibana

    Restarting Kibana interrupts active sessions and dashboard access until startup finishes.

  3. Check the Kibana service state after the restart.
    $ sudo systemctl status kibana --no-pager --full | head -n 12
    ● kibana.service - Kibana
         Loaded: loaded (/lib/systemd/system/kibana.service; enabled; preset: enabled)
         Active: active (running) since Thu 2026-04-02 14:18:03 UTC; 7s ago
           Docs: https://www.elastic.co
       Main PID: 2411 (node)
          Tasks: 11 (limit: 9251)
         Memory: 337.6M (peak: 338.1M)
            CPU: 22.874s
         CGroup: /system.slice/kibana.service
                 └─2411 /usr/share/kibana/bin/../node/glibc-217/bin/node /usr/share/kibana/bin/../src/cli/dist

    Use sudo journalctl --unit=kibana.service --no-pager -n 30 when the unit does not return to active (running) cleanly.

  4. Confirm the saved telemetry values in /etc/kibana/kibana.yml.
    $ sudo rg -n 'telemetry\.(optIn|allowChangingOptInStatus)' /etc/kibana/kibana.yml
    182:telemetry.optIn: false
    183:telemetry.allowChangingOptInStatus: false

    Use grep -nE 'telemetry\\.(optIn|allowChangingOptInStatus)' /etc/kibana/kibana.yml when ripgrep is not installed.