在网关事件转发方案中,Azure Monitor 代理每秒可以处理数千个事件。 确切的吞吐量速率取决于各种因素,例如每个事件的大小、特定数据类型和物理硬件资源。
本文介绍用于在网关转发场景中测试代理的吞吐量的 Azure 内部基准,该基准用于处理 10,000(10K)syslog 事件。 基准结果应提供可用于调整环境中所需资源大小的指南。
注释
本文中的结果仅与网关转发方案中 Azure Monitor 代理的性能相关。 本文中的结果和信息并不构成 Azure 的任何服务协议。
将代理用作转发器的最佳做法
- Linux Azure Monitor 代理应达到 10,000 EPS。 可能会出现 20,000 EPS 警告,但这并不意味着数据丢失。 Azure Monitor 代理不保证无丢失连接。 当 EPS 超过 10,000 时,损失的可能性更大。
- Azure Monitor 代理的目标是 5,000 事件/秒 (EPS)。 EPS 可能更高,但不会发生警告或节流。 此阈值是根据 Windows 事件服务中的 5,000 EPS 限制设置的。
- 转发器应位于专用系统上,以消除来自其他工作负载的潜在干扰。
- 应监视转发器系统的 CPU、内存和磁盘利用率,以防止重载导致数据丢失。
- 如果可能,可使用负载均衡器和冗余转发器系统来提高可靠性和可伸缩性。 有关转发器的其他注意事项,请参阅 Log Analytics 网关文档。
代理性能
基准在受控环境中运行,可获取可重复、准确且具有统计学意义的结果。 代理消耗的资源是在每秒 10,000 个模拟 Syslog 事件的负载下测量的。 模拟负载运行在受测代理所在的同一物理硬件上。 测试试用版运行七天。 对于每个试用版,将对性能指标每秒采样一次,以收集 CPU、内存以及网络最大和平均使用量。 此方法可提供正确的信息来帮助估计环境所需的资源。
注释
性能测试结果不会测量 Log Analytics 工作区(或其他遥测接收器)引入的端到端吞吐量。 由于网络和后端管道性能,可能会出现端到端可变性。
基准测试在 Azure 虚拟机Standard_F8s_v2系统上运行。 它使用 Azure Monitor Agent Linux 版本 1.25.2,并用 10 GB 的磁盘空间来存储事件缓存。
- vCPU:8 个,带超线程(可能达到 800% 的 CPU 利用率)
- 内存:16 GiB
- 临时存储:64 GiB
- 每秒最大磁盘输入/输出作数:6,400
- 网络:最大 12,500 Mbps,适用于所有四个物理网络接口卡。
结果
| 性能指标 | 平均(最大)Med |
|---|---|
| CPU % | 51 (262) |
| 内存 RSS MB | 276 (1,017) |
| 网络 KBps | 338 (18,033) |
常见问题解答
获取常见问题的答案。
每个代理发送多少数据?
每个代理发送的数据量取决于:
- 已启用的解决方案
- 所收集的日志和性能计数器的数量
- 日志中的数据量
有关详细信息,请参阅分析 Log Analytics 工作区中的使用情况。
对于能够运行 WireData 代理的计算机,可以使用以下查询了解发送的数据量:
WireData
| where ProcessName == "C:\\Program Files\\Microsoft Monitoring Agent\\Agent\\MonitoringHost.exe"
| where Direction == "Outbound"
| summarize sum(TotalBytes) by Computer
将数据发送到 Azure Monitor 时,Microsoft Monitoring Agent 使用多少网络带宽?
带宽是发送的数据量函数。 通过网络发送数据时会压缩数据。
相关内容
- 在连接没有互联网访问权限的计算机时,使用 Azure Monitor 中的 Log Analytics 网关。
- 在 Windows 和 Linux 虚拟机上安装 Azure Monitor 代理。
- 创建数据收集规则,通过代理收集数据并将其发送给 Azure Monitor。