azure-monitor-ingestion
Microsoft Azure Monitor Ingestion Client Library for Python
What it is and what it does
Azure Monitor Ingestion is a Python client library for sending custom logs to Azure Monitor's Log Analytics workspace via the Logs Ingestion API. It provides both synchronous and asynchronous interfaces for uploading structured data from any source to custom tables or supported built-in tables (CommonSecurityLog, SecurityEvents, Syslog, WindowsEvents). The library handles authentication via Azure credentials and supports schema extension for built-in tables.
The package is built on azure-core and integrates with the broader Azure SDK ecosystem. It requires pre-configured Azure infrastructure—a Data Collection Endpoint, Data Collection Rule, and target Log Analytics workspace—before logs can be uploaded. The library includes error handling for HTTP failures and supports transformation rules defined in your Data Collection Rule to reshape incoming data.
Use it for:
- Ingest security logs (CommonSecurityLog, SecurityEvents) from third-party sources into Azure Monitor for centralized analysis.
- Stream application or system logs from Python services directly to a custom Log Analytics table for monitoring and alerting.
- Upload syslog or Windows event data from remote systems to Azure Monitor using a Python collector agent.
- Send structured telemetry or audit logs from a Python application to Azure Monitor for compliance and diagnostics.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Sends custom logs and structured data to Azure Monitor's Log Analytics workspace using the Logs Ingestion API, supporting both synchronous and asynchronous clients.
Yes. The package is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and low install friction. Install it if you need to send logs from Python to Azure Monitor and have the required Azure infrastructure (Log Analytics workspace, Data Collection Endpoint, Data Collection Rule) already in place. Not suitable if you lack an Azure subscription or prefer a non-cloud logging solution.
Install
azure-monitor-ingestion on PyPI
pip
pip install azure-monitor-ingestionuv
uv add azure-monitor-ingestionpoetry
poetry add azure-monitor-ingestionInstalling azure-monitor-ingestion
Before you install
Low install friction with a pure-Python wheel. Actively maintained as of 2026-08-14 with recent releases. Depends on azure-core, isodate, and typing-extensions—all standard Azure SDK dependencies.
License in practice
MIT License permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice.
Quickstart
pip install azure-monitor-ingestion
from azure.identity import DefaultAzureCredential
from azure.monitor.ingestion import LogsIngestionClient
endpoint = "<DATA_COLLECTION_ENDPOINT>"
credential = DefaultAzureCredential()
client = LogsIngestionClient(endpoint, credential)
client.upload(rule_id="<RULE_ID>", stream_name="<STREAM_NAME>", logs=[{"Time": "2021-12-08T23:51:14.1104269Z", "Computer": "Computer1"}])
Requires Python 3.9 or later; requires Azure subscription, Log Analytics workspace, Data Collection Endpoint, and Data Collection Rule already configured in Azure.
Verify before relying
- Whether the package supports batch uploads or has limits on log payload size.
- Performance characteristics when uploading large volumes of logs.
- Retry and backoff behavior for transient failures.
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — azure-core, isodate, typing-extensions |
| Maintenance | actively maintained — 392 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,834,644/month — #2,869 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: azure_monitor_ingestion-1.1.0-py3-none-any.whl
Keywords: azure, azure sdk
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
azure-monitor-queryExecutes read-only queries against Azure…
permissive · top 5,000 on PyPI
logging-azure-restProvides a Python logging handler that…
permissive · top 5,000 on PyPI
logdnaIntegrates Python's standard logging framework…
permissive · top 15,000 on PyPI
azure-monitor-querymetricsQuery and retrieve numerical metrics data from…
permissive · top 15,000 on PyPI
azure-monitor-events-extensionSends custom events to Azure Application…
permissive · top 15,000 on PyPI
acryl-executorAcryl Executor runs DataHub metadata ingestion…
permissive · top 15,000 on PyPI
azure-loganalyticsProvides a Python client for querying Azure Log…
permissive · top 5,000 on PyPI
azure-kusto-ingestIngest data into Azure Kusto clusters from…
permissive · top 5,000 on PyPI
axiom-pyaxiom-py provides a Python client for ingesting…
permissive · top 5,000 on PyPI
azure-monitor-opentelemetry-exporterExports OpenTelemetry traces, metrics, and logs…
permissive · top 1,000 on PyPI