Azure 诊断日志
诊断日志提供有关在资源中执行的操作的见解。借助 Microsoft Azure 的诊断日志,您可以将基本使用指标从内容交付网络 (CDN) 端点导出到各种来源。 了解有关使用 Site24x7 进行日志管理的更多信息。
在本文档中,我们将介绍:
收集 Azure 诊断日志
使用 Site24x7 的日志管理和分析 从 Azure 的日志收集开始。此过程涉及以下步骤:
- Azure 监视器从 Azure 服务收集日志并将数据发送到 Azure 事件中心,这是一个数据流平台和摄取服务。
- 事件中心将日志流式传输到 Azure 函数,这是由事件中心触发的一小段代码。
- Azure 功能:
- 将日志发送到 Site24x7 AppLogs HTTP 源。
- 将函数日志发送到一个 Azure 存储帐户。
配置日志收集
配置日志收集是一个三步过程:
创建日志配置文件
从 Site24x7 Web 控制台,导航到 管理> AppLogs> 日志配置文件> 添加日志配置文件,然后输入以下内容:
- 配置文件名称:输入日志配置文件的名称。
- 日志类型: 从下拉菜单中 选择Azure 诊断日志。
- 日志源:选择Azure Functions。
- 记录时区: 选择UTC。
- 单击保存。
使用 ARM 模板配置 Azure 资源
如上所述,您需要为函数日志创建事件中心、Azure 函数和存储帐户。您可以使用 ARM 模板创建所有这些。
- 下载 ARM 模板。
- 登录到您的 Azure 门户,然后转到Marketplace>模板部署(使用自定义模板进行部署)。
- 单击创建。
- 在自定义部署 边栏选项卡上,单击在编辑器中构建您自己的模板。
- 在编辑模板边栏选项卡上,将此 JSON 文件中的内容粘贴到编辑器窗口中。
- 单击保存。
- 返回自定义部署框,在基本输入以下内容 :
- 订阅: 选择您的订阅模式。
- 资源组: 创建一个名称类似于 Site24x7-Azure-Logs的新资源组。
- 位置:选择一个位置。
- 在设置下:
- 名称:将预先填写函数名称。你不需要改变它。
- LogTypeConfig:从您已在 Site24x7 中创建的日志配置文件页面复制值(管理 > AppLogs > 日志配置文件 > 您的配置文件名称)。
- 根据 条款和条件:
- 选中我同意上述条款和条件旁边的框。
- 点击购买。
- 单击顶部窗格中的通知图标以验证您的部署是否成功。
- 在部署成功通知上,单击转到资源组并验证是否已成功创建所有资源。
将日志从 Azure 监视器推送到事件中心
让我们考虑一个使用 Azure Active Directory 的示例。要将审核日志推送到事件中心,请执行以下步骤:
- 从Azure 门户的主屏幕,转到Azure Active Directory。
- 在监控下,单击审核日志。
- 单击导出数据设置。您可以在“诊断设置”边栏选项卡下查看当前设置 。
- 您可以通过单击编辑设置来编辑这些设置,或通过单击添加诊断设置来添加新设置。您最多可以添加五个诊断设置。
- 选中Stream 事件 hub旁边的框 。
- 在事件中心下,单击配置。
- 在Select event hub下,输入以下内容
- 订阅:选择 Azure 订阅。
- 选择事件中心命名空间:选择使用 ARM 模板创建的命名空间。它应该以 Site24x7AzureLogs-Namespace-<UniqueSuffix> 开头。
- 选择事件中心名称:从下拉菜单中 选择 site24x7-operational-logs 。
- 选择事件中心策略名称:从下拉菜单中选择 RootManageSharedAccessKey 。
- 单击确定。
- 在Logs下,选中 审计日志旁边的框。
- 单击保存。
日志收集疑难解答
如果 Site24x7 没有收到日志,您可以通过以下方式检查日志收集失败的位置:
验证配置
确保您的资源已成功添加。如果是,请继续执行以下步骤:
- 从Azure 门户的主页 ,转到资源组。单击使用 ARM 模板创建的资源组。
- 检查它是否列出了你创建的所有四个资源——应用服务计划、应用服务、事件中心命名空间和存储帐户。
- 从资源列表中单击 Function App。
- 在Function App边栏选项卡上,单击Functions (只读)> EventHubs_Logs> 集成。
- 验证Trigger字段的值是否为 (eventMessages)。
- 验证您是否在上面的第 8 步中正确输入了 Log Type Config 字符串。
验证事件中心是否正在接收日志
- 从Azure 门户的主页 ,转到事件中心。
- 单击您的活动中心;在显示指标下,切换到 Messages。
- 在图表下方显示的消息摘要详细信息中,验证传入消息计数是否大于零。
手动验证 Azure 函数是否将日志发送到 Site24x7
登录到 Site24x7并导航到 AppLogs。在AppLogs 搜索窗口中,搜索 Azure 诊断日志。
如果上述验证失败,您可以联系 support@site24x7.com。
ARM 模板可与多个 Azure 服务重用
您可以创建一个 ARM 模板,并在所有其他 Azure 服务中使用它。
例如,假设需要从两个不同的 Azure 服务收集的日志是App Services和Kubernetes Services。这可以在单个 ARM 模板中实现:
- 使用适当的示例日志和日志模式创建两种不同的日志类型AppServiceHTTPLogs和Azure-Kube-ApiServerLogs 。
- 创建两个配置有各自日志类型的不同日志配置文件。也就是说,日志类型AppServiceHTTPLogs应该在AppServiceHTTPLogs日志配置文件中配置,日志类型Azure-Kube-ApiServerLogs应该在Azure-Kube-ApiServerLogs日志配置文件中配置。
- 将两个不同日志配置文件中的logTypeConfig变量的值配置为Application Settings下同一个 Function App 中的两个不同变量。
- 转到配置了 ARM 的Function App。
- 在左侧窗格中,转到设置下的配置。
- 在配置边栏选项卡上,单击新建应用程序设置。
- 为变量提供适当的名称 ( S247_<ActualLogName>) 和值 ( logTypeConfig值在各自的日志配置文件中可用)。.
示例:
Name: S247_kube_apiserver
Vaule: xxxxxxxxxxxxxxxxxxxxxxxxxxxx (logtypeconfig value of log profile 'Azure-Kube-ApiServerLog Profile')
注意:
- 名称中不应包含连字符 (-)。
- 名称应以S247_ 开头。
- 名称格式应为S247_<ActualLogName>,其中<ActualLogName>是您必须在诊断设置下的这些 Azure 服务中选择的日志名称。
示例: S247_kube_apiserver、S247_AppServiceHTTPLogs - 如果 Azure 门户中的日志类型有连字符 (-),请将其替换为下划线 (_)。
示例:如果Kubernetes Services中可用的 Log Name为kube-apiserver,则在 Site24x7 中配置 Log Profile 时将其更改为S247_kube_apiserver 。
同一 Azure 服务的多种日志类型
为同一个 Azure 服务配置多个日志类型:
- 转到该服务,然后转到其诊断设置。
- 单击添加诊断设置,并在该特定服务中使用所需的日志类型创建多个诊断设置。您可以通过选中特定日志类型旁边的框来选择日志类型。
- 在目标详细信息下选择Steam 到事件中心,然后按照上面将日志从 Azure 监视器推送到事件中心部分中的步骤 5-8 进行操作。
Azure 服务中日志类型的日志模式
要了解 Azure 服务中可用的不同日志类型的日志模式,请参阅Azure 的文档。请参阅此文档,并为相应的日志类型配置日志模式。
示例: AppServiceConsoleLogs 的日志模式可以由 Category、Host、Level、ResourceId、ResultDescription、SourceSystem、TenantId、TimeGenerated 和 Type 字段定义。
从这些字段中,AppServiceConsoleLogs 的日志模式配置为:
json $resourceId as ResourceId$ $operationName$ $category as LogCategory$ $time as Time:date:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'$ $properties.Host as Host$ $properties。级别为 Level$ $properties.ResultDescription 作为 ResultDescription$ $properties.SourceSystem 作为 SourceSystem$ $properties.TenantId 作为 TenantId$ $properties.Type 作为 Type$
Azure 诊断日志仪表板
AppLogs 为每种日志类型创建一个专属仪表板,并默认显示一些小窗件。下面是 Azure 诊断日志仪表板中可用的小窗件列表:
- 操作统计
- 日志类别统计
- 资源组统计