使用说明
Azure日志分析MCP服务器(Node.js)
用于Azure日志分析的Node.js MCP服务器,支持Docker和服务主体身份验证。使用官方 @azure/monitor-query-logs Azure SDK for JavaScript的库。
快速开始
Docker(推荐)
- 创建
.env文件:
cp .env.example .env
# Edit .env with your Service Principal credentials
- 使用Docker Compose运行:
docker-compose up --build
地方发展
- 安装依赖项:
npm install
- 设置环境变量:
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"
export AZURE_TENANT_ID="your-tenant-id"
- 运行服务器:
npm start
认证
服务负责人(SPN):
- 集
AZURE_CLIENT_ID,AZURE_CLIENT_SECRET,AZURE_TENANT_ID - 如果未配置SPN,则回退到DefaultAzureCredential
VS代码+副本设置
-
安装扩展:
- GitHub Copilot
- GitHub Copilot 聊天助手
-
设置环境变量:
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"
export AZURE_TENANT_ID="your-tenant-id"
- 在VS代码中打开项目:
code .
- 与Copilot一起使用:
- 打开副驾驶聊天(Ctrl+Shift+I)
- MCP服务器将可用于Azure日志分析查询
- 示例:“查询最后一小时的心跳表”
配置文件
.vscode/settings.json-MCP服务器配置.vscode/launch.json-调试配置mcp-config.json-独立MCP配置
调试与故障排除
启用调试模式:
export DEBUG=true
npm start
测试连接性:
使用 test_connectivity 诊断Azure连接问题的工具:
- 测试身份验证
- 验证工作区访问权限
- 报告详细的错误信息
常见问题:
- 身份验证错误:检查SPN凭据
- 未找到工作区:验证工作区ID
- 网络问题:检查防火墙/代理设置
- 权限错误:确保SPN具有日志分析读取器角色
调试输出:
- 凭据配置详细信息
- 连接测试结果
- 查询执行时间
- 带有代码的详细错误消息
安全查询
可用模板:
failed_logins-用户登录尝试失败privileged_operations-角色管理操作suspicious_locations-高风险登录data_access_audit-Blob存储访问模式admin_activities-行政活动network_security-外部网络连接compliance_changes-政策和合规性变更security_alerts-安全中心警报security_incidents-Sentinel的安全事件malware_detections-Windows Defender恶意软件检测
用途:
# List all security queries
list_security_queries
# Run a specific security query
run_security_query --query_name failed_logins --timespan PT1H
# Query security logs directly
query_security_logs --query "SecurityAlert | take 10"
# Batch query multiple security tables
query_logs_batch --queries '[
{"id": "alerts", "query": "SecurityAlert | take 5"},
{"id": "incidents", "query": "SecurityIncident | take 5"}
]'
新功能
安全日志查询:
- 专用
query_security_logs用于安全查询的工具 - 针对SecurityEvent、SecurityAlert、SecurityIncident、SigninLogs、AuditLogs表进行了优化
- 增强的安全查询模板
批量查询处理:
query_logs_batch同时执行多个查询的工具- 并行执行,单独处理错误
- 带有查询标识符的结构化结果