How to Setup Alertmanager

Introduction Alertmanager is a critical component in the Prometheus monitoring ecosystem, designed to handle alerts sent by client applications such as Prometheus server. It manages alerts by grouping, deduplicating, routing, and notifying users about important incidents in a timely manner. Setting up Alertmanager correctly ensures that your monitoring infrastructure can effectively communicate is

Nov 17, 2025 - 10:44
Nov 17, 2025 - 10:44
 0

Introduction

Alertmanager is a critical component in the Prometheus monitoring ecosystem, designed to handle alerts sent by client applications such as Prometheus server. It manages alerts by grouping, deduplicating, routing, and notifying users about important incidents in a timely manner. Setting up Alertmanager correctly ensures that your monitoring infrastructure can effectively communicate issues, minimize alert fatigue, and maintain system reliability.

In this tutorial, we will provide a comprehensive guide on how to setup Alertmanager from scratch. Whether you are a system administrator, DevOps engineer, or a developer responsible for monitoring, this step-by-step guide will help you configure Alertmanager efficiently. We will cover installation, configuration, best practices, useful tools, real-world examples, and common questions to ensure you have a thorough understanding of Alertmanager setup and management.

Step-by-Step Guide

1. Prerequisites

Before beginning the setup, ensure you have the following:

  • A server or virtual machine with a supported Linux distribution (Ubuntu, CentOS, Debian, etc.)
  • Prometheus installed and running (optional but recommended for full monitoring stack)
  • Basic knowledge of YAML configuration files
  • Network access for alert notifications (email, Slack, PagerDuty, etc.)

2. Download and Install Alertmanager

Alertmanager is distributed as a precompiled binary. Follow these steps to download and install it:

  1. Visit the official Prometheus download page and get the latest stable release for your OS.
  2. Download the tarball (e.g., alertmanager-0.25.0.linux-amd64.tar.gz).
  3. Extract the archive:
    tar -xvf alertmanager-0.25.0.linux-amd64.tar.gz

  4. Move the binaries to a suitable directory:
    sudo mv alertmanager-0.25.0.linux-amd64/alertmanager /usr/local/bin/

  5. Verify installation:
    alertmanager --version

3. Create Alertmanager Configuration File

Alertmanager uses a YAML configuration file to define alert routing, grouping, and notification settings. Create a file named alertmanager.yml in a directory such as /etc/alertmanager/.

Here is a simple example configuration:

global:

resolve_timeout: 5m

route:

receiver: 'team-email'

receivers:

- name: 'team-email'

email_configs:

- to: 'your-email@example.com'

from: 'alertmanager@example.com'

smarthost: 'smtp.example.com:587'

auth_username: 'alertmanager@example.com'

auth_password: 'your-email-password'

auth_identity: 'alertmanager@example.com'

require_tls: true

This config sets a global resolve timeout, defines a route to send all alerts to the team-email receiver, and configures email notifications.

4. Run Alertmanager

Start Alertmanager using the following command, specifying the configuration file:

alertmanager --config.file=/etc/alertmanager/alertmanager.yml

For production environments, consider running Alertmanager as a systemd service for better process management.

5. Integrate Alertmanager with Prometheus

To send alerts from Prometheus to Alertmanager, update your Prometheus configuration (prometheus.yml) with the Alertmanager endpoint:

alerting:

alertmanagers:

- static_configs:

- targets:

- 'localhost:9093'

Reload Prometheus configuration or restart the Prometheus server to apply changes.

6. Verify Setup

Access Alertmanager’s web UI by navigating to http://your-server-ip:9093. You should see the Alertmanager dashboard where active alerts and silences are displayed.

Test alert delivery by creating a test alert in Prometheus or sending a test alert directly to Alertmanager using the API:

curl -XPOST -d '[{

"labels": {

"alertname": "TestAlert",

"severity": "critical"

},

"annotations": {

"summary": "This is a test alert"

}

}]' http://localhost:9093/api/v1/alerts

Best Practices

1. Use Grouping to Reduce Alert Noise

Configure alert grouping to combine related alerts into a single notification. This helps reduce alert fatigue and makes incident management more effective.

2. Set Up Multiple Notification Channels

Utilize multiple receivers such as email, Slack, PagerDuty, or Opsgenie to ensure alerts reach the right team members promptly.

3. Secure Credentials

Store sensitive information like SMTP credentials securely using environment variables or encrypted secret management tools instead of hardcoding them in configuration files.

4. Configure Silence and Inhibition Rules

Use silences to temporarily mute alerts during maintenance windows. Inhibition rules prevent redundant alerts by suppressing alerts that are less important when a related alert is firing.

5. Monitor Alertmanager Health

Regularly check Alertmanager logs and metrics to ensure it is functioning correctly. Set up alerting on Alertmanager failures as part of your monitoring strategy.

Tools and Resources

1. Official Documentation

The official Prometheus Alertmanager documentation (https://prometheus.io/docs/alerting/latest/alertmanager/) is the primary resource for up-to-date features and configuration options.

2. Configuration Generators

Online tools and community projects like Alertmanager Configurator help create complex configurations with a user-friendly interface.

3. Notification Integrations

Explore official and third-party integrations for various notification platforms such as Slack, Microsoft Teams, PagerDuty, Opsgenie, and more.

4. Docker Images

For containerized environments, use official Alertmanager Docker images available on Docker Hub to simplify deployment.

Real Examples

Example 1: Routing Alerts Based on Severity

global:

resolve_timeout: 5m

route:

group_by: ['alertname']

group_wait: 30s

group_interval: 5m

repeat_interval: 3h

receiver: 'critical-team'

routes:

- match:

severity: 'warning'

receiver: 'warning-team'

receivers:

- name: 'critical-team'

email_configs:

- to: 'critical@example.com'

- name: 'warning-team'

slack_configs: - channel: '

warnings'

api_url: 'https://hooks.slack.com/services/XXXX/YYYY/ZZZZ'

This example routes alerts with severity “warning” to a Slack channel while critical alerts are emailed to a different team.

Example 2: Silence Alerts During Maintenance

Using the web UI, create a silence for a specific alert during planned maintenance to avoid unnecessary notifications.

FAQs

What is the default port for Alertmanager?

The default port is 9093.

Can Alertmanager handle alerts from multiple Prometheus instances?

Yes, Alertmanager can aggregate alerts from multiple Prometheus servers.

Is it possible to send alerts to multiple notification channels simultaneously?

Yes, you can define multiple receivers and configure routes to send alerts to different channels based on alert labels.

How do I update Alertmanager configuration without downtime?

Send a SIGHUP signal to the Alertmanager process or use the API to reload the configuration dynamically.

Does Alertmanager support high availability?

Yes, Alertmanager supports running in a clustered mode to ensure high availability and fault tolerance.

Conclusion

Setting up Alertmanager is essential for robust alert management in modern monitoring systems. By following the step-by-step guide outlined above, you can install, configure, and operate Alertmanager effectively. Applying best practices such as alert grouping, secure credential management, and multi-channel notification ensures efficient incident response.

Utilize the available tools and resources to tailor Alertmanager to your organization’s needs. With proper setup, Alertmanager helps reduce alert noise, improve operational awareness, and maintain system reliability. Start integrating Alertmanager today to enhance your monitoring and alerting infrastructure.