在 Azure Monitor 中使用适用于 Linux 的 Log Analytics 代理收集自定义 JSON 数据源
注意
从 Microsoft Operations Management Suite 过渡到 Azure Monitor 期间,Windows 或 Linux 的 Operations Management Suite 代理称为 Windows 或 Linux 的 Log Analytics 代理。
可以使用适用于 Linux 的 Log Analytics 代理将自定义 JSON 数据源收集到 Azure Monitor 中。 这些自定义数据源可以是返回 JSON 的简单脚本,例如 curl 或 FluentD 的 300 多个插件之一。 本文介绍此数据收集所需的配置。
注意
Linux v1.1.0-217+ 的 Log Analytics 代理是自定义 JSON 数据所必需的。 此收集流仅适用于 MMA。 考虑转移到 AMA 代理并使用那里提供的其他收集功能
配置
配置输入插件
要在 Azure Monitor 中收集 JSON 数据,请将 oms.api.
添加到输入插件中 FluentD 标记的起始位置。
例如,下面是 /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.d/
中一个单独的配置文件 exec-json.conf
。 此配置文件使用 FluentD 插件 exec
每隔 30 秒运行一个 curl 命令。 此命令的输出由 JSON 输出插件收集。
<source>
type exec
command 'curl localhost/json.output'
format json
tag oms.api.httpresponse
run_interval 30s
</source>
<match oms.api.httpresponse>
type out_oms_api
log_level info
buffer_chunk_limit 5m
buffer_type file
buffer_path /var/opt/microsoft/omsagent/<workspace id>/state/out_oms_api_httpresponse*.buffer
buffer_queue_limit 10
flush_interval 20s
retry_limit 10
retry_wait 30s
</match>
在 /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.d/
下添加的配置文件需要使用以下命令更改其所有权。
sudo chown omsagent:omiusers /etc/opt/microsoft/omsagent/conf/omsagent.d/exec-json.conf
配置输出插件
将下面的输出插件配置添加到 /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.conf
中的主配置,或者作为单独的配置文件放置在 /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.d/
中
<match oms.api.**>
type out_oms_api
log_level info
buffer_chunk_limit 5m
buffer_type file
buffer_path /var/opt/microsoft/omsagent/<workspace id>/state/out_oms_api*.buffer
buffer_queue_limit 10
flush_interval 20s
retry_limit 10
retry_wait 30s
</match>
重新启动 Log Analytics Linux 代理
使用以下命令重启 Log Analytics Linux 代理服务。
sudo /opt/microsoft/omsagent/bin/service_control restart
输出
数据将以记录类型 <FLUENTD_TAG>_CL
收集到 Azure Monitor 中。
例如,Azure Monitor 中具有 tomcat_CL
记录类型的自定义标记 tag oms.api.tomcat
。 可以使用以下日志查询检索此类型的所有记录。
Type=tomcat_CL
支持嵌套 JSON 数据源,但基于父字段编制索引。 例如,下面的 JSON 数据是以 tag_s : "[{ "a":"1", "b":"2" }]
的形式从日志查询返回的。
{
"tag": [{
"a":"1",
"b":"2"
}]
}
后续步骤
- 了解日志查询以便分析从数据源和解决方案中收集的数据。