Recommended method
Self-Managed OTel Collector — install the Collector as a systemd service or Windows service to collect host telemetry and accept application logs, metrics, and traces over OTLP. For VM Scale Sets, bake it into the image or install it through cloud-init or a custom-script extension. For host metrics — CPU, memory, disk, filesystem, and network — add thehostmetrics receiver; see Host metrics with OpenTelemetry.
On Windows VMs, collect Windows Event Log channels (Application, System, Security) with the windowseventlog receiver and file-based logs such as IIS access logs with the filelog receiver. Windows performance counters, IIS, and SQL Server metrics have dedicated receivers — see Collecting Windows OS Logs and Metrics.
Alternatives
- Azure Event Hub Forwarder — for VM platform / diagnostic logs exported through Azure Monitor diagnostic settings.

