azure-monitor-ingestion
Microsoft Azure Monitor Ingestion Client Library for Python
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; requires Azure subscription, Log Analytics workspace, Data Collection Endpoint, and Data Collection Rule already configured in Azure.
- Low install friction with a pure-Python wheel.
- Actively maintained as of 2026-08-14 with recent releases.
License · maintenance · safety
MIT License (permissive) — MIT License permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice.
last release 2025-07-18 (392 days) · last repo commit 2026-08-14 · 5,588 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,834,644 downloads/mo, #2,869 on PyPI
Alternatives
Verify before relying
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"}])- 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.
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 on it.
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
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.
Requires Python 3.9 or later; requires Azure subscription, Log Analytics workspace, Data Collection Endpoint, and Data Collection Rule already configured in Azure.
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"}])
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 packagesazure-coreisodatetyping-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 |
| Classifiers | Development Status :: 5 - Production/StableLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: azure_monitor_ingestion-1.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “azure monitor logs ingestion”
- azure-monitor-ingestionSends custom logs and structured data to Azure Monitor's Log…
- azure-mgmt-monitorProvides programmatic access to Azure Monitor resources—alerts,…
- azure-monitor-queryExecutes read-only queries against Azure Monitor's Logs data platform…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also azure-monitor-query · logging-azure-rest · logdna · azure-monitor-querymetrics · azure-monitor-events-extension · acryl-executor · azure-loganalytics · azure-kusto-ingest · axiom-py · azure-monitor-opentelemetry-exporter