简介
Loki是受Prometheus启发的水平可扩展、高可用、多租户日志聚合系统。用户既可以将Loki告警直接接入SLS开放告警,也可以先将Loki接入Grafana或Alert Manager,再借助Grafana或Alert Manager实现Loki间接接入SLS开放告警。
直接接入
您可以将开放告警服务配置为Loki的通知渠道,由日志服务告警系统完成告警降噪、通知等处理,并且通过包括短信、电话、微信、钉钉、邮箱在内的10多种通知渠道发送给用户。
SLS告警配置
1. 创建行动策略
行动策略将决定了SLS在接收Loki告警消息后,以何种方式及何种渠道通知您。为此,您需要首先打开告警中心,点击告警管理,在下拉菜单中选择行动策略:
然后点击页面左上角的添加按钮,在弹出的对话框中配置新的行动策略,然后点击确认。目前,系统支持语音,短信,邮箱,钉钉和企业微信等通知渠道,有关行动策略的具体配置方法,可参阅官方文档创建行动策略。
2. 创建开放告警服务
首先打开告警中心,点击告警管理,在下拉菜单中选择开放告警:
点击页面左上角的创建按钮,在弹出的对话框中配置新的开放告警服务,包括服务ID和服务名称,然后点击保存:
3. 创建开放告警应用
选择上一步骤中创建的服务,在操作栏中点击该服务的应用按钮:
在弹出的对话框中点击创建,添加新的应用,点击保存。这里的协议请选择Loki,行动策略选择在第一步中配置的策略,其余选项可选择默认值。
4. 获取开放告警应用接口
现在,您在第二步创建的开放告警服务中已经存在一个新的告警应用了。点击该应用操作栏的接口按钮,获取接口信息:
接口地址由两部分构成:
- 域名部分:SLS的接入地址,和地域相关,每个地域都有各自不同的接入地址;
- 子路径部分:包括用于发送消息的Access Key Id和开放告警应用Id。需要注意的是,用户需要将子路径部分中的{ACCESS_KEY_ID}替换为具体阿里云RAM账户的Access Key Id,并且将权限策略AliyunLogOpenEventWrite赋予该账户。
Loki接入配置
在Loki配置文件的ruler配置项下,在alertmanager_url字段中填写上一步骤中获取的接口地址。典型的配置文件如下图所示:
ruler:
alertmanager_url: {ALIYUN_SLS_ENDPOINT}/event/webhook/RAMAK_{ACCESS_KEY_ID}/{WEBHOOK_APP_ID}
...
有关Loki Ruler的其他可选配置要求,请参阅Loki Rules。
效果展示
告警消息查看
在告警中心的事务视图界面,可以查看接收到的告警消息列表,以及该告警消息的详情。
告警接入概览
在开放告警大盘,可以查看告警消息过滤、发送情况。
告警通知概览
告警大盘展示了所有告警消息的概览视图,可以查看通过不同通知渠道发送的消息量。
间接接入
除了直接接入,用户也可以先将Loki作为数据源接入Alert Manager或Grafana,然后通过将Alert Manager或Grafana接入开放告警来实现Loki间接接入开放告警。下文将主要介绍如何将Loki接入Alert Manager或Grafana,有关如何将Alert Manager和Grafana接入SLS开放告警,请参阅接入Alert Manager告警和接入Grafana告警。
接入Alert Manager
在Loki配置文件的ruler配置项下,在alertmanager_url字段中填写Alert Manager服务器的地址,典型的配置文件如下图所示:
ruler:
alertmanager_url: {ALERT_MANAGER_URL}
...
有关Loki Ruler的其他可选配置要求,请参阅Loki Rules。
接入Grafana
在Grafana界面上,单击Configuration下的Data Source选项,并选择Loki。在弹出的页面中,对Loki进行配置,如下图所示:
其中,主要的参数包括:
名称 |
描述 |
Name |
数据源名称。这就是您在面板、查询和探索中引用数据源的方式。 |
Default |
为新面板预先选择的默认数据源。 |
URL |
Loki 实例的 URL,例如,http://localhost:3100。 |
除此之外,还需要对Loki日志的解析方式进行配置,将Loki的日志字段映射为Grafana的派生字段,如下图所示:
其中,每个派生字段包括:
- Name -在日志详细信息中显示为标签。
- Regex -在日志消息上运行的正则表达式模式,并将其中的一部分捕获为新字段的值。只能包含一个捕获组。
- URL -如果链接是外部链接,则输入完整的链接 URL。如果链接是内部链接,则此输入用作对目标数据源的查询。在这两种情况下,您都可以使用${__value.raw }宏从字段中插入值。
- URL Label -(可选)为链接设置自定义显示标签。链接标签默认为链接的内部数据源的完整外部 URL 或名称,并被此设置覆盖。
- Internal Link -选择链接是内部链接还是外部链接。在内部链接的情况下,数据源选择器允许您选择目标数据源。仅支持跟踪数据源。
将Loki接入Grafana后,有关如何在Grafana控制台创建告警规则及配置通知渠道等,请参阅Grafana Alert。