开发与工程 ✓ Microsoft · 官方 azure-monitorlog-analyticslogs-ingestion-apipython-sdkdata-collection-rulescustom-logs

Azure Monitor 自定义日志采集

帮助 Python 编码代理通过 Logs Ingestion API 发送自定义日志。

FollowSkills 评估 · FSRS-2.0
谨慎使用
53/ 100 五分制 2.7 / 5
1 2 3 4 5 6
1信任安全17 / 25 · 3.4/5

证据显示优先使用 DefaultAzureCredential、生产环境可限制凭据链,并避免连接字符串及 API 密钥,降低凭据暴露风险;但未说明敏感日志字段处理、上传前用户确认、最小 RBAC 权限、外部数据流和失败后的回滚,且提供了静默忽略错误的示例,因此扣分。

2可靠稳定8 / 20 · 2.0/5

主路径覆盖同步、异步、部分失败和批处理,且有上下文管理器建议;但示例之间不完全一致:前文称本地可直接使用 DefaultAzureCredential,同时使用 require_envvar=True,异步主示例未关闭异步凭据,且未给出参数校验、重试边界或可诊断的异常处理,因此静态评估不超过10并扣分。

3适用触发8 / 15 · 2.7/5

名称、描述、触发词、输入环境变量、同步/异步及主流场景较清楚,也包含主权云示例;但未明确非适用范围、所需 Azure 权限、网络限制、schema 兼容边界或中文使用说明。核心功能依赖 Azure 服务,网络可达性取决于用户环境,未提供大陆网络适配证据。

4规范维护9 / 15 · 3.0/5

具备 YAML 元数据、MIT 许可证、版本号、安装说明、分层参考文件和概念表,结构较易阅读;但缺少变更日志、维护责任人和明确更新路径,参考文件主要是索引/重复内容,且文档中的生命周期示例存在不一致,因此扣分。

5有效结果7 / 15 · 2.3/5

能够直接指导安装客户端、上传日志、读取 JSON、处理部分失败以及使用异步和主权云模式,核心任务基本覆盖;但缺少资源创建/权限配置、DCR schema 验证、敏感数据过滤、生产重试与可观测性验证,代码仍需用户补充配置和审查,按静态校准不超过7。

6证据核验4 / 10 · 2.0/5

技能文件包含具体代码和参数,但没有针对该技能的提交测试套件、真实 CI 覆盖或第三方执行结果;仓库级测试/工作流主要验证通用 harness,不能证明此技能关键路径正确,因此仅给有限可审计证据。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 上传操作会将日志发送到 Azure Monitor;执行前应确认日志不含凭据、个人信息或其他不应外传的数据,并验证 DCR schema 与 RBAC 权限。
  • 不要直接使用“静默忽略错误”示例;应记录失败、定义重试上限,并确认重复上传是否可接受。
  • 检查 DefaultAzureCredential(require_envvar=True) 与本地开发说明是否匹配,并在异步代码中显式关闭 DefaultAzureCredential。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

这是一个面向 Azure Monitor Ingestion SDK for Python 的 Agent Skill,用于将自定义日志发送到 Log Analytics 工作区。它覆盖同步与异步客户端、DefaultAzureCredential 身份验证、数据收集端点(DCE)、数据收集规则(DCR)和流名称配置。Skill 还说明了部分失败处理、重试、批量上传、gzip 压缩、并行上传及 Azure Government 主权云配置。采用前提是已有 Log Analytics 工作区、DCE、DCR 和自定义表。

指导编码代理安装 azure-monitor-ingestion 和 azure-identity,读取 DCE、DCR 规则 ID 与流名称等环境变量,生成 LogsIngestionClient 或异步客户端代码,并调用 upload 发送日志。它还提供从 JSON 文件读取日志、通过 on_error 回调收集失败日志并重试、忽略上传错误、使用 DefaultAzureCredential 或托管身份凭据,以及配置主权云端点和凭据范围的示例。

  1. 负责 Azure 后端的 Python 开发者,需要把应用生成的结构化自定义日志写入 Log Analytics。
  2. 已经配置 DCE、DCR 和自定义表的运维或平台工程师,需要编写日志上传脚本。
  3. 处理大量日志的开发团队,需要使用异步客户端和 SDK 自动批处理、压缩及并行上传。
  4. 需要可靠处理部分上传失败的团队,希望收集失败记录并执行重试。
  5. 面向 Azure Government 部署的团队,需要按主权云端点和凭据范围配置日志采集。

