PS:时区和时间的一致性
1、下载安装包
wget https://github.com/prometheus/alertmanager/releases/download/v0.25.0/alertmanager-0.25.0.linux-amd64.tar.gz
2、将安装包解压至/data目录
mkdir /data tar -zxvf alertmanager-0.25.0.linux-amd64.tar.gz -C /data/ cd /data ln -s alertmanager-0.25.0.linux-amd64/ alertmanager
添加Alertmanager为系统服务
vi /usr/lib/systemd/system/alertmanager.service
[Unit] Description=Prometheus Alertmanager Service daemon After=network.target [Service] Type=simple User=root Group=root ExecStart=/data/alertmanager/alertmanager\ --config.file=/data/alertmanager/alertmanager.yml\ --storage.path=/data/alertmanager/data/\ --data.retention=120h\ --web.external-url=http://alter节点ip:9093\ --web.listen-address=:9093 Restart=on-failure [Install] WantedBy=multi-user.target
systemctl daemon-reload systemctl start alertmanager systemctl enable alretmanager.service iptables -I INPUT -p tcp --dport 9093 -j ACCEPT && iptables-save
3、alert接入prometheus
修改prometheus配置文件,以下内容追加到prometheus.yml配置文件
alerting: alertmanagers: - static_configs: - targets: - alter节点ip:9093 //alter的主机IP和其端口 rule_files: //规则文件 - "/data/prometheus/rules/*_rules.yml" //规则文路径 - job_name: "alertmanager" static_configs: - targets: ["alter节点ip:9093"] //alter的主机IP和其端口
4、创建警告配置文件(在prometheus服务器)
创建目录 mkdir -p /data/prometheus/rules //规则文件目录路径 创建警告规则,以node为例 vim /data/prometheus/rules/node_rules.yml //规则的yml文件 groups: - name: node_status rules: - alert: status expr: up == 0 for: 1m labels: severity: critical annotations: discription: "node has been down" summary: "node down"
5、重启服务
systemctl restart prometheus.service
············································································· 脚本方式部署 ~altermanager节点 vi altermanager.sh #!/bin/bash setenforce 0 && iptables -I INPUT -p tcp --dport 9093 -j ACCEPT && iptables-save && wget https://github.com/prometheus/alertmanager/releases/download/v0.25.0/alertmanager-0.25.0.linux-amd64.tar.gz > /dev/null && echo "下载alertmanager压缩包完成" && mkdir /data > /dev/null && tar -xzvf alertmanager-0.25.0.linux-amd64.tar.gz -C /data/ > /dev/null && cd /data && ln -s alertmanager-0.25.0.linux-amd64/ alertmanager && echo "[Unit] Description=Prometheus Alertmanager Service daemon After=network.target [Service] Type=simple User=root Group=root ExecStart=/data/alertmanager/alertmanager\ --config.file=/data/alertmanager/alertmanager.yml\ --storage.path=/data/alertmanager/data/\ --data.retention=120h\ --web.external-url=http://altermanager设备的IP:9093\ --web.listen-address=:9093 Restart=on-failure [Install] WantedBy=multi-user.target" | tee -i /usr/lib/systemd/system/alertmanager.service && systemctl deamon-reload && systemctl start alertmanager && systemctl enable alretmanager && systemctl status alertmanager sh altermanager.sh ~prometheus节点 vi altermanager_join.sh #!/bin/bash echo " - job_name: "altermanager" honor_labels: true static_configs: - targets: ["altermanager设备的IP:9093"] " | tee -a /usr/local/prometheus/prometheus.yml > /dev/null && /usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml && curl -X POST http://127.0.0.1:9090/-/reload sh altermanager_join.sh