Edge Delta on macOS

Installing the Edge Delta Fleet on macOS.

Standard Installation

Select the macOS template option in the following steps:

  1. Click Pipelines.
  2. Click New Fleet.
  3. Select Edge Fleet and click Continue.
  4. Select the appropriate template and click Continue.
  5. Specify a name to identify the Fleet.
  6. Click Generate Config.
  7. Execute the installation commands, they include the unique ID for the Fleet.
  8. Expand the namespaces and select the input sources you want to monitor.
  9. Select the Destination Outputs you want to send processed data to, such as the Edge Delta Observability Platform.
  10. Click Continue.
  11. Click View Dashboard.

The installation process will deploy Edge Delta into the /opt/edgedelta/agent/ path. Additionally, the edgedelta system service will start automatically with default configurations.

The ED_ENV_VARS special variable is used in the installation command to pass one or more persistent environment variables to the Fleet, which will run as the system service:

sudo ED_API_KEY=<your Pipeline ID> \ 
ED_ENV_VARS="MY_VAR1=MY_VALUE_1,MY_VAR2=MY_VALUE_2" \ 
bash -c "$(curl -L https://release.edgedelta.com/release/install.sh)"

To view a full list of variables that the Fleet supports, see Environment Variables.

The https://release.edgedelta.com/release/install.sh release package detects your architecture and operating system, and then chooses and downloads the latest version of the Fleet self-extracting script, which includes the content to be extracted at the end of the script.

The script’s content and extractable scripts are available for inspection at https://release.edgedelta.com/release/install.sh.

To check the package’s integrity, the script header will extract commands and content checksum.

The script will fail if the content has been tempered with.

For example, the v0.1.19/edgedelta-linux-amd64.shheader includes:

  • CRCsum="1944320463"
  • MD5="a98b537444f18d97a06b428b9cb223ce"

If the package has not been tempered with, then the script will extract the Fleet into a temporary directory, set the apikey file with the given ED_API_KEY environment variable, and run unix_install.sh. This command will copy the content to /opt/edgedelta/agent/ and run the following commands to install edgedelta as a system service and start the service:

  • /edgedelta -s install
  • ./edgedelta -s start

(Alternative) Offline Installation

  1. Follow the steps outlined in Standard Installation in a non-production machine with the same architecture and OS as the target production machine.
  2. Use the following command to compress the Fleet folder:
sudo tar -czvf agent_archive.tgz /opt/edgedelta
  1. Copy agent_archive.tgz to the target machine via SSH or other means.
  2. Use the following command to extract the archive under /opt/edgedelta:
sudo tar -xzvf agent_archive.tgz -C /
  1. Use the following command to install and start the service:
sudo cd /opt/edgedelta/agent/sudo 
./edgedelta -s installsudo 
./edgedelta -s start

Troubleshooting

Description Command
To check the status of the Fleet, switch to root user then inspect edgedelta’s status: sudo su
launchctl list edgedelta
To check the Fleet’s log file for any errors that may indicate an issue with the Fleet, configuration, or deployment settings, run the following command on the Edge Delta service log file path: cat /var/log/edgedelta/edgedelta.log
To check the Fleet’s configuration file to ensure the configuration does not contain any issue, run the following command on the configuration file path: cat /opt/edgedelta/agent/config.yml

Upgrading

To upgrade the Fleet, you run the installation command that you previously used to deploy the Fleet.

Uninstalling

The following script uninstalls the Fleet as the root user:

#!/bin/bash
set -uex

BITS=$(getconf LONG_BIT)
if [ "$BITS" ==  "32" ]; then
  echo "This script does not support 32 bit OS. Contact info@edgedelta.com"
fi

echo "Removing agent service"
sudo /opt/edgedelta/agent/edgedelta -s uninstall 

echo "Removing agent folder"
sudo rm -rf /opt/edgedelta/agent/

echo "Done"