在Linux系统上安装和配置AlertManager
本文介绍在Linux操作系统上安装和配置AlertManager的方法,安装后用户可以使用Alertmanager配置Prometheus电子邮件警报通知等场景。
在Linux上安装AlertManager
以下将安装AlertManager,可以从Prometheus下载页面下载AlertManager,地址在https://prometheus.io/download/,或者从项目地址页面下载,地址在https://github.com/prometheus/alertmanager。
也可以使用wget提取存档。
首先,导出最新版本:
VER=${curl -s https://api.github.com/repos/prometheus/alertmanager/releases/latest|grep tag_name|cut -d '"' -f 4|sed 's/v//'}
现在使用命令下载版本:
wget https://github.com/prometheus/alertmanager/releases/download/v${VER}/alertmanager-${VER}.linux-amd64.tar.gz
提取存档:
tar xzf alertmanager-*.linux-amd64.tar.gz
将二进制文件复制到$PATH:
sudo cp alertmanager-$VER.linux-amd64/{alertmanager,amtool} /usr/local/bin/
创建用户以管理AlertManager服务:
sudo adduser -M -r -s /sbin/nologin alertmanager
为AlertManager创建具有正确所有权的配置文件:
sudo mkdir -p /etc/alertmanager/data
sudo cp alertmanager-$VER.linux-amd64/alertmanager.yml /etc/alertmanager/
sudo chown -R alertmanager: /etc/alertmanager
在Linux上配置AlertManager
安装后,我们需要配置AlertManager,比如可用它来处理Prometheus发出的警报,以下将做这一场景的示例。为此,我们将编辑配置文件,如下所示:
sudo vim /etc/alertmanager/alertmanager.yml
在文件中,进行以下调整:
route:
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 1m
receiver: 'email'
receivers:
- name: 'web.hook'
webhook_configs:
- url: 'http://127.0.0.1:5001/'
- name: 'email'
email_configs:
- to: 'computingforgeeks@gmail.com'
from: 'computingforgeeks@gmail.com'
smarthost: smtp.gmail.com:587
auth_username: 'computingforgeeks@gmail.com'
auth_identity: 'computingforgeeks@gmail.com'
auth_password: 'google-app-password'
send_resolved: true
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
在上述文件中:
repeat_interval告诉AlertManager在发送另一个通知之前等待设置的时间。默认值为1小时,但可以根据需要进行调整。
receiver: ’email’设置要使用的默认收件人。我们将默认接收者设置为电子邮件。
receivers:列出可用的接收器及其配置。例如上面提到的web.hook和电子邮件
记住,发件人和收件人的电子邮件可以是相同的Gmail地址,例如,computingforgeeks@gmail.com。
一旦提供了正确的电子邮件详细信息,请保存文件并使用以下命令进行验证:
$ amtool check-config /etc/alertmanager/alertmanager.yml
Checking '/etc/alertmanager/alertmanager.yml' SUCCESS
Found:
Found:
- global config
- route
- 1 inhibit rules
- 2 receivers
- 0 templates
现在为AlertManager创建一个systemd服务文件:
sudo vim /etc/systemd/system/alertmanager.service
将以下行添加到文件中:
[Unit]
Description=AlertManager Server Service
Wants=network-online.target
After=network-online.target
[Service]
User=alertmanager
Group=alertmanager
Type=simple
ExecStart=/usr/local/bin/alertmanager --config.file /etc/alertmanager/alertmanager.yml --storage.path=/etc/alertmanager/data
[Install]
WantedBy=multi-user.target
保存文件并重新加载systemd配置:
sudo systemctl daemon-reload
在基于Rhel的系统上,修改SELinux:
sudo /sbin/restorecon -v /usr/local/bin/alertmanager
启动并启用服务:
sudo systemctl enable --now alertmanager
验证服务是否正在运行:
$ systemctl status alertmanager
会返回启用及加载激活运行的信息。
结语
以上就是在Linux系统上安装和配置AlertManager的内容,做完以上操作后,用户可以自由的进行为AlertManager配置Gmail接收器、使用Alertmanager测试电子邮件警报通知等操作。