Deploy Alerts Service on a Separate Node

This documentation provides the steps needed to deploy ad-alerts as a standalone add-on.

You can deploy ad-alerts as a standalone add-on when its CPU usage is higher, which leads to constraints on the node.

Prerequisites

Ensure the following criteria are met:

  • You are using “Pulse 3.5.0 or higher” or “Pulse 3.4.3 or higher”.

  • You have not deployed Alerts (Agents must be configured). If it’s already deployed, uninstall it using accelo deploy add-ons and unselect Alerts (Agents must be configured).

  • You have already deployed ad-director.

  • You have already configured the standalone node. If not, run accelo set standalone after the initial prompt to run accelo init.

Deploy ad-alerts as a Standalone add-on

Follow the steps listed below to successfully deploy ad-alerts as a standalone add-on.

  1. On the standalone node, run the following command to generate ad-alerts.yml if it doesn’t exist already. If Alerts (Agents MUST be configured) is already deployed and ad-alerts.yml does exist under $AcceloHome/config/docker/addons on the node where it was previously deployed, copy it over to the same location i.e. $AcceloHome/config/docker/addons on the standalone node.

accelo admin makeconfig ad-alerts

Open the file in a text editor and make changes to the value of the following fields.

  • ALERTS_DB_URI: Set it to the value of the environment variable MONGO_URI, which by default, is encrypted.

  • NOTIFICATIONS_HOST: Set it to the node's hostname where ad-notifications is deployed.

If done correctly, the following details appear on the screen.

[root@plat03:addons (ad-default)]$ diff -y --suppress-common-lines ad-alerts.yml.original ad-alerts.yml - ALERTS_DB_URI=ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQ | - ALERTS_DB_URI=ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQ - NOTIFICATIONS_HOST=ad-notifications | - NOTIFICATIONS_HOST=plat01.acceldata.dvl
  1. On the core node, back up $AcceloHome/config/acceldata_<cluster_name>.conf. Open the file in a text editor and navigate to the following section.

# General dependencies are expressed as accessible service url's. Spark, Yarn, # ATS, Hive Metastore, Spark and Webhdfs urls are required. # At this point in time, AccelData does not support compression by default. group { name = "odp_zoro" displayName = "odp_zoro" originalName = "ODP_Zoro" distroType = "HWX" onprem = true active = true priority = 1000 connections = { mongo = [ ........

Under connections, make the following changes:

  • mongo:

    • uri: Change its value for all Mongo connections to the value of ALERTS_DB_URI, whose value you have changed in the previous step.

  • elastic:

    • host: Change its value from ad-elastic to the host/hosts where Logsearch is deployed.

Important

For the connection named fsanalytics, it's the host where FS Elasticis deployed.

- port: Change its value to 19013.

  • Vm**:**

    • readURL: In this field, replace the following details:

      • ad-vmselect with a hostname of the node where the core services are deployed.

      • 8481 with 19042.

Save your changes. If done correctly, the following details appear on the screen.

[root@plat01:config (ad-default)]$ diff -y --suppress-common-lines acceldata_odp_zoro.conf.orig acceldata_odp_zoro.conf uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXosC8 | uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXrMzw uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXosC8 | uri = "ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXrMzw host = "ad-elastic" | host = "plat01.acceldata.dvl" port = 9200 | port = 19013 host = "ad-elastic" | host = "plat01.acceldata.dvl" port = 9200 | port = 19013 host = "ad-elastic" | host = "plat01.acceldata.dvl" port = 9200 | port = 19013 readURL = "http://ad-vmselect:8481/select/1385609323/ | readURL = "http://plat01.acceldata.dvl:19042/select/1
Important

Repeat the above steps for all cluster configuration files.

  1. Run the following command to push the configuration.

accelo admin database push-config -a
  1. On the core node, run the following command to generate ad-core.yml if it doesn’t exist already.

accelo admin makeconfig ad-core

Open the file in a text editor and navigate to the following section.

ad-graphql: image: ad-graphql container_name: "" environment: ....................

Add the following environment variables under the section environment:

  • ALERTS_IP: Set its value to the hostname of the node where you’ll deploy ad-alerts.

  • ALERTS_PORT: Set its value to 19015.

Save your changes. If done correctly, the following details appear on the screen.

[root@plat01:docker (ad-default)]$ diff -y --suppress-common-lines ad-core.yml.orig ad-core.yml > - ALERTS_IP=plat03.acceldata.dvl > - ALERTS_PORT=19015
  1. On the core node, navigate to $AcceloHome and run the following command.

tar -cvf work_dir.tar.gz $(ls -d work/*/alerts)

It generates a tar file in $AcceloHome named work_dir.tar.gz which needs to be copied over to $AcceloHome on the standalone node. One way to copy would be using SCP or an NFS export.

  1. On the standalone node, navigate to $AcceloHome and run the following command.

tar -xvf work_dir.tar.gz
  1. On the core node, restart all services by running the following command.

accelo restart all -d
  1. On the standalone node, run the following command and select Alerts (Agents MUST be configured).

accelo deploy addons
Info

When you run accelo reconfig cluster or accelo reconfig cluster -a to perform the following steps:

  1. Update the value of readURL $AcceloHome/config/acceldata_<cluster_name>.conf.

  2. Run accelo admin database push-config -a.

  3. On the core node, navigate to $AcceloHome and run the following command.

tar -cvf work_dir.tar.gz $(ls -d work/*/alerts)

  1. Copy work_dir.tar.gz over to the standalone node.

  2. On the standalone node, navigate to $AcceloHome and run the following command.

tar -xvf work_dir.tar.gz

  1. On the standalone node, run accelo restart ad-alerts.

Ensure that you do not run accelo config alerts notifications on the standalone node.

Info

When you run accelo config alerts notifications to perform the following steps:

  1. On the core node, navigate to $AcceloHome and run the following command.

tar -cvf work_dir.tar.gz $(ls -d work/*/alerts)

  1. Copy work_dir.tar.gz over to the standalone node.

  2. On the standalone node, navigate to $AcceloHome and run the following command.

  3. On the standalone node, run accelo restart ad-alerts.