你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用容器见解收集 Syslog

容器见解提供从 Azure Kubernetes 服务 (AKS) 群集中的 Linux 节点收集 Syslog 事件的功能。 这包括从控制平面组件(如 kubelet)收集日志的功能。 客户也可以使用 Syslog 监视安全和运行状况事件,方法通常是将 syslog 引入到 Microsoft Sentinel 等 SIEM 系统中。

先决条件

如何启用 Syslog

通过 Azure 门户

导航到你的群集。 打开群集的“见解”选项卡。 打开“监视器设置”面板。 单击“编辑收集设置”,然后选中“启用 Syslog 收集”框

Screen recording of syslog being enabled from the Azure portal through the Monitor Settings panel in Container Insights.

使用 Azure CLI 命令

创建新的 AKS 群集时,在 Azure CLI 中使用以下命令启用 syslog 收集。

az aks create -g syslog-rg -n new-cluster --enable-managed-identity --node-count 1 --enable-addons monitoring --enable-msi-auth-for-monitoring --enable-syslog --generate-ssh-key

在 Azure CLI 中使用以下命令在现有 AKS 集群上启用 syslog 收集。

az aks enable-addons -a monitoring --enable-msi-auth-for-monitoring --enable-syslog -g syslog-rg -n existing-cluster

使用 ARM 模板

还可以使用 ARM 模板启用 syslog 收集

  1. 下载 GitHub 内容文件中的模板并将其另存为 existingClusterOnboarding.json。

  2. 下载 GitHub 内容文件中的参数文件并将其另存为 existingClusterParam.json。

  3. 编辑参数文件中的值:

    • aksResourceId:使用 AKS 群集的“AKS 概述”页中的值。
    • aksResourceLocation:使用 AKS 群集的“AKS 概述”页中的值。
    • workspaceResourceId:使用 Log Analytics 工作区的资源 ID。
    • resourceTagValues:将为群集的现有容器见解扩展数据收集规则 (DCR) 指定的现有标记值与 DCR 的名称进行匹配。 名称为 MSCI-<clusterName>-<clusterRegion>,此资源是在 AKS 群集资源组中创建的。 如果这是首次加入,则可以设置任意标记值。
    • enableSyslog:设置为“True”
    • syslogLevels:由要收集的 syslog 级别组成的数组。 默认收集所有级别。
    • syslogFacilities:由要收集的 syslog 设施组成的数组。 默认收集所有设施

注意

Syslog 级别和设施自定义目前只通过 ARM 模板提供。

部署模板

使用部署资源管理器模板的任意有效方法,用参数文件部署模板。 有关不同方法的示例,请参阅部署示例模板

使用 Azure PowerShell 部署

New-AzResourceGroupDeployment -Name OnboardCluster -ResourceGroupName <ResourceGroupName> -TemplateFile .\existingClusterOnboarding.json -TemplateParameterFile .\existingClusterParam.json

配置更改可能需要几分钟才能完成。 完成后,以下示例所示的消息包含此结果:

provisioningState       : Succeeded

使用 Azure CLI 进行部署

az login
az account set --subscription "Subscription Name"
az deployment group create --resource-group <ResourceGroupName> --template-file ./existingClusterOnboarding.json --parameters @./existingClusterParam.json

配置更改可能需要几分钟才能完成。 完成后,以下示例所示的消息包含此结果:

provisioningState       : Succeeded

如何访问 Syslog 数据

使用内置工作簿进行访问

若要快速获取 syslog 数据的快照,客户可以使用内置 Syslog 工作簿。 可通过两种方式访问内置工作簿。

选项 1 - 容器见解中的“报表”选项卡。 导航到你的群集。 打开群集的“见解”选项卡。 打开“报表”选项卡并查找 Syslog 工作簿。

Video of Syslog workbook being accessed from Container Insights Reports tab.

选项 2 - AKS“导航到你的群集”中的“工作簿”选项卡。 打开群集的“工作簿”选项卡,并查找 Syslog 工作簿。

Video of Syslog workbook being accessed from cluster workbooks tab.

使用 Grafana 仪表板进行访问

客户可以使用 Grafana 的 Syslog 仪表板来大致了解其 Syslog 数据。 对于创建新的 Azure 托管 Grafana 实例的客户,此仪表板将默认可用。 具有现有实例或运行自己的实例的客户可以从 Grafana 市场导入 Syslog 仪表板

注意

你需要对包含 Azure 托管 Grafana 实例的订阅具有“监视读取者”角色才能从容器见解访问 syslog。

Screenshot of Syslog Grafana dashboard.

使用日志查询进行访问

Syslog 数据存储在 Log Analytics 工作区上的 Syslog 表中。 可以在 Log Analytics 中创建自己的日志查询来分析此数据或使用任何预生成的查询

Screenshot of Syslog query loaded in the query editor in the Azure Monitor Portal UI.

可通过“Monitor”菜单中的“日志”菜单打开 Log Analytics 来访问所有群集的 Syslog 数据,也可通过 AKS 群集的菜单打开它,以便仅访问该群集的 Syslog 数据。

Screenshot of Query editor with Syslog query.

示例查询

下表提供了检索 Syslog 记录的不同日志查询示例。

查询 说明
Syslog 所有 Syslog
Syslog | where SeverityLevel == "error" 严重级别为“错误”的所有 Syslog 记录
Syslog | summarize AggregatedValue = count() by Computer 按计算机计算的 Syslog 记录数目
Syslog | summarize AggregatedValue = count() by Facility 按设施计算的 Syslog 记录数目
Syslog | where ProcessName == "kubelet" kubelet 进程中的所有 Syslog 记录
Syslog | where ProcessName == "kubelet" and SeverityLevel == "error" kubelet 进程中的 Syslog 记录以及错误

编辑 Syslog 收集设置

若要修改 Syslog 收集配置,请修改启用时创建的数据收集规则 (DCR)

在 Azure 门户的“Monitor”菜单中,选择“数据收集规则”。

Screenshot of Data Collection Rules tab in the Azure Monitor portal UI.

选择 DCR,然后选择“查看数据源”。 选择 Linux Syslog 数据源以查看 Syslog 集合详细信息。

注意

启用 syslog 时,会自动创建 DCR。 DCR 遵循命名约定 MSCI-<WorkspaceRegion>-<ClusterName>

Screenshot of Data Sources tab for Syslog data collection rule.

为要收集的每个设施选择最低日志级别。

Screenshot of Configuration panel for Syslog data collection rule.

后续步骤

设置后,客户可以开始将 Syslog 数据发送到所选的工具

了解详细信息

在此处共享此功能的反馈:https://forms.office.com/r/BBvCjjDLTS