简介: Alert Manager是开源监控系统Prometheus中用于处理告警信息的服务,通过将日志服务开放告警配置为Alert Manager中的一个Receiver,可以将Alert Manager产生的告警消息发送到日志服务。

SLS告警管理

AlertManager作为Prometheus生态系统的一员,提供了包括静默、抑制、通知在内的多种告警管理服务。同时AlertManager在实际使用中还存在着或多或少的不足,例如通知渠道过少,规则配置过程繁琐。

阿里云日志服务为了解决告警的通知、管理等问题,推出了日志服务告警中心,为客户提供了一站式的告警解决方案。下图中的功能对比给出了SLS告警和AlertManager+Prometheus生态的功能对比,可以看出SLS告警提供了企业级的服务,能够极大的方便用户的工作。

SLS开放告警

SLS告警提供的开放告警功能,能够很方便的将三方系统的告警消息接入到SLS告警中心,而且不需要对现有系统做任何改造。AlertManager接入SLS告警后的告警消息流如下图所示:

下面介绍将AlertManager接入到SLS告警的详细流程,包括SLS告警配置和AlertManager配置两部分。

SLS告警配置

1. 创建行动策略

行动策略将决定了SLS在接收Alert Manager告警消息后,以何种方式及何种渠道通知您。为此,您需要首先打开告警中心,点击告警管理,在下拉菜单中选择行动策略

然后点击页面左上角的添加按钮,在弹出的对话框中配置新的行动策略,然后点击确认。目前,系统支持语音,短信,邮箱,钉钉和企业微信等通知渠道,有关行动策略的具体配置方法,可参阅官方文档创建行动策略

2. 创建开放告警服务

首先打开告警中心,点击告警管理,在下拉菜单中选择开放告警

点击页面左上角的创建按钮,在弹出的对话框中配置新的开放告警服务,包括服务ID和服务名称,然后点击保存

3. 创建开放告警应用

选择上一步骤中创建的服务,在操作栏中点击该服务的应用按钮:

在弹出的对话框中点击创建,添加新的应用,点击保存。这里的协议请选择AlertManager,行动策略选择在第一步中配置的策略,其余选项可选择默认值。

4. 获取开放告警应用接口

现在,您在第二步创建的开放告警服务中已经存在一个新的告警应用了。点击该应用操作栏的接口按钮,获取接口信息:

接口地址由两部分构成:

  • 域名部分:SLS的接入地址,和地域相关,每个地域都有各自不同的接入地址;
  • 子路径部分:包括用于发送消息的Access Key Id和开放告警应用Id。需要注意的是,用户需要将子路径部分中的{ACCESS_KEY_ID}替换为具体阿里云RAM账户的Access Key Id,并且将权限策略AliyunLogOpenEventWrite赋予该账户。

Alert Manager接入配置

在Alert Manager配置文件中,您首先需要创建一个告警消息的接收者。为此,您需要在receivers配置项下添加一个Webhook接收者,在url字段中填写上一步骤中获取的接口地址。然后,您需要在route配置项下添加前面创建的接收者。典型的配置文件如下图所示:

route:

receiver: '{RECIEVER_NAME}'

...

...

receivers:

- name: '{RECIEVER_NAME}'

webhook_configs:

- url: 'http://{ALIYUN_SLS_ENDPOINT}/event/webhook/RAMAK_{ACCESS_KEY_ID}/{WEBHOOK_APP_ID}'

- name: ...

其中{RECIVER_NAME}为用户为接收者自定义的名称。

效果展示

告警消息查看

在告警中心的事务视图界面,可以查看接收到的告警消息列表,以及该告警消息的详情。

告警接入概览

开放告警大盘,可以查看告警消息过滤、发送情况。

告警通知概览

告警大盘展示了所有告警消息的概览视图,可以查看通过不同通知渠道发送的消息量。

本文为阿里云原创内容,未经允许不得转载。

