在包含 Log Analytics 代理的 Azure Monitor 中的 Linux 代理上通过 CollectD 收集数据
CollectD 是一个开源 Linux 守护程序,它定期从应用程序级和系统级信息中收集性能指标。 示例应用程序包括 Java 虚拟机 (JVM)、MySQL Server 和 Nginx。 本文介绍了如何使用 Log Analytics 代理在 Azure Monitor 的 CollectD 中收集性能数据。
重要
自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Azure 将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理。
可以在插件表中找到可用插件的完整列表。
适用于 Linux 的 Log Analytics 代理中包括了以下 CollectD 配置,用以将 CollectD 数据路由到适用于 Linux 的 Log Analytics 代理。
注意
从 Microsoft Operations Management Suite 过渡到 Azure Monitor 期间,Windows 或 Linux 的 Operations Management Suite 代理称为 Windows 或 Linux 的 Log Analytics 代理。
LoadPlugin write_http
<Plugin write_http>
<Node "oms">
URL "127.0.0.1:26000/oms.collectd"
Format "JSON"
StoreRates true
</Node>
</Plugin>
此外,如果使用的是 5.5 之前的某个 collectD 版本,请改用以下配置。
LoadPlugin write_http
<Plugin write_http>
<URL "127.0.0.1:26000/oms.collectd">
Format "JSON"
StoreRates true
</URL>
</Plugin>
CollectD 配置使用默认的 write_http
插件通过端口 26000 将性能指标数据发送到 Log Analytics Linux 代理。
注意
如果需要,可以将此端口配置为一个自定义的端口。
适用于 Linux 的 Log Analytics 代理也在端口 26000 上侦听 CollectD 指标,然后将其转换为 Azure Monitor 架构指标。 下面是适用于 Linux 的 Log Analytics 代理配置 collectd.conf
。
<source>
type http
port 26000
bind 127.0.0.1
</source>
<filter oms.collectd>
type filter_collectd
</filter>
注意
默认情况下,CollectD 设置为以 10 秒的间隔读取值。 由于这会直接影响发送到 Azure Monitor 日志的数据量,因此你可能需要在 CollectD 配置中调整此时间间隔,以便在监视要求与 Azure Monitor 日志的相关成本和使用量之间取得良好的平衡。
支持的版本
- Azure Monitor 当前支持 CollectD 4.8 版及更高版本。
- 要收集 CollectD 指标,需要 Log Analytics Linux 代理 v1.1.0-217 或更高版本。
配置
下面是在 Azure Monitor 中配置 CollectD 数据收集的基本步骤。
- 将 CollectD 配置为使用 write_http 插件将数据发送到 Log Analytics Linux 代理。
- 将 Log Analytics Linux 代理配置为在相应的端口上侦听 CollectD 数据。
- 重新启动 CollectD 和 Log Analytics Linux 代理。
配置 CollectD 来转发数据
要将 CollectD 数据路由到 Log Analytics Linux 代理,需要将
oms.conf
添加到 CollectD 的配置目录中。 此文件的目的地取决于计算机的 Linux 发行版。如果 CollectD 配置目录位于 /etc/collectd.d/ 中:
sudo cp /etc/opt/microsoft/omsagent/sysconf/omsagent.d/oms.conf /etc/collectd.d/oms.conf
如果 CollectD 配置目录位于 /etc/collectd/collectd.conf.d/ 中:
sudo cp /etc/opt/microsoft/omsagent/sysconf/omsagent.d/oms.conf /etc/collectd/collectd.conf.d/oms.conf
注意
对于 5.5 之前的 CollectD 版本,必须如上所示修改
oms.conf
中的标记。将 collectd.conf 复制到所需工作区的 omsagent 配置目录中。
sudo cp /etc/opt/microsoft/omsagent/sysconf/omsagent.d/collectd.conf /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.d/ sudo chown omsagent:omiusers /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.d/collectd.conf
使用以下命令重新启动 CollectD 和 Log Analytics Linux 代理。
sudo service collectd restart sudo /opt/microsoft/omsagent/bin/service_control restart
CollectD 指标到 Azure Monitor 架构的转换
为了在 Log Analytics Linux 代理已收集的基础结构指标与 CollectD 收集的新指标之间维护一个熟悉的模型,将使用以下架构映射:
CollectD 指标字段 | Azure Monitor 字段 |
---|---|
host |
Computer |
plugin |
无 |
plugin_instance |
Instance Name 如果 plugin_instance 为 null,则 InstanceName="_Total" |
type |
ObjectName |
type_instance |
CounterName 如果 type_instance 为 null,则 CounterName=空白 |
dsnames[] |
CounterName |
dstypes |
无 |
values[] |
CounterValue |