5分钟搞定Loki告警多渠道接入

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: Loki是受Prometheus启发的水平可扩展、高可用、多租户日志聚合系统。用户既可以将Loki告警直接接入SLS开放告警,也可以先将Loki接入Grafana或Alert Manager,再借助Grafana或Alert Manager实现Loki间接接入SLS开放告警。

简介

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

目录
相关文章
|
7月前
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
2522 70
Grafana Loki,轻量级日志系统
|
运维 Kubernetes 监控
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
3985 0
|
运维 架构师 Linux
2024年阿里云ACE复习计划
作者目前已考取阿里云的ACP,可以说对阿里云的产品有了基础的了解,出于个人能力规划,还是计划继续备考ACE考试,但是重点不一定是突出在考试上,而是希望通过学习的过程能够查漏补缺,强化自己的云计算架构设计和实践能力,以及对复杂业务场景的解决能力。撰写本系列文的主要目的在于记录从零起步直至全面备战ACE的心路历程,这既是对未来自己的一个珍贵回顾,也是向有志于此道的同行者分享这一路上所积累的宝贵经验和实战心得,期待我们都能在回望时,清晰看见这段自我蜕变和成长的轨迹。
|
前端开发 测试技术 对象存储
Grafana Loki查询加速:如何在不添加资源的前提下提升查询速度
Grafana Loki查询加速:如何在不添加资源的前提下提升查询速度
415 59
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
1372 0
|
Kubernetes 负载均衡 Cloud Native
Spring Cloud Kubernetes使用全解(一)—官方原版
Spring Cloud Kubernetes使用全解(一)—官方原版
13229 2
|
消息中间件 存储 Kafka
【Kafka】Kafka 的日志保留期与数据清理策略
【4月更文挑战第13天】【Kafka】Kafka 的日志保留期与数据清理策略
|
JSON Ubuntu Linux
Docker:镜像加速器
Docker:镜像加速器
21539 4
Docker:镜像加速器
|
算法 C++ 开发者
【C/C++ 数据结构 】图顶点个数和边的关系
【C/C++ 数据结构 】图顶点个数和边的关系
907 0