DataDog告警数据还能这么用-接入SLS开放告警

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: DataDog是一个用于云上应用的监控和分析平台,可以自动采集和分析日志、指标和链路追踪等数据,还可以用于基础设施和云服务的事件监控,对于服务器、应用程序以及采集到的各种数据提供了很好的可观测效果。但是DadaDog对于告警通知的管理功能比较缺乏,例如不支持短信、语音等通知渠道,也不支持用户组和值班组管理,还不具备动态发送告警通知的功能,因此不能覆盖用户的部分使用场景。SLS的告警功能很好地弥补了DataDog的这些不足之处,通过SLS提供的开放告警功能,用户也可以将DataDog的告警消息接入到SLS进行统一管理。本文将介绍如何快速创建DataDog的告警并将其告警消息接入到SLS中。

背景介绍

DataDog是一个用于云上应用的监控和分析平台,可以自动采集和分析日志、指标和链路追踪等数据,还可以用于基础设施和云服务的事件监控,对于服务器、应用程序以及采集到的各种数据提供了很好的可观测效果。但是DadaDog对于告警通知的管理功能比较缺乏,例如不支持短信、语音等通知渠道,也不支持用户组和值班组管理,还不具备动态发送告警通知的功能,因此不能覆盖用户的部分使用场景。SLS的告警功能很好地弥补了DataDog的这些不足之处,通过SLS提供的开放告警功能,用户也可以将DataDog的告警消息接入到SLS进行统一管理。本文将介绍如何快速创建DataDog的告警并将其告警消息接入到SLS中。

快速创建DataDog告警

在创建告警之前,首先需要为DataDog添加数据来源,常见的两种添加数据来源的方式是通过Agent上报数据以及通过Integrations集成数据。Agent常用于上报基础设施(例如主机、集群和IoT设备)的日志和指标等数据,Integrations常用于集成云上服务或者其他数据平台(例如AWS CloudTrail和Splunk)的数据。本文的示例采用的数据来源为在主机上安装Agent。如下图所示为在两台服务器上安装成功了Agent后,在DataDog的基础设施列表里查看到的结果,安装方法参考Agent Usage

添加了数据来源以后,就可以利用这些数据创建一个告警,用来监控你的设施或者服务。DataDog使用Monitor来管理告警,一条告警规则对应一个Monitor。点击Monitors->New Monitor,然后选择监视器类型就可以创建一个告警。如下图所示为检查主机是否向DataDog发送报告的监视器的配置界面,选择想要想要监控的主机,配置对应的参数,最后选择好通知渠道,对应的通知渠道就可以在DataDog检查不到主机发送的报告的时候收到告警消息了。

接入SLS开放告警

SLS的告警中心提供了开放告警的功能,可以将第三方的告警消息接入进来,目前已经支持了很多常见的告警监控平台,未来开放告警将提供让用户自己开发然后将告警消息接入SLS的能力。在SLS的开放告警中接入DataDog的告警数据分为以下几个步骤。

告警基础配置

告警基础主要是配置用户管理和通知管理,用户管理决定了您想指定谁接收到告警的消息,通知管理决定了消息通知的行为。通知管理主要包括内容模板和行动策略。内容模板决定了用户最终最终收到的告警内容,该功能近期会发布一个新版本,新版本支持用户在内容模板中使用处理函数、加入条件控制等强大的功能。行动策略可以参考创建行动策略,行动策略决定了在什么情况下,发送什么样的内容到您指定的通知渠道,用户可以在行动策略中决定在某种条件下进行对应的通知行动,如下图所示。

获取开放告警应用接口

在告警中心选择开放告警,创建一个开放告警服务。选择创建好的开放告警服务,添加一个开放告警应用,配置界面中的协议需要选择DataDog,行动策略选择上一步骤中配置好策略即可,其他的选项可以选择默认的配置。最后在创建的开放告警应用操作栏中点击接口,获取接口信息。需要注意的是获取的接口地址中,{ACCESS_KEY_ID}需要替换成用户自己的访问ID,具体内容可以参考配置开放告警对外接口

DataDog配置

DataDog的配置主要是配置Webhook集成,并将其设置为对应的监视器的通知渠道,具体包括以下步骤:

  1. 在导航栏中,选 Integrations
  2. Integrations页签中,找到webhooks,单击Install,安装完成后,单击Configure
  3. Webhooks区域,单击New,在New Webhook区域,配置如下参数,然后单击Save

其中Namewebhook的名称,URL为告警消息的接收端,此处配置为上一步骤获取的开放接口信息(完整URL),Payload为用户自定义告警消息的内容,DataDog提供了几十种告警消息变量,用户可以在Payload进行使用,具体可以参考DataDog官方文档,在配置Payload时,用户需要按照SLS的要求进行,具体可以参考接入DataDog告警

  1. 编辑目标Monitor,在配置通知渠道的步骤中,选择上一步配置的Webhook,最后进行保存。

告警数据映射

用户按照SLS的要求配置好了DataDog的告警消息后,SLS将收到如下示例消息

