Installing X-Pack

To use X-Pack you need:

You must run the version of X-Pack that matches the version of Elasticsearch you are running.

X-Pack also provides a monitoring UI for Logstash.

Important

If you are installing X-Pack for the first time on an existing cluster, you must perform a full cluster restart. Installing X-Pack enables security and security must be enabled on ALL nodes in a cluster for the cluster to operate correctly. When upgrading you can usually perform a rolling upgrade.

To install X-Pack:

  1. Run bin/elasticsearch-plugin install from ES_HOME on each node in your cluster:

    bin/elasticsearch-plugin install x-pack
    Note

    If you are using a DEB/RPM distribution of Elasticsearch, run the installation with superuser permissions. To perform an offline installation, download the X-Pack binaries.

  2. Confirm that you want to grant X-Pack additional permissions. X-Pack needs these permissions to set the threat context loader during install so Watcher can send email notifications.

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @     WARNING: plugin requires additional permissions     @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    * java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries
    * java.lang.RuntimePermission getClassLoader
    * java.lang.RuntimePermission setContextClassLoader
    * java.lang.RuntimePermission setFactory
    * java.security.SecurityPermission createPolicy.JavaPolicy
    * java.security.SecurityPermission getPolicy
    * java.security.SecurityPermission putProviderProperty.BC
    * java.security.SecurityPermission setPolicy
    * java.util.PropertyPermission * read,write
    * java.util.PropertyPermission sun.nio.ch.bugLevel write
    * javax.net.ssl.SSLPermission setHostnameVerifier
    See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
    for descriptions of what these permissions allow and the associated risks.
    
    Continue with installation? [y/N]y
    Tip

    Specify the --batch option when running the install command to automatically grant these permissions and bypass this install prompt.

  3. If you have disabled automatic index creation in Elasticsearch, configure action.auto_create_index in elasticsearch.yml to allow X-Pack to create the following indices:

    action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*
  4. Start Elasticsearch.

    bin/elasticsearch
  5. Install X-Pack into Kibana by running bin/kibana-plugin in your Kibana installation directory.

    bin/kibana-plugin install x-pack
  6. Start Kibana.

    bin/kibana
  7. Install X-Pack on your Logstash nodes by running bin/logstash-plugin in the Logstash installation directory.

    bin/logstash-plugin install x-pack
  8. Configure and start Logstash.

To verify X-Pack installation, point your web browser at http://localhost:5601/ to open Kibana. You should be prompted to log in to Kibana. To log in, you can use the built-in elastic user and the password changeme.

Important

SSL/TLS encryption is disabled by default, which means user credentials are passed in the clear. Do not deploy to production without enabling encryption! For more information, see Encrypting Communications.

You must also change the passwords for the built-in elastic user and the kibana user that enables Kibana to communicate with elasticsearch before deploying to production. See Built-in Users for more information.

Installing X-Pack on a DEB/RPM Package Installation

If you use the DEB/RPM packages to install Elasticsearch, by default Elasticsearch is installed in /usr/share/elasticsearch and the configuration files are stored in /etc/elasticsearch. (For the complete list of default paths, see Debian Directory Layout and RPM Directory Layout in the Elasticsearch Reference.)

To install X-Pack on a DEB/RPM package installation, you need to run bin/plugin install from the /usr/share/elasticsearch directory with superuser permissions:

cd /usr/share/elasticsearch
sudo bin/elasticsearch-plugin install x-pack
Note

If the configuration files are not in /etc/elasticsearch you need to specify the location of the configuration files by setting the system property`es.path.conf` to the config path via ES_JAVA_OPTS="-Des.path.conf=<path>" or by setting the environment variable CONF_DIR via CONF_DIR=<path>.

Installing X-Pack on Offline Machines

The plugin install scripts require direct Internet access to download and install X-Pack. If your server doesn’t have Internet access, you can manually download and install X-Pack.

To install X-Pack on a machine that doesn’t have Internet access:

  1. Manually download the X-Pack zip file: https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-5.3.0.zip (sha1)
  2. Transfer the zip file to a temporary directory on the offline machine. (Do NOT put the file in the Elasticsearch plugins directory.)
  3. Run bin/elasticsearch-plugin install from the Elasticsearch install directory and specify the location of the X-Pack zip file. For example:

    bin/elasticsearch-plugin install file:///path/to/file/x-pack-5.3.0.zip
    Note

    You must specify an absolute path to the zip file after the file:// protocol.

  4. Run bin/kibana-plugin install from the Kibana install directory and specify the location of the X-Pack zip file. (The plugins for Elasticsearch, Kibana, and Logstash are included in the same zip file.) For example:

    bin/kibana-plugin install file:///path/to/file/x-pack-5.3.0.zip
  5. Run bin/logstash-plugin install from the Logstash install directory and specify the location of the X-Pack zip file. (The plugins for Elasticsearch, Kibana, and Logstash are included in the same zip file.) For example:

    bin/logstash-plugin install file:///path/to/file/x-pack-5.3.0.zip

Enabling and Disabling X-Pack Features

By default, all X-Pack features are enabled. You can explicitly enable or disable X-Pack features in elasticsearch.yml and kibana.yml:

Setting Description

xpack.security.enabled

Set to false to disable X-Pack security. Configure in both elasticsearch.yml and kibana.yml.

xpack.monitoring.enabled

Set to false to disable X-Pack monitoring. Configure in both elasticsearch.yml and kibana.yml.

xpack.graph.enabled

Set to false to disable X-Pack graph. Configure in both elasticsearch.yml and kibana.yml.

xpack.watcher.enabled

Set to false to disable Watcher. Configure in elasticsearch.yml only.

xpack.reporting.enabled

Set to false to disable X-Pack reporting. Configure in kibana.yml only.

Upgrading X-Pack

To upgrade X-Pack:

  1. Stop Elasticsearch.
  2. Uninstall X-Pack from Elasticsearch:

    bin/elasticsearch-plugin remove x-pack
  3. Install the new version of X-Pack into Elasticsearch.

    bin/elasticsearch-plugin install x-pack
  4. Restart Elasticsearch.

    Important

    If you’re upgrading a production cluster, perform a rolling upgrade to ensure recovery is as quick as possible. Rolling upgrades are supported when upgrading to a new minor version. A full cluster restart is required when upgrading to a new major version.

  5. Uninstall X-Pack from Kibana:

    bin/kibana-plugin remove x-pack
  6. Install the new version of X-Pack into Kibana.

    bin/kibana-plugin install x-pack
  7. Restart Kibana.

Uninstalling X-Pack

To uninstall X-Pack:

  1. Stop Elasticsearch.
  2. Remove X-Pack from Elasticsearch:

    bin/elasticsearch-plugin remove x-pack
  3. Restart Elasticsearch.
  4. Remove X-Pack from Kibana:

    bin/kibana-plugin remove x-pack
  5. Restart Kibana.
  6. Remove X-Pack from Logstash:

    bin/logstash-plugin remove x-pack
  7. Restart Logstash.