首页 > 解决方案 > Azure Log Analytics - SyslogMessage 被截断,但可以在 syslog 服务器中找到完整的日志(带有 OMS 代理的 Linux VM)

问题描述

我正在尝试集成来自几个 Cisco Meraki 设备的一些日志。


方法:

Meraki 设备能够使用端口 514 (UDP) 将日志流式传输到远程系统,在这种情况下,运行 Ubuntu-Server 18.04 的 Azure 虚拟机安装了rsyslog ,充当 syslog 服务器。因为这是一个托管 VM,Azure Sentinel/Log Analytics 可以轻松安装所需的代理来提取数据并将它们存储到 Log Analytics 工作簿中。此步骤需要指定 Azure 将侦听的设施。就我而言,它是local0。这样就完成了“Syslog”数据连接。

然后,可以使用自定义 Meraki Kusto 解析器(查询)过滤提取的数据,该解析器会将数据转换为有意义的防火墙友好日志。查询可以存储为别名设置为“CiscoMeraki”的函数。一旦此查询开始提取数据,“Cisco Meraki”数据连接就会被标记为活动。


问题:

我已经设法配置了这个,现在我可以看到来自网络设备的日志(几乎是实时的)。问题是“SyslogMessage”字段中的内容被截断并且与驻留在虚拟机中的日志不匹配。

例子:

占位符 描述
{MERAKI_IP} Meraki 设备的公共 IP 地址(日志生产者)
{MERAKI_DEVICE_NAME} 设置为 Meraki 设备的友好名称
{PERSONAL_COMPUTER_MAC} 尝试连接到黑名单网站的计算机的 MAC 地址

我知道虚拟机中的日志是结构化的,并且将被拆分为列(例如 TimeGenerated、Computer),但丢失的数据不会出现在任何地方。上面提到的自定义解析器会生成空单元格,因为首先无法从 Syslog 表中找到数据。

标签: ubuntusyslogciscoazure-sentinel

解决方案


推荐阅读