skillfed

azure-monitor-ingestion

Microsoft Azure Monitor Ingestion Client Library for Python

azure-monitor-ingestion v1.1.0 2.8M downloads/30d#2,869 on PyPI5,588
Permissive license MIT License Active released

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-ingestion

uv

uv add azure-monitor-ingestion

poetry

poetry add azure-monitor-ingestion

Installing 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

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

Tags

azure monitor logs ingestionsend logs to azure monitorazure log analytics clientcustom logs azureazure ingestion api pythonazure monitor data collection
azure-sdkcloud-logging

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

azure-monitor-query

Executes read-only queries against Azure…

permissive · top 5,000 on PyPI

logging-azure-rest

Provides a Python logging handler that…

permissive · top 5,000 on PyPI

logdna

Integrates Python's standard logging framework…

permissive · top 15,000 on PyPI

azure-monitor-querymetrics

Query and retrieve numerical metrics data from…

permissive · top 15,000 on PyPI

azure-monitor-events-extension

Sends custom events to Azure Application…

permissive · top 15,000 on PyPI

acryl-executor

Acryl Executor runs DataHub metadata ingestion…

permissive · top 15,000 on PyPI

azure-loganalytics

Provides a Python client for querying Azure Log…

permissive · top 5,000 on PyPI

azure-kusto-ingest

Ingest data into Azure Kusto clusters from…

permissive · top 5,000 on PyPI

axiom-py

axiom-py provides a Python client for ingesting…

permissive · top 5,000 on PyPI

azure-monitor-opentelemetry-exporter

Exports OpenTelemetry traces, metrics, and logs…

permissive · top 1,000 on PyPI