这个 Skill 有哪些优点和局限?

优点
  • 覆盖同步和异步 Python 客户端,并明确资源清理方式。
  • 提供 DefaultAzureCredential、托管身份和 Azure Government 配置指导。
  • 包含部分失败回调、失败日志重试和忽略错误示例。
  • 说明 SDK 会自动将日志拆分为不超过 1MB 的块、gzip 压缩并并行上传。
局限
  • 不能替代 DCE、DCR、Log Analytics 工作区或自定义表的创建与配置。
  • 要求使用者预先准备 DCE、DCR、流名称和匹配的日志模式。
  • Skill 专注于日志写入,没有覆盖 Log Analytics 查询或摄取状态查询的代码。
  • 提供的材料没有给出该单个 Skill 的专属测试结果。

如何安装这个 Skill?

先将技能集合安装到所选 Agent 配置目录:

npx skills add microsoft/skills

在安装向导中选择 azure-monitor-ingestion-py。运行 Python 示例前,再安装 SDK 依赖:

pip install azure-monitor-ingestion
pip install azure-identity

源码没有说明特定 Agent 的手工安装目标目录以外的额外步骤。

如何使用这个 Skill?

可用触发词包括 “azure-monitor-ingestion”、“LogsIngestionClient”、“custom logs”、“DCR” 和 “Log Analytics”。例如:

“请使用 azure-monitor-ingestion 为 Python 服务编写向 Log Analytics 上传自定义日志的代码,采用 DefaultAzureCredential、上下文管理器和失败重试。”

使用前需设置 AZURE_DCE_ENDPOINT、AZURE_DCR_RULE_ID 和 AZURE_DCR_STREAM_NAME;若生产环境使用 DefaultAzureCredential,还需设置 AZURE_TOKEN_CREDENTIALS=prod 或指定凭据。日志字段必须符合 DCR 模式,并包含 TimeGenerated。

常见问题

这个 Skill 会自动创建 DCE、DCR 或自定义表吗?
不会。材料将这些列为使用 SDK 前的前提条件,Skill 只指导通过 Logs Ingestion API 上传日志。
上传失败时会发生什么?
可以传入 on_error 回调处理部分失败;示例会收集 failed_logs,并再次调用 upload 重试。也可以提供空回调忽略错误。
生产环境应使用哪种身份验证?
优先使用 DefaultAzureCredential;生产环境可设置 AZURE_TOKEN_CREDENTIALS=prod,或直接使用 ManagedIdentityCredential 等具体凭据。
大批量日志是否需要手动分批?
SDK 会自动按不超过 1MB 的块拆分、gzip 压缩并并行上传,但材料仍建议发送合理大小的批次。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Monitor Java 日志摄取

帮助 Java 应用通过 DCR 将自定义日志发送到 Azure Monitor。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Java 技能

用 Java 查询 Azure Monitor 日志与资源指标。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure 机器学习 Python SDK 技能

为 Python 编码代理提供 Azure Machine Learning 资源管理与训练工作流指导。

数据与分析 ✓ Microsoft · 官方

KQL 查询精通

帮助编码代理编写高效、可靠且更少出错的 KQL 查询。

开发与工程 ✓ Microsoft · 官方

Azure API Center Python 管理技能

用 Python 管理 Azure API 清单、元数据与治理。

数据与分析 ✓ Microsoft · 官方

Azure Data Explorer Kusto 分析技能

用 KQL 查询、聚合并分析 Azure Data Explorer 中的日志与遥测数据。

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure AI 内容安全 Python 技能

帮助 Python 应用检测文本和图像中的有害内容,并管理自定义屏蔽词。

开发与工程 ✓ Microsoft · 官方

Azure 应用配置 Python 技能

为 Python 应用集中管理配置、功能标志和动态设置。

开发与工程 ✓ Microsoft · 官方

Azure 容器注册表 Python 技能

用 Python 管理 Azure 容器镜像、制品与仓库。

开发与工程 ✓ Microsoft · 官方

Azure 对话语言理解 Python 技能

帮助 Python 开发者使用 Azure SDK 分析对话意图和实体。

开发与工程 ✓ Microsoft · 官方

Azure 文档翻译 Python 技能

帮助 Python 开发者批量翻译 Azure Blob Storage 中的文档,同时保留原始格式。

相关 Skills