{

   "alert_instance_id": "123456",

   "alert_id": "123456",

   "alert_name": "STOP on host:abcdefgh",

   "alert_time": "1628647425",

   "fire_time": "1628647425",

   "resolve_time": "1627561306",

   "status": "Triggered",

   "labels": {

       "tags": "ali,host:abcdefgh,monitor"

   },

   "annotations": {

       "title": "[P1] [Triggered on {host:abcdefgh}] STOP",

       "event_msg": "%%%\nwarning\nhost stop\n @webhook-webhook-test-all\n\nThe monitor was last triggered at Thu Jul 29 2021 12:21:45 UTC.\n\n- - -\n\n[[Monitor Status](https://app.datadoghq.com/monitors/1234?to_ts=1234&group=host%3Aabcdefgh&from_ts=1627560405000)] \u00b7 [[Edit Monitor](https://app.datadoghq.com/monitors#1234/edit)] \u00b7 [[View abcdefgh](https://app.datadoghq.com/infrastructure?filter=abcdefgh)] \u00b7 [[Show Processes](https://app.datadoghq.com/process?sort=memory%2CASC&to_ts=1234&tags=host%abcdefgh&from_ts=1627560405000&live=false&showSummaryGraphs=true)]\n%%%",

       "text_only_msg": "\nwarning\nhost stop\n @webhook-webhook-test-all\n\nMetric Graph: https://app.datadoghq.com/monitors/1234?to_ts=1627561365000&group=host%abcdefgh&from_ts=1627557705000 \u00b7 Monitor Status: https://app.datadoghq.com/monitors/1234?group=host%abcdefgh \u00b7 Edit Monitor: https://app.datadoghq.com/monitors#42655965/edit \u00b7 Event URL: https://app.datadoghq.com/event/event?id=1234 \u00b7 View abcdefgh: https://app.datadoghq.com/infrastructure?filter=abcdefgh \u00b7 Show Processes: https://app.datadoghq.com/process?sort=memory%2CASC&to_ts=None&tags=host%abcdefgh&from_ts=None&live=false&showSummaryGraphs=true",

       "alert_metric": "null",

       "alert_query": "\"datadog.agent.up\".over(\"host:abcdefgh\").by(\"host\").last(2).count_by_status()",

       "alert_scope": "host:abcdefgh",

       "alert_status": "",

       "alert_type": "error",

       "email": "",

       "event_type": "service_check",

       "hostname": "abcdefgh",

       "logs_sample": "null",

       "metric_namespace": "",

       "priority": "normal",

       "user": "null",

       "username": "",

       "__aggreg_key__": "a1b2c3",

       "__alert_cycle_key__": "123456789",

       "__incident_attachments__": "null",

       "__incident_commander__": "null",

       "__incident_customer_impact__": "null",

       "__incident_fildes__": "null",

       "__incident_public_id__": "null",

       "__incident_title": "null",

       "__incident_url__": "null",

       "__org_id__": "123",

       "__org_name__": "ali",

       "__security_rule_name__": "null",

       "__security_signal_id__": "null",

       "__security_signal_severity__": "null",

       "__security_signal_title__": "null",

       "__security_signal_msg__": "null",

       "__security_signal_attributes__": "null",

       "__security_rule_id__": "null",

       "__security_rule_query__": "$SECURITY_RULE_QUERY",

       "__security_rule_group_by_fields__": "null",

       "__security_rule_type__": "null",

       "__link_snapshot_url__": "null",

    "__synthetics_test_name__": "null",

       "__synthetics_first_failing_step_name__": "null"  

   },

   "severity": "P1",

   "drill_down_query": "https://app.datadoghq.com/event/event?id=123456"    

}

上述消息与SLS的标准告警消息基本一致,SLS只需要去掉其中的空字段和无效字段,然后加入DataDog告警消息不具备的一些字段,最后在labels和annotations字段中再加入一些信息,就可以将该消息转为SLS的标准告警消息。

总结

将DataDog的告警消息接入SLS后,极大地拓展了告警消息的后续处理,不止丰富了通知管理部分的功能,还对后续告警数据的应用提供了平台,从而更全面地保证了系统服务的稳定性。




相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
数据采集 机器学习/深度学习 存储
使用 Python 清洗日志数据
使用 Python 清洗日志数据
32 2
|
3月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
3月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
123 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
182 3
|
3月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
3月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
52 0
|
3月前
|
开发者 前端开发 编解码
Vaadin解锁移动适配新境界:一招制胜,让你的应用征服所有屏幕!
【8月更文挑战第31天】在移动互联网时代,跨平台应用开发备受青睐。作为一款基于Java的Web应用框架,Vaadin凭借其组件化设计和强大的服务器端渲染能力,助力开发者轻松构建多设备适应的Web应用。本文探讨Vaadin与移动设备的适配策略,包括响应式布局、CSS媒体查询、TouchKit插件及服务器端优化,帮助开发者打造美观且实用的移动端体验。通过这些工具和策略的应用,可有效应对屏幕尺寸、分辨率及操作系统的多样性挑战,满足广大移动用户的使用需求。
55 0
|
3月前
|
存储 运维 监控
Entity Framework Core 实现审计日志记录超棒!多种方法助你跟踪数据变化、监控操作,超实用!
【8月更文挑战第31天】在软件开发中,审计日志记录对于跟踪数据变化、监控用户操作及故障排查至关重要。Entity Framework Core (EF Core) 作为强大的对象关系映射框架,提供了多种实现审计日志记录的方法。例如,可以使用 EF Core 的拦截器在数据库操作前后执行自定义逻辑,记录操作类型、时间和执行用户等信息。此外,也可通过在实体类中添加审计属性(如 `CreatedBy`、`CreatedDate` 等),并在保存实体时更新这些属性来记录审计信息。这两种方法都能有效帮助我们追踪数据变更并满足合规性和安全性需求。
65 0
|
3月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
141 0
|
3月前
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
37 0