ADMON

ADMON is a lightweight monitoring utility used to:

  • Monitor AccelData Pulse containers
  • Monitor system disk usage
  • Send alerts via Email, Slack, and PagerDuty

This page explains how to deploy and configure admon as a systemd-managed service, ensuring automatic restarts during reboots and failures.

Prerequisites

  • Pulse server access with sudo
  • $AcceloHome environment variable configured
  • Docker installed at /usr/bin/docker
  • SMTP credentials for email alerts
  • Optional: Slack bot token and PagerDuty credentials

Install ADMON Binary

  1. Navigate to Accelo Home
Bash
Copy
  1. Install the Binary
  2. Download the ADMON binary provided by the Acceldata team.
  3. Place it inside $AcceloHome.
  4. Make the binary executable:
Bash
Copy

Generate Default Configuration

Run admon once to generate the default configuration file:

Bash
Copy

This creates:

Bash
Copy

Configure admon.yml

Edit the configuration file:

Bash
Copy

Sample Configuration:

Bash
Copy

Update the following properties based on your environment:

  • PULSE_SERVER_HOSTNAME/IP
  • containers – validate the list of containers to monitor on the Pulse server
  • SMTP_SERVER_USERNAME
  • SMTP_SERVER_PASSWORD
  • SMTP_SERVER_HOST/IP
  • SMTP_SERVER_PORT
  • SENDER_EMAIL_ADDRESS
  • SENDER_NAME
  • RECEIVER_EMAIL_ADDRESS_1
  • RECEIVER_EMAIL_ADDRESS_2

Default Values

PropertyDefault
CONTAINER MONITORING CHECK_INTERVAL_IN_SECONDS60
CONTAINER MONITORING SNOOZE_TIME_IN_SECONDS360
DISK THRESHOLD PERCENTAGE0 (disabled)
DISK MONITORING CHECK_INTERVAL_IN_SECONDS60
DISK MONITORING SNOOZE TIME IN_SECONDS

Example: Container Monitoring Email Alerts

Scenario

  • Check container status every 60 seconds.
  • Send an email alert if any container is not running.
  • Do not resend alerts for 6 minutes unless a new container fails.

Configuration

Bash
Copy

Example: Disk Usage Email Alerts

Scenario

  • Monitor disk usage for mount point /.
  • Trigger an alert when usage is greater than or equal to 80%.
  • Check every 60 seconds.
  • Snooze alerts for 6 minutes after triggering.

Configuration

Bash
Copy

Identify Available Mount Points

Use the following command to list all mount points on the system:

Bash
Copy

Example Output

Bash
Copy

Enable PagerDuty Alerts

By default, alertList contains email.

To enable PagerDuty alerts, add pagerDuty to alertList and configure the following fields:

Bash
Copy

Configure the path Field in admon.yml

The path field specifies the location of nodeInfo.yml.

This file contains user-defined metadata (key-value pairs) such as:

  • ClusterName
  • NodeName
  • NodeIP

This metadata is automatically appended to every alert message.

The path field must be defined in admon.yml. If the file cannot be read, AdMon will fail to start.

Example nodeInfo.yml

Bash
Copy

Configure Slack Notifications with groupIds

To send Slack notifications via the Slack bot, configure the following fields in admon.yml:

Bash
Copy

groupIds Behavior

  • Empty or not set Mentions @channel (default behavior)
  • disabled Sends notifications without mentioning any users or groups
  • Specific groups Comma-separated Slack group IDs (for example, S01ABC,S02DEF)

If all specified IDs are empty, the notification falls back to @channel.

Example:

Bash
Copy

Create the ADMON Systemd Service

Create a new file at the following path:

Bash
Copy

Copy the contents exactly as shown below and replace all instances of <ACCELO_HOME> with the correct path.

Bash
Copy

Start and Enable the ADMON Service

Run the following commands:

Bash
Copy

If the service status shows running, enable it to start automatically on reboot:

Bash
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard