如何将自定义日志转发到 Azure Sentinel

Posted

技术标签:

【中文标题】如何将自定义日志转发到 Azure Sentinel【英文标题】:How to forward custom logs to Azure Sentinel 【发布时间】:2021-06-21 21:57:00 【问题描述】:

我们使用 Azure Sentinel 来监控 IaaS 事件日志和 Azure 资源。作为应用程序开发人员,我想使用相同的平台来监控我们的定制应用程序。我想将自定义事件从 Azure 函数或应用服务发送到(最好)一个 HTTP 端点。例如


"user":"John",
"resource":"recordabc",
"result":"approved",
"time":"1 Jan 2020"

这可能吗,还是 Azure Sentinel 不是正确的技术?

【问题讨论】:

【参考方案1】:

由于 Sentinel 使用与 Azure Monitor(或 Application Insights)相同的 Log Analytics 基础架构,因此您可以执行所有这些操作。

有几种方法可以做到这一点:

    创建一个自定义 Azure 函数,将数据提交到 Azure Sentinel 的 Log Analytics 工作区 直接从函数和应用服务调用 Log Analytics 工作区

来自 Microsoft 的一些关于使用 Azure Functions 执行此操作的链接:

https://docs.microsoft.com/en-us/azure/sentinel/create-custom-connector#connect-with-azure-functions

https://zimmergren.net/log-custom-application-security-events-log-analytics-ingested-in-azure-sentinel/

使用代码:https://github.com/Zimmergren/LogAnalytics.Client

归结为以下步骤:

logger.SendLogEntry(new TestEntity

    Category = GetCategory(),
    TestString = $"String Test",
    TestBoolean = true,
    TestDateTime = DateTime.UtcNow,
    TestDouble = 2.1,
    TestGuid = Guid.NewGuid()
, "demolog").Wait();

【讨论】:

以上是关于如何将自定义日志转发到 Azure Sentinel的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义响应标头添加到来自 azure blob 的响应?

如何使用 Azure Synapse Analytics 将自定义 Python 库导入到 Apache Spark 池中?

使用 Terraform 将自定义 DNS 服务器 IP 添加到 Azure VM NIC

AWS Elastic Beanstalk:将自定义日志添加到 CloudWatch?

Azure Cosmos SQL API - 如何将自定义对象存储为 @PartitionKey

以编程方式将自定义范围添加到Azure B2C