数据异常监测工具

AnomalyArmor Agents是一个数据可观测性平台,用于监控数据质量、检测模式漂移和管理警报,可直接从Claude Code、Cursor或任何MCP兼容的AI工具中使用。

  • by anomalyarmor
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 anomalyarmor/agents

使用说明

AnomalyArmor代理

人工智能技能和MCP服务器,用于AnomalyArmor数据的可观察性。监控数据质量,检测模式漂移,并直接从Claude Code、Cursor或任何兼容MCP的AI工具管理警报。

版本: 0.6.0 | 工具:52个整合的MCP工具| 技能:14个斜线命令

快速开始

选项1:克劳德代码插件(推荐)

# Install the plugin
claude plugin marketplace add anomalyarmor/agents
claude plugin install armor@anomalyarmor

# Or via skills.sh
npx skills add anomalyarmor/agents

然后使用以下技能:

  • /armor:status -检查数据运行状况
  • /armor:alerts -查看和管理警报
  • /armor:recommend -获取AI监控建议
  • /armor:ask -询问有关数据的问题

选项2:MCP服务器

添加到您的MCP配置中(克劳德代码、游标等):

{
  "mcpServers": {
    "armor": {
      "command": "uvx",
      "args": ["armor-mcp"]
    }
  }
}

先决条件

  1. 异常账户:注册地址: 异常mor.ai
  2. API密钥:在“设置”>“API密钥”生成
  3. 配置:设置 ARMOR_API_KEY env var或create ~/.armor/config.yaml:
api_key: aa_live_your_key_here

可用技能

技能 描述 示例
/armor:start 引导新用户入职 “帮助我设置”
/armor:status 所有资产的运行状况摘要 “我的数据是否健康?”
/armor:connect 连接新的数据源 “连接我的雪花仓库”
/armor:monitor 设置新鲜度和模式监控 “监控订单表的新鲜度”
/armor:alerts 查询和管理警报 “昨天触发了哪些警报?”
/armor:ask 关于数据的自然语言问答 “哪些表包含客户数据?”
/armor:analyze 触发AI分析 “分析财务模式”
/armor:quality 数据质量指标和有效性规则 “为customer_id添加空检查”
/armor:coverage 监控覆盖率分析 “哪些表没有监控?”
/armor:recommend 人工智能驱动的监控建议 “我应该监控什么?”
/armor:tags 资产标记和分类 “将此表标记为PII”
/armor:investigate 根本原因分析 “为什么此表过时?”
/armor:lineage 数据沿袭探索 “什么取决于此表?”
/armor:profile 表分析和统计 “分析订单表”

MCP工具(29个合并)

工具遵循统一的模式:每个域一个工具通过 action 参数,在保持完整功能的同时减少上下文窗口的使用。

健康与简报

  • health_summary() -所有资产的整体数据健康状况
  • get_todays_briefing() -每日人工智能简报,包括警报、新鲜度和覆盖范围差距

警报(5个工具)

  • get_alerts_summary() -按严重性和状态列出的警报计数
  • list_alerts(status, severity, asset_id, from_date, to_date) -使用筛选器查询警报
  • list_inbox_alerts(status, limit) -未解决的警报收件箱
  • update_alert(alert_id, action, ...) -确认、解决、暂停或评论警报
  • get_alert_trends(period) -警报随时间变化的趋势
  • get_alert_history(alert_id) -特定警报的完整历史记录

警报规则(3个工具)

  • list_alert_rules(asset_id, is_active) -列出已配置的规则
  • create_alert_rule(asset_id, rule_type, ...) -创建新的警报规则
  • manage_alert_rule(rule_id, action, ...) -更新、删除、启用/禁用或复制规则

资产(3个工具)

  • list_assets(source, asset_type, search) -列出监控资产
  • create_asset(name, source_type, connection_config) -创建数据源
  • manage_asset(asset_id, action, ...) -更新、删除、测试连接或触发器发现
  • trigger_asset_discovery(asset_id) -启动架构发现

新鲜度(4个工具)

  • get_freshness_summary() -所有资产的新鲜度概述
  • check_freshness(asset_id, table_path) -检查特定餐桌的新鲜度
  • setup_freshness(asset_id, table_path, check_interval, ...) -创建新鲜度计划
  • list_freshness_schedules(asset_id) -列出已配置的计划
  • manage_freshness_schedule(schedule_id, action, ...) -更新、删除、暂停/恢复计划