5分钟搞定AlertManager接入短信、语音等10+种通知渠道的更多相关文章

  1. JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)

    前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...

  2. 一分钟搞定AlloyTouch图片轮播

      一分钟搞定AlloyTouch图片轮播 轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹.除了一般的竖向滚动,A ...

  3. leetcode-Spiral Matrix II 螺旋矩阵2之python大法好,四行就搞定,你敢信?

    Spiral Matrix II 螺旋矩阵 Given an integer n, generate a square matrix filled with elements from 1 to n2 ...

  4. 五分钟搞定Go.js

    五分钟搞定Go.js  1.基于html5~因为Go.js是一个依赖于HTML5特性的JavaScript库,所以需要确保您的页面声明它是一个HTML5文档,当然需要加载库 <!DOCTYPE ...

  5. Spring Boot 返回 XML 数据,一分钟搞定!

    Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击查看之前分享的 Spring Boot 返回 JSON 数据,一分钟搞定! ...

  6. zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》

    本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图   zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...

  7. zookeeper核心-zab协议-《每日五分钟搞定大数据》

    上篇文章<paxos与一致性>说到zab是在paxos的基础上做了重要的改造,解决了一系列的问题,这一篇我们就来说下这个zab. zab协议的全称是ZooKeeper Atomic Bro ...

  8. windows+mysql集群搭建-三分钟搞定集群

    注:本文来源:  陈晓婵   <  windows+mysql集群搭建-三分钟搞定集群   > 一:mysql集群搭建教程-基础篇 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一 ...

  9. 十分钟搞定pandas内容

    目录 十分钟搞定pandas 一.创建对象 二.查看数据 三.选择器 十二.导入和保存数据 参考:http://pandas.pydata.org/pandas-docs/stable/whatsne ...

  10. HDFS-异常大全-《每日五分钟搞定大数据》

    点击看<每日五分钟搞定大数据>完整思维导图以及所有文章目录 问题1:Decomminssioning退役datanode(即删除节点) 1.配置exclude: <name>d ...

随机推荐

  1. CSS(选择器、字体属性、文本属性、三种引入方式)

    css简介 CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称. 有时我们也会称之为 CSS 样式表或级联样式表. CSS 是也是一种标记语言 CSS 主要用于设置 H ...

  2. 记录--Vue自动生成组件名

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 unplugin-generate-component-name 一款用于以文件夹名或者setup标签写入名字来自动生成Vue组件名的插件 ...

  3. el-select的简单封装,使其返回值中包含key,value,obj 三种值

    常规的el-select中change事件返回值,只有key返回,业务上有些需求有需要获取到value值,所以简单的封装了一下,使返回中包含key,value,obj三个值,基本上可以满足大部分的需求 ...

  4. 【面试】将 95% 求职者拒之门外的BAT大数据面试题-附解题方法(文末有福利)

    写在前面 最近不少读者找我要大数据面试题,我整理了很久,筛选出这10道容易出错的大数据面试题,希望对大家有所帮助.题目与解答整理自互联网,感谢分享这些面经的技术大牛们! 题目概览 如何从大量的 URL ...

  5. C# 调用C++DLL时释放非托管内存

    方法一 改变非托管内存的分配方法,将其修改成采用COM的内存分配方法CoTaskMemAlloc来分配内存.这样封送拆收器在释放非托管内存时,就能自动调用COM的内存释放方法CoTaskMemFree ...

  6. 使用Razor模板动态生成代码

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. KingbaseES 判断字符串包含的几种方法

    判断字符串包含的几种方法: 1. position test=# select position('aa' in 'abcd'); position ---------- 0 (1 行记录) test ...

  8. MemfireCloud让静态托管页面动起来!

    静态托管 我们最常接触到的静态托管是github pages,它的常见工作模式是在github上创建一个仓库,使用hexo类的工具初始化仓库,编写markdown文件,生成静态页面,推送到github ...

  9. 性能对比 Go、Python、Perl、Ruby、Rust、C/C++、PHP、Node.js、Java.. 等多编

    1. 有人说 Python 性能没那么 Low? 这个我用 pypy 2.7 确认了下,确实没那么差, 如果用 NumPy 或 其它版本 Python 的话,性能更快.但 pypy 还不完善,pypy ...

  10. JavaScript语法-字符串模板

    目录 JavaScript 模板字符串 代码 问题 初学者容易出现的错误 调用函数的情况 JavaScript 模板字符串 代码 以下是index.js的部分代码: onShareAppMessage ...