【阿圆实验】Alertmanager HA 高可用配置
注意:没有使用supervisor进程管理器的,只参考配置,忽略和supervisor相关命令。并且alertmanager的版本不得低于0.15.2,低版本alert不支持集群配置。
一.alertmanager高可用
这里使用的是supervisor配置,也可以把配置集合成命令行方式,在服务器运行配置。记得加&,后台运行。
1.配置alertmanager集群
1.1 修改各节点alertmanager.yml
cd /data/yy-monitor-server/etc
vim alertmanager.yml
# The root route on which each incoming alert enters. route: routes: group_wait: 15s group_interval: 15s |
1.2 修改启动文件
根目录下运行 vim /etc/supervisord.d/yy-monitor-server.ini
[program:alertmanager] priority = 3 user = yy command = /usr/bin/alertmanager --cluster.listen-address= "10.22.0.1002:12001" # 当前节点ip和自定义的端口号 --log.level=debug |
其他节点配置:
[program:alertmanager] priority = 3 user = yy command = /usr/bin/alertmanager --cluster.listen-address= "10.22.0.1001:12002" # 当前节点ip和自定义的端口号: --cluster.peer=10.22.0.1002:12001 # 选择一个节点加入集群 --log.level=debug |
重启配置,否则不能生效:
systemctl restart supervisord
supervisorctl restart alertmanager
2.查看日志
cd /data/yy-monitor-server/log
tail -f alermanager.log
level=debug ts=2018-08-28T08:58:44.75092899Z caller=cluster.go:287 component=cluster memberlist= "2018/08/28 16:58:44 [DEBUG] memberlist: Initiating push/pull sync with: 10.22.0.1001:12002\n" level=debug ts=2018-08-28T08:59:21.675338872Z caller=cluster.go:287 component=cluster memberlist= "2018/08/28 16:59:21 [DEBUG] memberlist: Stream connection from=10.22.0.1001:42736\n" level=debug ts=2018-08-28T08:59:44.754235616Z caller=cluster.go:287 component=cluster memberlist= "2018/08/28 16:59:44 [DEBUG] memberlist: Initiating push/pull sync with: 10.22.0.1000:12003\n" |
启动完成后访问任意Alertmanager节点http://localhost:9093/#/status,可以查看当前Alertmanager集群的状态。
3.修改各节点prometheus.yml
cd /data/yy-monitor-server/etc
vi prometheus.yml
global: scrape_interval: 5s scrape_timeout: 5s evaluation_interval: 5s # The labels to add to any time series or alerts when communicating with # external systems (federation, remote storage, Alertmanager). external_labels: dc : europe1 # Alertmanager configuration alerting: alert_relabel_configs: - source_labels: [ dc ] regex: (.+)\d+ target_label: dc alertmanagers: - static_configs: - targets:: [ '10.22.0.1000:9093' , '10.22.0.1001:9093' , '10.22.0.1002:9093' ] |
global: scrape_interval: 5s scrape_timeout: 5s evaluation_interval: 5s # Note that this is different only by the trailing number. external_labels: dc : europe2 # Alertmanager configuration alerting: alert_relabel_configs: - source_labels: [ dc ] regex: (.+)\d+ target_label: dc alertmanagers: - static_configs: - targets:: [ '10.22.0.1000:9093' , '10.22.0.1001:9093' , '10.22.0.1002:9093' ] |
global: scrape_interval: 5s scrape_timeout: 5s evaluation_interval: 5s external_labels: dc : europe3 # Alertmanager configuration alerting: alert_relabel_configs: - source_labels: [ dc ] regex: (.+)\d+ target_label: dc alertmanagers: - static_configs: - targets:: [ '10.22.0.1000:9093' , '10.22.0.1001:9093' , '10.22.0.1002:9093' ] |
2.重启prometheus:
# supervisorctl restart prometheus prometheus: stopped prometheus: started |
二. Alertmanager代理配置
1.nginx配置
选取一台主机做配置(如:10.22.0.1002)
cd /data/yy-monitor-server/etc
vi nginx.conf
# Alertmanager upstream alert{ server 10.22.0.1002:9093; server 10.22.0.1001:9093; server 10.22.0.1000:9093; } server{ # alertmanager location /alertmanager/ { proxy_pass http: //alert/ ; } } |
重启nginx
# supervisorctl restart nginx nginx: stopped nginx: started |
2.验证配置
停止其中两台服务:
1002 # supervisorctl stop alertmanager alertmanager: stopped 1001 # supervisorctl stop alertmanager alertmanager: stopped |
访问ui正常,配置代理成功。
附录:https://github.com/prometheus/alertmanager#high-availability
To create a highly available cluster of the Alertmanager the instances need to be configured to communicate with each other. This is configured using the --cluster.*
flags.
--cluster.listen-address
string: cluster listen address (default "0.0.0.0:9094")--cluster.advertise-address
string: cluster advertise address--cluster.peer
value: initial peers (repeat flag for each additional peer)--cluster.peer-timeout
value: peer timeout period (default "15s")--cluster.gossip-interval
value: cluster message propagation speed (default "200ms")--cluster.pushpull-interval
value: lower values will increase convergence speeds at expense of bandwidth (default "1m0s")--cluster.settle-timeout
value: maximum time to wait for cluster connections to settle before evaluating notifications.--cluster.tcp-timeout
value: timeout value for tcp connections, reads and writes (default "10s")--cluster.probe-timeout
value: time to wait for ack before marking node unhealthy (default "500ms")--cluster.probe-interval
value: interval between random node probes (default "1s")
The chosen port in the cluster.listen-address
flag is the port that needs to be specified in the cluster.peer
flag of the other peers.
To start a cluster of three peers on your local machine use goreman
and the Procfile within this repository.
goreman start
To point your Prometheus 1.4, or later, instance to multiple Alertmanagers, configure them in your prometheus.yml
configuration file, for example:
alerting:
alertmanagers:
- static_configs:
- targets:
- alertmanager1:9093
- alertmanager2:9093
- alertmanager3:9093
Important: Do not load balance traffic between Prometheus and its Alertmanagers, but instead point Prometheus to a list of all Alertmanagers. The Alertmanager implementation expects all alerts to be sent to all Alertmanagers to ensure high availability.
【阿圆实验】Alertmanager HA 高可用配置的更多相关文章
- HA高可用配置
HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务. 下 ...
- hadoop2.5.0 HA高可用配置
hadoop2.5.0 HA配置 1.修改hadoop中的配置文件 进入/usr/local/src/hadoop-2.5.0-cdh5.3.6/etc/hadoop目录,修改hadoop-env.s ...
- CentOS7+Hadoop2.7.2(HA高可用+Federation联邦)+Hive1.2.1+Spark2.1.0 完全分布式集群安装
1 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.9.1 2.9.2 2.9.2.1 2.9.2.2 2.9.3 2.9.3.1 2.9.3.2 2.9.3.3 2. ...
- 【阿圆实验】Grafana HA高可用方案
一.实现Grafana高可用 1.Grafana实现高可用性有两步: >>使用共享数据库存储仪表板,用户和其他持久数据>>决定如何存储会话数据. 2.Grafana高可用部署图 ...
- springcloud-07-eureka HA的高可用配置
单机版的eureka, 运行时间稍长, 就会在管理界面出现红色的警告, 为了消除这个警告, 可以使用eureka的高可用配置: 只需要写一个工程配置不同的配置文件, 然后启动多实例即可: 请参照单机版 ...
- Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...
- 大数据技术之HA 高可用
HDFS HA高可用 1.1 HA概述 1)所谓HA(High Available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件的HA ...
- ResourceManager高可用配置
ResourceManager高可用配置 1. yarn-site.xml配置 <property> <name>yarn.resourcemanager.cluster-id ...
- HA高可用的搭建
HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务.常用 ...
随机推荐
- Java基础--阻塞队列ArrayBlockingQueue
ArrayBlockingQueue是阻塞队列的一种,基于数组实现,长度固定,队尾添加,队首获取, 构造函数: ArrayBlockingQueue(int capacity) ArrayBlocki ...
- 机器学习:集成学习(OOB 和 关于 Bagging 的更多讨论)
一.oob(Out - of - Bag) 定义:放回取样导致一部分样本很有可能没有取到,这部分样本平均大约有 37% ,把这部分没有取到的样本称为 oob 数据集: 根据这种情况,不对数据集进行 t ...
- web基础(五)Jquery
jQuery是一个快速的,简洁的javaScript库(占空间特别小,但功能强大!兼容性极强!),这个库里封装了一些方法,使用户能更方便地处理HTMLdocuments.events.实现动画效果,并 ...
- 问题:asp.net 点击button按钮调到页面顶部;结果:asp.net点击一个按钮,使页面跳转到本面页上的指定位置
asp.net点击一个按钮,使页面跳转到本面页上的指定位置 (2011-04-19 16:46:51) 转载▼ 标签: it 最近在做一个项目. 用到标题所说的功能. 实现方法: 1.在aspx中 ...
- 修改Windows帐户密码,导致Sql Server 2000无法启动
修改Windows帐户密码,导致Sql Server 2000无法启动. --现象以管理员或同等权限用户登录 Windows XP,建立 Sql Server 2000 数据库.之后,在修改此 Win ...
- docker 笔记(3)第一个dockerfile
#vim Dockerfile FROM ubuntu RUN apt-get update && apt-get install -y vim #docker build -t ub ...
- DAY2-python数据类型、字符编码、文件处理
阅读目录 一.引子 二.数字 三.字符串 四.列表 五.元祖 六.字典 七.集合 八.数据类型总结 九.运算符 十.字符编码 十一.文件处理 一.引子 1 什么是数据? x=10,10是我们要存储的数 ...
- X—shell的安装以及与Linux的链接(http://www.cnblogs.com/v-weiwang/p/5029559.html)
X—shell作为一种强大的远程操作工具,使我们能够简单的去操作虚拟机,因此呢我们最好是能够在我们的电脑上进行安装. X—shell作为一个工具我们无论什么版本的都可以,在安装的时候呢也特别的简单,但 ...
- linux系统 使用git图形化管理工具———gitk
运行安装命令: sudo apt-get install gitk 运行命令打开gitk : gitk
- day35-hibernate映射 04-Hibernate的一级缓存:一级缓存的存在
数据源:文件和数据库.从内存中获取,不用去数据库发送SQL语句查询了.缓存技术是hibernate的一个优化的手段.Session结束了,一级缓存就没了,就销毁了.SeesionFactory没了,二 ...