一、AlertManager集群搭建

1、背景

单节点的告警管理器,如果宕机了,那么所有的告警信息都发送不出去,还是比较危险的,因此我们需要搭建一个高可用的告警管理器。

此处,记录一下搭建3个节点的alertmanager集群。

2、机器

机器 集群端口 web页面端口
127.0.0.1 9083 9082
127.0.0.1 9085 9084
127.0.0.1 9087 9086

3、集群可用配置

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”; empty string disables HA mode) 集群服务监听的地址
  • --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”)
  • --cluster.reconnect-interval value: interval between attempting to reconnect to lost peers (default “10s”)
  • --cluster.reconnect-timeout value: length of time to attempt to reconnect to a lost peer (default: “6h0m0s”)

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.

The cluster.advertise-address flag is required if the instance doesn’t have an IP address that is part of RFC 6890 with a default route.

上方配置,来自 alertmanagergithub上的配置。地址:https://github.com/prometheus/alertmanager

4、alertmanager启动脚本

1、127.0.0.1:9083 机器启动脚本

nohup /Users/huan/soft/prometheus/alertmanager-0.21.0/alertmanager \
--config.file="/Users/huan/soft/prometheus/alertmanager-0.21.0/alertmanager.yml" \
--web.listen-address="0.0.0.0:9082" \
--data.retention=48h \
--storage.path="/Users/huan/soft/prometheus/alertmanager-0.21.0/data" \
--cluster.listen-address="0.0.0.0:9083" \
--log.level=debug \
> logs/alertmanager.out 2>&1 &

2、127.0.0.1:9085 机器启动脚本

nohup /Users/huan/soft/prometheus/alertmanager-0.21.0/alertmanager \
--config.file="/Users/huan/soft/prometheus/alertmanager-0.21.0/alertmanager.yml" \
--web.listen-address="0.0.0.0:9084" \
--data.retention=48h \
--storage.path="/Users/huan/soft/prometheus/alertmanager-0.21.0/data" \
--cluster.listen-address="0.0.0.0:9085" \
--cluster.peer="127.0.0.1:9083" \
--log.level=debug \
> logs/alertmanager.out 2>&1 &

3、127.0.0.1:9087 机器启动脚本

nohup /Users/huan/soft/prometheus/alertmanager-0.21.0/alertmanager \
--config.file="/Users/huan/soft/prometheus/alertmanager-0.21.0/alertmanager.yml" \
--web.listen-address="0.0.0.0:9086" \
--data.retention=48h \
--storage.path="/Users/huan/soft/prometheus/alertmanager-0.21.0/data9087" \
--cluster.listen-address="0.0.0.0:9087" \
--cluster.peer="127.0.0.1:9083" \
--log.level=debug \
> logs/alertmanager-9087.out 2>&1 &

5、修改prometheus配置

prometheus.yml 配置修改

# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
- 127.0.0.1:9082
- 127.0.0.1:9084
- 127.0.0.1:9086

6、查看集群状态

到此,alertmanager 的一个集群就搭建完成了。

7、注意事项

1、如果实例没有使用默认路由的 RFC 6890一部分的IP地址,则需要cluster.advertise-address标志。

2、如果我们的告警管理器是在0.15及以上的版本,则TCP和UDP端口都需要可以访问。

3、不要在Prometheus和AlertManager之间进行负载均衡,应该将所有的AlertManager地址都告诉Prometheus。

4、集群中节点的通讯是通过Gossip协议来实现的。

8、告警管理器的高可用架构图

二、参考链接

1、RFC 6890
2、alertmanager集群搭建
3、https://www.bookstack.cn/read/prometheus-book/ha-alertmanager-high-availability.md