模式漂移(5个工具)

  • get_schema_summary() -模式漂移概述
  • list_schema_changes(asset_id, severity, from_date, to_date) -列出检测到的更改
  • create_schema_baseline(asset_id, description) -创建基线
  • enable_schema_monitoring(asset_id, schedule_type, notify_on) -启用监控
  • disable_schema_monitoring(asset_id) -禁用监控
  • get_schema_monitoring(asset_id) -查看当前监控配置
  • dry_run_schema(asset_id, schedule_type) -启用前测试架构监控

数据质量(4个工具)

  • get_metrics_summary(asset_id) / list_metrics(asset_id) -查看指标
  • create_metric(asset_id, metric_type, table_path, ...) -创建行数、空率或自定义指标
  • manage_metric(metric_id, action, ...) -更新、删除、捕获或查看快照
  • get_validity_summary(asset_id) / list_validity_rules(asset_id) -查看有效性规则
  • create_validity_rule(asset_id, rule_type, table_path, ...) -创建有效性规则
  • manage_validity_rule(rule_id, action, ...) -更新、删除、检查或查看结果

参考完整性(2个工具)

  • create_referential_check(asset_id, ...) -创建跨表参照检查
  • manage_referential(check_id, action, ...) -列出、删除、运行或查看结果

目的地(4个工具)

  • list_destinations(destination_type) -列出警报目的地(Slack、电子邮件、webhook)
  • setup_destination(destination_type, ...) -创建Slack频道、电子邮件或webhook目标
  • manage_destination(destination_id, action, ...) -更新、删除、测试、启用/禁用
  • manage_rule_destinations(rule_id, action, ...) -将目的地链接/取消链接到警报规则

覆盖范围和建议(3个工具)

  • get_coverage(asset_id) -资产的覆盖级别和得分
  • manage_coverage(asset_id, action) -获取后续步骤或应用推荐的监控
  • recommend(asset_id, recommendation_type) -人工智能对新鲜度、指标、覆盖率或阈值的建议

情报(2个工具)

  • ask_question(asset, question) -自然语言问答
  • generate_intelligence(asset) -触发人工智能知识库生成

目录(4个工具)

  • get_lineage(asset_id, depth, direction) -数据沿袭图
  • job_status(job_id) -检查异步作业状态
  • create_tag(asset_id, name, object_path, ...) -创建和分配标签
  • list_tags(asset_id) / apply_tags(asset_id, ...) -列出并应用标签

API密钥

  • get_api_key_info() -查看当前API密钥详细信息和权限

示例

检查数据运行状况

User: Is my data healthy?

Your data health status:
- Overall: WARNING
- 3 unresolved alerts (1 critical, 2 warning)
- 2 stale tables (orders, customers)
- 1 unacknowledged schema change
- Coverage: 65% (Tier 2: Protected)

获取人工智能建议

User: What should I monitor on my Snowflake warehouse?

Based on your table patterns and update frequency:
1. orders (high traffic) - Add freshness check (hourly), row count metric
2. customers (PII) - Enable schema drift monitoring, add null checks
3. payments (financial) - Add freshness + row count + validity rules

Want me to set these up? I can configure all three in one go.

每日简报

User: What happened overnight?

Your daily briefing:
- 2 new alerts: orders table stale (6h), schema change in users
- Coverage improved: finance schema now at Tier 3 (Verified)
- Recommendation: 4 tables still have no monitoring. Run /armor:recommend.

根本原因分析

User: Why is the orders table stale?

Investigation results:
- Last update: 6 hours ago (expected: hourly)
- Upstream dependency: raw_orders was last updated 8 hours ago
- Likely cause: upstream ETL job failed or delayed
- Impact: 3 downstream dashboards affected

故障排除

认证失败

Error: No API key configured

解决方案:设置 ARMOR_API_KEY 环境变量或创建 ~/.armor/config.yaml

未找到MCP服务器

Error: MCP server 'armor' not found

解决方案:

  1. 配置更改后重新启动AI工具
  2. 验证是否安装了uvx: uvx --version
  3. 检查MCP配置语法

技能未加载

解决方案:

  1. 验证插件是否已安装: claude plugin list
  2. 检查技能目录是否存在
  3. 重新启动Claude代码

发展

看 代理商.md 发展指南。

支持

许可证

MIT许可证-请参阅 许可证