> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bronto.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Virtual Machines Telemetry

> Choose the right ingestion path for system logs, application logs, and distributed traces from Azure Virtual Machines and VM Scale Sets.

Azure Virtual Machines and VM Scale Sets emit OS / system logs and application log files, and — when your applications are instrumented — distributed traces. Because you control the compute, a collector can run directly on the instance.

## Recommended method

[**Self-Managed OTel Collector**](./azure-otel#self-managed-opentelemetry-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.

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 — see [Collecting Windows OS Logs](./azure-windows-logs).

## Alternatives

* [**Azure Event Hub Forwarder**](./azure-client) — for VM platform / diagnostic logs exported through Azure Monitor diagnostic settings.

See [Ingesting Azure Data into Bronto](./azure-overview) for the full service-to-method mapping.

## References

* [Monitor virtual machines with Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/vm/monitor-virtual-machine)
