你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Custom Logs via AMA 数据连接器 - 配置从特定应用程序到 Microsoft Sentinel 的数据引入
Microsoft Sentinel 的 自定义日志通过 AMA 数据连接器支持从多个不同网络和安全应用程序和设备的文本文件收集日志。
本文提供了配置信息,这些信息特定于每个特定安全应用程序,在配置此数据连接器时需要提供这些信息。 此信息由应用程序提供程序提供。 请与提供商联系以获取更新、了解详细信息,或者当安全应用程序不可用时。 有关安装和配置连接器的完整说明,请参阅 使用 Azure Monitor 代理从文本文件中收集日志并引入到 Microsoft Sentinel,但请参阅本文以获取每个应用程序提供的唯一信息。
本文还介绍了如何在不使用连接器的情况下将数据从这些应用程序引入Microsoft Sentinel 工作区。 这些步骤包括安装 Azure Monitor 代理。 安装连接器后,请使用适用于应用程序的说明(本文后面部分所示)完成设置。
从中收集自定义文本日志的设备分为两类:
在 Windows 或 Linux 计算机上安装的应用程序
应用程序将其日志文件存储在安装它的计算机上。 若要收集这些日志,Azure Monitor 代理安装在同一台计算机上。
在封闭(通常基于 Linux)设备上自包含的设备
这些设备将日志存储在外部 syslog 服务器上。 若要收集这些日志,此外部 syslog 服务器上安装的 Azure Monitor Agentis 通常称为日志转发器。
有关其中每个应用程序的相关Microsoft Sentinel 解决方案的详细信息,请搜索产品类型>解决方案模板Azure 市场,或从 Microsoft Sentinel 中的内容中心查看解决方案。
重要
Custom Logs via AMA 数据连接器目前以预览版提供。 请参阅 Microsoft Azure 预览版的补充使用条款,了解适用于 beta 版、预览版或其他尚未正式发布的 Azure 功能的其他法律条款。
-
Microsoft Sentinel 在 Microsoft Defender 门户中Microsoft的统一安全操作平台中正式发布。 对于预览版,Microsoft Sentinel 在 Defender 门户中提供,无需Microsoft Defender XDR 或 E5 许可证。 有关详细信息,请参阅 Microsoft Defender 门户中的 Microsoft Sentinel。
常规说明
从托管应用程序和设备的计算机收集日志的步骤遵循一般模式:
在 Log Analytics 中创建目标表(如果在 Defender 门户中操作,则在“高级搜寻”中创建)。
为应用程序或设备创建数据收集规则(DCR)。
将 Azure Monitor 代理部署到托管应用程序的计算机,或者部署到从设备收集日志(如果尚未部署)的外部服务器(日志转发器)。
在应用程序上配置日志记录。 如果设备,请将其配置为将其日志发送到安装了 Azure Monitor 代理的外部服务器(日志转发器)。
通过 AMA 数据连接器使用自定义日志时,这些常规步骤(最后一个步骤除外)是自动化的,在使用 Azure Monitor 代理从文本文件中收集日志并引入到 Microsoft Sentinel 中进行了详细介绍。
每个应用程序类型的特定说明
本文的其余部分介绍了完成这些步骤所需的每个应用程序信息。 其中一些应用程序位于独立设备中,需要不同类型的配置,从使用日志转发器开始。
每个应用程序部分都包含以下信息:
- 若要通过 AMA 数据连接器提供自定义日志配置的唯一参数(如果使用)。
- 手动引入数据所需的过程概述,而无需使用连接器。 有关此过程的详细信息,请参阅 使用 Azure Monitor 代理从文本文件中收集日志并引入到 Microsoft Sentinel。
- 有关配置原始应用程序或设备本身的具体说明,以及/或指向提供商网站上的说明的链接。 无论是否使用连接器,都必须执行这些步骤。
Apache HTTP Server
按照以下步骤从 Apache HTTP 服务器引入日志消息:
表名:
ApacheHTTPServer_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Windows:
"C:\Server\bin\log\Apache24\logs\*.log"
- Linux:
"/var/log/httpd/*.log"
- Windows:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
Apache Tomcat
按照以下步骤从 Apache Tomcat 引入日志消息:
表名:
Tomcat_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Linux:
"/var/log/tomcat/*.log"
- Linux:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
Cisco Meraki
按照以下步骤从 Cisco Meraki 引入日志消息:
表名:
meraki_CL
日志存储位置:在外部 syslog 服务器上创建日志文件。 向 syslog 守护程序授予文件写入权限。 如果尚未安装 AMA,请在外部 syslog 服务器上安装 AMA。 在连接器的 “文件模式 ”字段中输入此文件名和路径,或代替
{LOCAL_PATH_FILE}
DCR 中的占位符。将 syslog 守护程序配置为将其 Meraki 日志消息导出到临时文本文件,以便 AMA 可以收集它们。
为 rsyslog 守护程序创建自定义配置文件并将其保存到
/etc/rsyslog.d/10-meraki.conf
. 将以下筛选条件添加到此配置文件:if $rawmsg contains "flows" then { action(type="omfile" file="<LOG_FILE_Name>") stop } if $rawmsg contains "urls" then { action(type="omfile" file="<LOG_FILE_Name>") stop } if $rawmsg contains "ids-alerts" then { action(type="omfile" file="<LOG_FILE_Name>") stop } if $rawmsg contains "events" then { action(type="omfile" file="<LOG_FILE_Name>") stop } if $rawmsg contains "ip_flow_start" then { action(type="omfile" file="<LOG_FILE_Name>") stop } if $rawmsg contains "ip_flow_end" then { action(type="omfile" file="<LOG_FILE_Name>") stop }
(替换为
<LOG_FILE_Name>
创建的日志文件的名称。若要了解有关 rsyslog 筛选条件的详细信息,请参阅 rsyslog:筛选条件。 建议根据特定安装测试和修改配置。
重启 rsyslog。 典型的命令语法为
systemctl restart rsyslog
.
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将列名
"RawData"
替换为列名"Message"
。将 transformKql 值
"source"
替换为值"source | project-rename Message=RawData"
。将
{TABLE_NAME}
DCR 模板中的和{LOCAL_PATH_FILE}
占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
配置安装了 Azure Monitor 代理的计算机以打开 syslog 端口,并将 syslog 守护程序配置为接受来自外部源的消息。 有关用于自动执行此配置的详细说明和脚本,请参阅 配置日志转发器以接受日志。
配置并连接 Cisco Meraki 设备(s):按照 Cisco 提供的说明发送 syslog 消息。 使用安装了 Azure Monitor 代理的虚拟机的 IP 地址或主机名。
JBoss Enterprise Application Platform
按照以下步骤从 JBoss Enterprise Application Platform 引入日志消息:
表名:
JBossLogs_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”) - 仅限 Linux:
- 独立服务器:
"{EAP_HOME}/standalone/log/server.log"
- 托管域:
"{EAP_HOME}/domain/servers/{SERVER_NAME}/log/server.log"
- 独立服务器:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
JuniperIDP
按照以下步骤从 JuniperIDP 引入日志消息:
表名:
JuniperIDP_CL
日志存储位置:在外部 syslog 服务器上创建日志文件。 向 syslog 守护程序授予文件写入权限。 如果尚未安装 AMA,请在外部 syslog 服务器上安装 AMA。 在连接器的 “文件模式 ”字段中输入此文件名和路径,或代替
{LOCAL_PATH_FILE}
DCR 中的占位符。将 syslog 守护程序配置为将其 JuniperIDP 日志消息导出到临时文本文件,以便 AMA 可以收集它们。
在文件夹中为 rsyslog 守护程序
/etc/rsyslog.d/
创建自定义配置文件,并具有以下筛选条件:# Define a new ruleset ruleset(name="<RULESET_NAME>") { action(type="omfile" file="<LOG_FILE_NAME>") } # Set the input on port and bind it to the new ruleset input(type="imudp" port="<PORT>" ruleset="<RULESET_NAME>")
(替换为
<parameters>
表示的对象的实际名称。 <LOG_FILE_NAME> 是在步骤 2 中创建的文件。重启 rsyslog。 典型的命令语法为
systemctl restart rsyslog
.
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将列名
"RawData"
替换为列名"Message"
。将
{TABLE_NAME}
DCR 模板中的和{LOCAL_PATH_FILE}
占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。将 transformKql 值
"source"
替换为以下 Kusto 查询(括在双引号中):source | parse RawData with tmp_time " " host_s " " ident_s " " tmp_pid " " msgid_s " " extradata | extend dvc_os_s = extract("\\[(junos\\S+)", 1, extradata) | extend event_end_time_s = extract(".*epoch-time=\"(\\S+)\"", 1, extradata) | extend message_type_s = extract(".*message-type=\"(\\S+)\"", 1, extradata) | extend source_address_s = extract(".*source-address=\"(\\S+)\"", 1, extradata) | extend destination_address_s = extract(".*destination-address=\"(\\S+)\"", 1, extradata) | extend destination_port_s = extract(".*destination-port=\"(\\S+)\"", 1, extradata) | extend protocol_name_s = extract(".*protocol-name=\"(\\S+)\"", 1, extradata) | extend service_name_s = extract(".*service-name=\"(\\S+)\"", 1, extradata) | extend application_name_s = extract(".*application-name=\"(\\S+)\"", 1, extradata) | extend rule_name_s = extract(".*rule-name=\"(\\S+)\"", 1, extradata) | extend rulebase_name_s = extract(".*rulebase-name=\"(\\S+)\"", 1, extradata) | extend policy_name_s = extract(".*policy-name=\"(\\S+)\"", 1, extradata) | extend export_id_s = extract(".*export-id=\"(\\S+)\"", 1, extradata) | extend repeat_count_s = extract(".*repeat-count=\"(\\S+)\"", 1, extradata) | extend action_s = extract(".*action=\"(\\S+)\"", 1, extradata) | extend threat_severity_s = extract(".*threat-severity=\"(\\S+)\"", 1, extradata) | extend attack_name_s = extract(".*attack-name=\"(\\S+)\"", 1, extradata) | extend nat_source_address_s = extract(".*nat-source-address=\"(\\S+)\"", 1, extradata) | extend nat_source_port_s = extract(".*nat-source-port=\"(\\S+)\"", 1, extradata) | extend nat_destination_address_s = extract(".*nat-destination-address=\"(\\S+)\"", 1, extradata) | extend nat_destination_port_s = extract(".*nat-destination-port=\"(\\S+)\"", 1, extradata) | extend elapsed_time_s = extract(".*elapsed-time=\"(\\S+)\"", 1, extradata) | extend inbound_bytes_s = extract(".*inbound-bytes=\"(\\S+)\"", 1, extradata) | extend outbound_bytes_s = extract(".*outbound-bytes=\"(\\S+)\"", 1, extradata) | extend inbound_packets_s = extract(".*inbound-packets=\"(\\S+)\"", 1, extradata) | extend outbound_packets_s = extract(".*outbound-packets=\"(\\S+)\"", 1, extradata) | extend source_zone_name_s = extract(".*source-zone-name=\"(\\S+)\"", 1, extradata) | extend source_interface_name_s = extract(".*source-interface-name=\"(\\S+)\"", 1, extradata) | extend destination_zone_name_s = extract(".*destination-zone-name=\"(\\S+)\"", 1, extradata) | extend destination_interface_name_s = extract(".*destination-interface-name=\"(\\S+)\"", 1, extradata) | extend packet_log_id_s = extract(".*packet-log-id=\"(\\S+)\"", 1, extradata) | extend alert_s = extract(".*alert=\"(\\S+)\"", 1, extradata) | extend username_s = extract(".*username=\"(\\S+)\"", 1, extradata) | extend roles_s = extract(".*roles=\"(\\S+)\"", 1, extradata) | extend msg_s = extract(".*message=\"(\\S+)\"", 1, extradata) | project-away RawData
配置安装了 Azure Monitor 代理的计算机以打开 syslog 端口,并将 syslog 守护程序配置为接受来自外部源的消息。 有关用于自动执行此配置的详细说明和脚本,请参阅 配置日志转发器以接受日志。
有关将 Juniper IDP 设备配置为将 syslog 消息发送到外部服务器的说明,请参阅 SRX 入门 - 配置系统日志记录。。
MarkLogic 审核
按照以下步骤从 MarkLogic Audit 引入日志消息:
表名:
MarkLogicAudit_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Windows:
"C:\Program Files\MarkLogic\Data\Logs\AuditLog.txt"
- Linux:
"/var/opt/MarkLogic/Logs/AuditLog.txt"
- Windows:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
配置 MarkLogic Audit 以使其能够写入日志:(来自 MarkLogic 文档)
- 使用浏览器导航到 MarkLogic Admin 界面。
- 打开“组 > group_name > 审核”下的“审核配置”屏幕。
- 标记“已启用审核”单选按钮。 请确保它已启用。
- 配置所需的审核事件和/或限制。
- 选择“确定”进行验证。
- 有关更多详细信息和配置选项,请参阅 MarkLogic 文档。
MongoDB 审核
按照以下步骤从 MongoDB 审核引入日志消息:
表名:
MongoDBAudit_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Windows:
"C:\data\db\auditlog.json"
- Linux:
"/data/db/auditlog.json"
- Windows:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
配置 MongoDB 以写入日志:
- 对于 Windows,请编辑配置文件
mongod.cfg
。 对于 Linux,mongod.conf
。 - 将
dbpath
参数设置为data/db
。 - 将
path
参数设置为/data/db/auditlog.json
。 - 有关更多参数和详细信息,请参阅 MongoDB 文档。
- 对于 Windows,请编辑配置文件
NGINX HTTP 服务器
按照以下步骤从 NGINX HTTP 服务器引入日志消息:
表名:
NGINX_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Linux:
"/var/log/nginx.log"
- Linux:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
Oracle WebLogic Server
按照以下步骤从 Oracle WebLogic Server 引入日志消息:
表名:
OracleWebLogicServer_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Windows:
"{DOMAIN_NAME}\Servers\{SERVER_NAME}\logs*.log"
- Linux:
"{DOMAIN_HOME}/servers/{SERVER_NAME}/logs/*.log"
- Windows:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
PostgreSQL 事件
按照以下步骤从 PostgreSQL 事件引入日志消息:
表名:
PostgreSQL_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Windows:
"C:\*.log"
- Linux:
"/var/log/*.log"
- Windows:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
编辑 PostgreSQL 事件配置文件
postgresql.conf
,将日志输出到文件。- 设置
log_destination='stderr'
- 设置
logging_collector=on
- 有关更多参数和详细信息,请参阅 PostgreSQL 文档。
- 设置
SecurityBridge Threat Detection for SAP
按照以下步骤从适用于 SAP 的 SecurityBridge 威胁检测引入日志消息:
表名:
SecurityBridgeLogs_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Linux:
"/usr/sap/tmp/sb_events/*.cef"
- Linux:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
SquidProxy
按照以下步骤从 SquidProxy 引入日志消息:
表名:
SquidProxy_CL
日志存储位置:日志作为文本文件存储在应用程序的主机计算机上。 在同一计算机上安装 AMA 以收集文件。
默认文件位置(“filePatterns”):
- Windows:
"C:\Squid\var\log\squid\*.log"
- Linux:
"/var/log/squid/*.log"
- Windows:
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将 DCR 模板中的 {TABLE_NAME} 和 {LOCAL_PATH_FILE} 占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
Ubiquiti UniFi
按照以下步骤从 Ubiquiti UniFi 引入日志消息:
表名:
Ubiquiti_CL
日志存储位置:在外部 syslog 服务器上创建日志文件。 向 syslog 守护程序授予文件写入权限。 如果尚未安装 AMA,请在外部 syslog 服务器上安装 AMA。 在连接器的 “文件模式 ”字段中输入此文件名和路径,或代替
{LOCAL_PATH_FILE}
DCR 中的占位符。将 syslog 守护程序配置为将其 Ubiquiti 日志消息导出到临时文本文件,以便 AMA 可以收集它们。
在文件夹中为 rsyslog 守护程序
/etc/rsyslog.d/
创建自定义配置文件,并具有以下筛选条件:# Define a new ruleset ruleset(name="<RULESET_NAME>") { action(type="omfile" file="<LOG_FILE_NAME>") } # Set the input on port and bind it to the new ruleset input(type="imudp" port="<PORT>" ruleset="<RULESET_NAME>")
(替换为
<parameters>
表示的对象的实际名称。 <LOG_FILE_NAME> 是在步骤 2 中创建的文件。重启 rsyslog。 典型的命令语法为
systemctl restart rsyslog
.
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将列名
"RawData"
替换为列名"Message"
。将 transformKql 值
"source"
替换为值"source | project-rename Message=RawData"
。将
{TABLE_NAME}
DCR 模板中的和{LOCAL_PATH_FILE}
占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
配置安装了 Azure Monitor 代理的计算机以打开 syslog 端口,并将 syslog 守护程序配置为接受来自外部源的消息。 有关用于自动执行此配置的详细说明和脚本,请参阅 配置日志转发器以接受日志。
配置并连接 Ubiquiti 控制器。
- 按照 Ubiquiti 提供的说明启用 syslog 和(可选)调试日志。
- 选择“设置 > 系统设置 > 控制器配置 > 远程日志记录”并启用 syslog。
VMware vCenter
按照以下步骤从 VMware vCenter 引入日志消息:
表名:
vcenter_CL
日志存储位置:在外部 syslog 服务器上创建日志文件。 向 syslog 守护程序授予文件写入权限。 如果尚未安装 AMA,请在外部 syslog 服务器上安装 AMA。 在连接器的 “文件模式 ”字段中输入此文件名和路径,或代替
{LOCAL_PATH_FILE}
DCR 中的占位符。将 syslog 守护程序配置为将其 vCenter 日志消息导出到临时文本文件,以便 AMA 可以收集它们。
编辑配置文件
/etc/rsyslog.conf
,在指令节之前添加以下模板行:$template vcenter,"%timestamp% %hostname% %msg%\ n"
为 rsyslog 守护程序创建自定义配置文件,如以下筛选条件一样
/etc/rsyslog.d/10-vcenter.conf
保存:if $rawmsg contains "vpxd" then { action(type="omfile" file="/<LOG_FILE_NAME>") stop } if $rawmsg contains "vcenter-server" then { action(type="omfile" file="/<LOG_FILE_NAME>") stop }
(替换为
<LOG_FILE_NAME>
创建的日志文件的名称。重启 rsyslog。 典型的命令语法为
sudo systemctl restart rsyslog
.
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将列名
"RawData"
替换为列名"Message"
。将 transformKql 值
"source"
替换为值"source | project-rename Message=RawData"
。将
{TABLE_NAME}
DCR 模板中的和{LOCAL_PATH_FILE}
占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。dataCollectionEndpointId 应填充 DCE。 如果没有,请定义一个新值。 有关说明,请参阅 “创建数据收集终结点 ”。
配置安装了 Azure Monitor 代理的计算机以打开 syslog 端口,并将 syslog 守护程序配置为接受来自外部源的消息。 有关用于自动执行此配置的详细说明和脚本,请参阅 配置日志转发器以接受日志。
配置并连接 vCenter 设备。
- 按照 VMware 提供的说明发送 syslog 消息。
- 使用安装了 Azure Monitor 代理的计算机的 IP 地址或主机名。
Zscaler Private Access (ZPA)
按照以下步骤从 Zscaler Private Access 引入日志消息(ZPA):
表名:
ZPA_CL
日志存储位置:在外部 syslog 服务器上创建日志文件。 向 syslog 守护程序授予文件写入权限。 如果尚未安装 AMA,请在外部 syslog 服务器上安装 AMA。 在连接器的 “文件模式 ”字段中输入此文件名和路径,或代替
{LOCAL_PATH_FILE}
DCR 中的占位符。将 syslog 守护程序配置为将其 ZPA 日志消息导出到临时文本文件,以便 AMA 可以收集它们。
在文件夹中为 rsyslog 守护程序
/etc/rsyslog.d/
创建自定义配置文件,并具有以下筛选条件:# Define a new ruleset ruleset(name="<RULESET_NAME>") { action(type="omfile" file="<LOG_FILE_NAME>") } # Set the input on port and bind it to the new ruleset input(type="imudp" port="<PORT>" ruleset="<RULESET_NAME>")
(替换为
<parameters>
所表示对象的实际名称。重启 rsyslog。 典型的命令语法为
systemctl restart rsyslog
.
根据使用 Azure Monitor 代理从文本文件收集日志的说明 创建 DCR,并引入到 Microsoft Sentinel。
将列名
"RawData"
替换为列名"Message"
。将 transformKql 值
"source"
替换为值"source | project-rename Message=RawData"
。将
{TABLE_NAME}
DCR 模板中的和{LOCAL_PATH_FILE}
占位符替换为步骤 1 和步骤 2 中的值。 按指示替换其他占位符。
配置安装了 Azure Monitor 代理的计算机以打开 syslog 端口,并将 syslog 守护程序配置为接受来自外部源的消息。 有关用于自动执行此配置的详细说明和脚本,请参阅 配置日志转发器以接受日志。
配置并连接 ZPA 接收器。
- 按照 ZPA 提供的说明进行操作。 选择 JSON 作为日志模板。
- 选择“设置 > 系统设置 > 控制器配置 > 远程日志记录”并启用 syslog。