AlertManager集群搭建的更多相关文章

  1. Alertmanager 集群

    Alertmanager 集群搭建 环境准备:2台主机 (centos 7) 192.168.31.151 192.168.31.144 1.安装部署 192.168.31.151 cd /usr/l ...

  2. 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  3. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  4. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档  摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...

  5. (四)Spark集群搭建-Java&Python版Spark

    Spark集群搭建 视频教程 1.优酷 2.YouTube 安装scala环境 下载地址http://www.scala-lang.org/download/ 上传scala-2.10.5.tgz到m ...

  6. (三)Spark-Hadoop集群搭建-Java&Python版Spark

    Spark-Hadoop集群搭建 视频教程: 1.优酷 2.YouTube 配置java 启动ftp [root@master ~]# /etc/init.d/vsftpd restart 关闭 vs ...

  7. Mosquitto搭建Android推送服务(三)Mosquitto集群搭建

    文章钢要: 1.进行双服务器搭建 2.进行多服务器搭建 一.Mosquitto的分布式集群部署 如果需要做并发量很大的时候就需要考虑做集群处理,但是我在查找资料的时候发现并不多,所以整理了一下,搭建简 ...

  8. Mongodb集群搭建的三种方式

    转自:http://blog.csdn.net/luonanqin/article/details/8497860 MongoDB是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key- ...

  9. 分布式架构中一致性解决方案——Zookeeper集群搭建

    当我们的项目在不知不觉中做大了之后,各种问题就出来了,真jb头疼,比如性能,业务系统的并行计算的一致性协调问题,比如分布式架构的事务问题, 我们需要多台机器共同commit事务,经典的案例当然是银行转 ...

随机推荐

  1. python3 爬虫五大模块之一:爬虫调度器

    Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义: URL管理器:负责URL的管理,包括 ...

  2. 硕盟SM-T54| TYPE C转HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞

    硕盟SM-T54是一款 TYPE C转HDMI+VGA+USB3.0+PD3.0四合一多功能扩展坞,支持四口同时使用,您可以将含有USB 3.1协议的电脑主机,通过此产品连接到具有HDMI或VGA的显 ...

  3. Devexpress gridcontrol设置列样式

    <dxg:GridControl.Columns><dxg:GridColumn Header="排名" FieldName="UserRank&quo ...

  4. 使用tasker定时打开一耳光应用

    比如现在要做一个:到9点钟自动打开"酷狗音乐"1.任务→点击"+"→填写"打开酷狗音乐"→点击"√"2.任务编辑→点击& ...

  5. Nginx系列(5)- nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

    启动Windows版本的Nginx时候,cmd报错,报错信息为[emerg] 4276#4280: bind() to 0.0.0.0:80 failed(10013: An attempt was ...

  6. Jmeter系类(31) - JSR223(1) | 控件介绍

    JSR233 介绍 JSR223控件执行JSR223脚本代码用于创建/更新所需的某些变量 JSR223可以使用其内置的变量,有助于精简脚本,提高开发测试的效率 由于JSR223脚本编译方式基本相同,J ...

  7. 如何快速下载ubuntu镜像

    使用国内镜像地址下载: 中科大http://mirrors.ustc.edu.cn/ubuntu-releases/ 阿里云开源镜像站http://mirrors.aliyun.com/ubuntu- ...

  8. 自己写登陆验证及借用auth的is_authenticated验证是否登陆

    一. 自己写登陆需要注册,一个session的处理,还有一个session的删除 #自定义一个闭包装饰器,来验证def checkLogin(func): def wrapper(request, * ...

  9. P5488-差分与前缀和【NTT,生成函数】

    正题 题目链接:https://www.luogu.com.cn/problem/P5488 题目大意 求一个长度为$n$的序列的$k$阶差分/前缀和. 解题思路 先考虑前缀和怎么做 搞出来生成函数就 ...

  10. 深入浅出WPF-03.XAML语法

    2 XAML语法 树形结构,我们将整个XAML的结构想象成一棵树,我们从树的顶部向下看,形成俯视图.最上面的叶子节点会覆盖父节点,同级的子节点,后面的(也就是树的最上面)会覆盖前面的.覆盖包含了形状( ...