Installation - Linux
Easy Installation
Click Infrastructure in the AppOptics side navigation to add a new host. If you are not automatically redirected to the onboarding wizard, click the settings icon in the top right corner to add a host. The onboarding wizard steps you through installing the SolarWinds Snap Agent:
-
Download install wrapper script from https://files.solarwinds.cloud/solarwinds-snap-agent-installer.sh:
curl -sSO https://files.solarwinds.cloud/solarwinds-snap-agent-installer.sh
-
Run install wrapper script, passing in the API token with the
--token
option.sudo bash solarwinds-snap-agent-installer.sh --token <your api token> [--yes] [--debug]
-
The easy install walk through will include the API token. If you want to create your own token, follow the instructions described in API Tokens and Token Roles.
The metrics API token can also be set via the
SOLARWINDS_TOKEN
environment variable:export SOLARWINDS_TOKEN=<your api token> sudo -E bash solarwinds-snap-agent-installer.sh [--yes] [--debug]
More information about different options provided by installer script can be found using the --help
option. To troubleshoot issues during installation --debug
option can be used.
For manual installation without install script follow Advanced Installation
Installation with log monitoring
The SolarWinds Snap Agent installer includes a –detect-logs
option. When this option is used, a basic configuration that detects standard logs on the system is enabled on Linux hosts. To enable custom log monitoring options, see Logs Collector/Forwarder.
-
Call the installation script the option
–detect-logs
:sudo bash solarwinds-snap-agent-installer.sh --token <your api token> --detect-logs [--yes] [--debug]
-
To use a Loggly token that differs from your AppOptics token, use the option
--loggly-token
, followed by your Loggly token:sudo bash solarwinds-snap-agent-installer.sh --token <your api token> --detect-logs --loggly-token <your loggly token> [--yes] [--debug]
After the script completes, the API token is stored in the logs publishers configuration file
/opt/SolarWinds/Snap/etc/plugins.d/publisher-logs.yaml
-
Configuration for the PaperTrail syslog publisher (port based) is done by updating configuration file. See Logs Collector/Forwarder to find more detailed information about PaperTrail syslog publisher settings.
-
-
If the -
-detect-logs --yes
option was not used when calling the installation script, you will be asked whether found logs should be monitored. Options are:- Yes: basic configuration is enabled that detects standard logs on the system
- No: any existing configuration with detected logs will be stored in example file:
/opt/SolarWinds/Snap/etc/tasks-autoload.d/task-logs-files.yaml.example.new
and Snap Agent will not start monitoring logs.
-
Define what logs you would like to monitor.
- Enter the full path to each log you want to monitor under
config: > file_paths
in the/opt/SolarWinds/Snap/etc/task-autoload.d/task-logs-files.yaml
file on your server - For more details about the configuration file, see Logs Collector/Forwarder.
After installation log plugin will be started.
- Enter the full path to each log you want to monitor under
-
Grant the solarwinds user permissions to the log files. In order to read the log files and report on its content, the user
solarwinds
must have read permission. It is recommended that you do one of the following to grant permissions:- Make sure that the adm group has access to the log files. The solarwinds user is a member of the adm user group, which is designed for accessing logs.
- Add the solarwinds user to another user group that has access to the log files
If the files were already added to the /opt/SolarWinds/Snap/etc/task-autoload.d/task-logs-files.yaml before setting the correct permissions on the directory and files, restart the swisnapd service:
sudo service swisnapd restart
Installation with TLS encrypted REST API
By default, the REST API is exposed over a UNIX socket with access restricted to the "solarwinds" user or to users with elevated privileges. To encrypt the REST API over HTTP, pass the --secure
option to the installation script:
sudo bash solarwinds-snap-agent-installer.sh [--yes] [--debug] --token <your api token> --secure
Installer will ask for REST authentication password and paths to REST certificate and key - solarwinds
user has to have read access to both certificate and key.
REST Certificate should be signed by trusted CA (it has to be stored in system's keychain).
User now has three options of running Snap's CLI:
-
Environment variables:
export SNAP_REST_PASSWORD=true export SNAP_URL=https://<listen_address>:<listen_port> # then, each swisnap call will ask for API password. swisnap plugin list
-
CLI flags:
swisnap --password --url https://<listen_address>:<listen_port> plugin list
-
Mix of config and environment variable:
cat > swisnap-config.json <<EOF { "rest": { "rest-auth-pwd": "mypassword" } } EOF export SNAP_URL=https://<listen_address>:<listen_port> swisnap --config swisnap-config.json plugin list
Installation with TLS encrypted communication between the Snap Agent and its plugins
To enable encrypted communication between Snap and its plugins, the user has to:
- set
--secure
flag - either provide copy of previously generated CA certificate and certificate-key pairs for Snap and plugins, or let the installer script generate them.
If user chooses to generate keys and certificates, then it is required to provide passphrases to each of the key.
Passing previously generated certificates:
sudo bash solarwinds-snap-agent-installer.sh [--debug] --token <your api token> [--yes] --secure --ca-path /path/to/ca.crt --plugin-cert-path /path/to/plugin.crt --plugin-key-path /path/to/plugin.pem --snap-cert-path /path/to/snap.crt --snap-key-path /path/to/snap.pem
Letting script generate required files:
sudo bash solarwinds-snap-agent-installer.sh [--debug] --token <your api token> [--yes] --secure --ca-passphrase <capassphrase> --plugin-passphrase <pluginpassphrase> --snap-passphrase <snappassphrase>
If user omits optional [--yes]
flag, then the script will ask for confirmation before generating each certificate.
Generated certificates, sign requests and keys are stored in /tmp/SolarWinds/Snap/
directory.
Autoload plugins will use certificate and key specified by --plugin-cert-path
and --plugin-key-path
Upgrade
Follow these steps to upgrade the agent:
For deb-based platforms:
sudo apt-get install solarwinds-snap-agent
For rpm based platforms:
sudo yum update solarwinds-snap-agent
If you've made local changes to /opt/SolarWinds/Snap/etc/config.yaml
or default task files under /opt/SolarWinds/Snap/etc/tasks.d
, the package manager should preserve those changes either by default or with an optional setting, please refer to your package manager manual for details.
Logrotate
SolarWinds Snap Agent package by default contains logrotate configuration file /opt/SolarWinds/Snap/etc/logrotate.d/solarwinds-snap-agent
for rotating /var/log/SolarWinds/Snap/swisnapd.log
. The logrotate configuration file is automatically linked to /etc/logrotate.d/
folder during agent installation if logrotate is present on the system. If logrotate is not installed while installing agent, you will need to link logrotate configuration file manually.
Advanced Installation
Follow these steps to manually install the agent, by setting up the required repository and running your system's package management commands:
-
Set up the repository using the appropriate
deb
orrpm
instructions -
Set the metrics API token using the
SOLARWINDS_TOKEN
environment variableexport SOLARWINDS_TOKEN=<your api token>
Optionally, to not start the agent at the end of installation, set the
AGENT_INSTALL_ONLY
environment variable to1
:export AGENT_INSTALL_ONLY=1
-
Install the agent package
For deb-based platforms:
sudo -E apt-get install solarwinds-snap-agent
For rpm-based platforms:
sudo -E yum install solarwinds-snap-agent
Troubleshooting
To learn more about how to restart the SolarWinds Snap Agent, where its log file is located, and other common troubleshooting techniques, please check the Troubleshooting page.
Uninstalling the Agent
For deb-based systems:
sudo apt-get remove solarwinds-snap-agent
Configuration files will remain on deb based system after uninstalling the Snap Agent. Do not remove these manually. To remove all configuration files from your system after uninstalling the Snap Agent, run the following command:
sudo apt-get remove --purge solarwinds-snap-agent
for RPM based systems:
sudo yum erase solarwinds-snap-agent
Uninstall Script:
sudo bash /opt/SolarWinds/Snap/support/before-remove.sh
sudo bash /opt/SolarWinds/Snap/support/after-remove.sh
The SolarWinds Snap Agent will be automatically removed from the Infrastructure Host view after 60 minutes.
Navigation Notice: When the APM Integrated Experience is enabled, AppOptics shares a common navigation and enhanced feature set with other integrated experience products. How you navigate AppOptics and access its features may vary from these instructions.
The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.