elastic / elastic-stack-installers

Windows MSI packages for Elastic stack
Apache License 2.0
2 stars 16 forks source link

Welcome to the Elastic Stack Installers!

Build status

This repository contains ElastiBuild and Beat Package Compiler. See Wiki for more information.

Reporting Problems

To report any problems encountered during installation, or to request features, please open an issue on GitHub and attach the MSI installation log if applicable.

For other questions of comments pleas refer to Elastic Forums. Please tag your question with windows-installer (singlular).

Capturing Logs:

msiexec /i "<full path to msi file>" /l!*vx "<full path to log file to be created>"

Please attach log file to the issue you create and provide as much information about your environment as you can.

For other general questions and comments, please use the Elastic discussion forum.

Building From Source

See ElastiBuild


NOTE: Building from source should only be done for development purposes. Only the officially distributed and signed Elastic Stack Installers should be used in production. Using unofficial Elastic Stack Installers is not supported.


Installing to a custom location

The default target folder for the MSI is typically something like c:\Program Files\Elastic\Beats\<version>\<beat> eg. c:\Program Files\Elastic\Beats\8.12.0\winlogbeat.

Starting version 8.13 It's also possible to override the installation folder by executing the MSI from command line as such: msiexec /i "<full path to msi file>" INSTALLDIR="<path of custom folder>"

Few important notes:


Agent

In case of problems during install / uninstall of agent, please refer to the Capturing Logs section which will enable troubleshooting.

Install

During the install flow, The MSI installer will unpack the contents of the MSI to a temp folder and then will call the elastic-agent install in order to:

  1. copy the files to the final destination at c:\Program Files\Elastic\Agent
  2. register the agent as a windows service
  3. enroll the agent into fleet

In order to complete step 3 above, the MSI installer shall receive command line arguments, passed with INSTALLARGS command line switch followed by ", for example:

elastic-agent.msi INSTALLARGS="--url=<fleet_url_with_port> --enrollment-token=<token>"

Note that the MSI will call the elastic-agent install command with -f (force) to avoid user interaction.

Uninstall

Similarly to the install flow (described above), the MSI will call the elastic-agent uninstall command, and it's possible to pass arguments using INSTALLARGS. One common use case is uninstalling an agent which has tamper protection enabled.

Upgrade

The Agent MSI doesn't support upgrade. Since the agents are fleet managed, upgrades shall be done using fleet (UI / API).