Token导航 LogoToken导航TokenDH.com
研究检索external-serviceclawhub未标认证来源可访问clear审计提醒

yuyonghao-observability余永浩可观测性

Agent Skill

yuyonghao-observability 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,533

周安装

187

GitHub Stars

公开资料未说明

下载量

1,481
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:yuyonghao-observability(余永浩可观测性)
来源仓库:https://github.com/yuyonghao-123/yuyonghao-observability
安装命令:
openclaw skills install yuyonghao-observability
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install yuyonghao-observability

简介

提供完整的 AI 代理可观测性解决方案,具有结构化日志、指标、分布式跟踪、警报管理和实时监控仪表板。

SKILL.md

Observability - 可观测性系统

一个完整的 AI Agent 可观测性解决方案,提供结构化日志、性能指标、分布式追踪、告警管理和实时监控面板。

版本

  • 当前版本: 0.2.0
  • Node.js 要求: >= 18.0.0
  • 作者: 小蒲萄 (Clawd)

功能特性

核心组件

  1. StructuredLogger - 结构化日志系统

- JSON 格式日志 - 多级别日志(error/warn/info/debug) - 自动日志轮转 - 上下文追踪(traceId/spanId)

  1. MetricsCollector - 指标收集器

- Counter(计数器) - Gauge(仪表) - Histogram(直方图) - Prometheus 格式导出 - 自动聚合和百分位数计算

  1. Tracer - 分布式追踪

- Trace/Span 管理 - 链路追踪 - 采样率控制 - 父子关系追踪

  1. AlertManager - 告警管理

- 阈值告警(支持 Counter/Gauge/Histogram) - 规则引擎(gt/lt/eq/gte/lte) - 多渠道通知(Console/File/Webhook) - 告警抑制和恢复 - 告警历史记录

  1. Dashboard - 监控面板

- 实时指标展示 - 多 Tab 视图(概览/LLM/MCP/A2A/告警/日志) - 自动刷新 - RESTful API

OpenClaw 集成

  • LLM 调用监控: Token 消耗、延迟、错误率、成本估算
  • MCP 工具监控: 工具调用统计、执行时间、成功率
  • A2A 通信监控: 消息延迟、成功率、会话管理

安装

# 进入技能目录
cd skills/observability

# 安装依赖
npm install

# 运行测试
npm test

# 启动 Dashboard
npm start

快速开始

基础用法

const { ObservabilitySystem } = require('./src/index');

// 创建可观测性系统
const obs = new ObservabilitySystem({
  logging: {
    level: 'info',
    console: true,
    file: true
  },
  metrics: {
    enabled: true,
    prefix: 'agent'
  },
  alerts: {
    enabled: true,
    createDefaultRules: true
  }
});

// 开始追踪
const trace = obs.startTrace('agent.execute', { query: 'test' });

// 执行业务逻辑...
const result = await doSomething();

// 结束追踪
trace.end({ result: 'success' });

// 获取系统状态
const status = obs.getStatus();
console.log(status);

包装函数自动追踪

const wrappedFunction = obs.wrap(async (data) => {
  // 你的业务逻辑
  return await processData(data);
}, 'processData');

// 调用会自动追踪
const result = await wrappedFunction(input);

添加告警规则

// 添加自定义告警规则
obs.addAlertRule({
  name: 'High Latency Alert',
  description: 'Triggered when latency exceeds threshold',
  metric: 'agent.calls.latency',
  metricType: 'histogram',
  condition: 'gt',
  threshold: 1000,
  severity: 'warning',
  channels: ['console', 'file'],
  cooldown: 60000  // 1分钟冷却
});

// 手动触发告警
obs.fireAlert('rule-id', 1500, 'Latency is too high');

LLM 监控

// 记录 LLM 调用
const call = obs.startLLMCall('session-1', 'gpt-4', { temperature: 0.7 });

// 调用 LLM...
const response = await llm.chat(...);

// 结束记录
call.end({
  usage: {
    prompt_tokens: 100,
    completion_tokens: 50,
    total_tokens: 150
  }
});

// 获取 LLM 统计
const llmStats = obs.getStatus().llm;
console.log(`Total tokens: ${llmStats.totalTokens}`);
console.log(`Total cost: $${llmStats.totalCost.toFixed(4)}`);

MCP 工具监控

// 记录 MCP 工具调用
const call = obs.startMCPCall('filesystem', 'readFile', { path: '/test.txt' });

// 执行工具...
const result = await mcpTool.execute(...);

// 结束记录
call.end(result);

// 获取 MCP 统计
const mcpStats = obs.getStatus().mcp;
console.log(`Success rate: ${mcpStats.overallSuccessRate.toFixed(1)}%`);

A2A 通信监控

// 记录 A2A 消息
const msg = obs.sendA2AMessage({
  id: 'msg-1',
  type: 'request',
  from: 'agent-a',
  to: 'agent-b',
  sessionId: 'session-1',
  payload: { ... }
});

// 接收响应
obs.a2aMonitor.receiveResponse(msg.messageId, msg, response);

// 记录事件
obs.recordA2AEvent({
  type: 'notification',
  from: 'agent-a',
  payload: { ... }
});

Dashboard

启动 Dashboard 服务器:

npm start
# 或
node src/dashboard.js

访问 http://localhost:3001 查看监控面板。

API 端点

端点方法描述
/GETDashboard UI
/api/statusGET系统状态(包含所有模块统计)
/api/metricsGET指标数据(JSON)
/api/logsGET最近日志
/api/prometheusGETPrometheus 格式指标
/api/alertsGET告警历史

配置选项

{
  // 日志配置
  logging: {
    level: 'info',        // debug/info/warn/error
    console: true,        // 输出到控制台
    file: true,           // 输出到文件
    logDir: './logs',     // 日志目录
    elasticsearch: false  // 输出到 ES(待实现)
  },
  
  // 指标配置
  metrics: {
    enabled: true,        // 启用指标
    prefix: 'agent',      // 指标前缀
    autoReport: false,    // 自动报告
    reportInterval: 60000 // 报告间隔(毫秒)
  },
  
  // 追踪配置
  tracing: {
    enabled: true,        // 启用追踪
    sampleRate: 1.0,      // 采样率(0-1)
    maxTraces: 1000       // 最大追踪数
  },
  
  // 告警配置
  alerts: {
    enabled: true,              // 启用告警
    checkInterval: 30000,       // 检查间隔(毫秒)
    createDefaultRules: true,   // 创建默认规则
    maxHistory: 1000            // 最大历史记录数
  },
  
  // LLM 监控配置
  llm: {
    enabled: true         // 启用 LLM 监控
  },
  
  // MCP 监控配置
  mcp: {
    enabled: true         // 启用 MCP 监控
  },
  
  // A2A 监控配置
  a2a: {
    enabled: true         // 启用 A2A 监控
  }
}

项目结构

skills/observability/
├── src/
│   ├── index.js           # 主入口
│   ├── logger.js          # 结构化日志
│   ├── metrics.js         # 指标收集
│   ├── tracer.js          # 分布式追踪
│   ├── alert-manager.js   # 告警管理
│   ├── llm-monitor.js     # LLM 监控
│   ├── mcp-monitor.js     # MCP 监控
│   ├── a2a-monitor.js     # A2A 监控
│   └── dashboard.js       # 监控面板
├── test/
│   └── observability.test.js  # 测试套件
├── logs/                  # 日志目录
├── package.json
└── SKILL.md

测试

运行完整测试套件:

npm test

测试覆盖率:

  • Logger: ~95%
  • MetricsCollector: ~95%
  • Tracer: ~90%
  • AlertManager: ~90%
  • LLMMonitor: ~90%
  • MCPToolsMonitor: ~90%
  • A2AMonitor: ~90%
  • ObservabilitySystem: ~95%

总体覆盖率: >90%

默认告警规则

系统预置以下告警规则:

  1. High Latency Alert - 平均延迟超过 1000ms
  2. High Error Rate - 错误次数超过 10
  3. High Token Usage - Token 使用量超过 10000
  4. MCP Tool Errors - MCP 工具错误超过 5

性能指标

日志性能

  • 异步写入,不影响主流程
  • 自动轮转,单文件最大 10MB
  • 保留最近 5 个日志文件

指标性能

  • 内存存储,纳秒级操作
  • 自动清理过期追踪
  • 可配置的采样率

Dashboard 性能

  • 支持 1000+ 并发连接
  • 5 秒自动刷新
  • 响应式 UI 设计

扩展开发

自定义通知渠道

class AlertManager {
  constructor() {
    this.notificationHandlers = {
      console: this._notifyConsole.bind(this),
      file: this._notifyFile.bind(this),
      webhook: this._notifyWebhook.bind(this),
      custom: this._notifyCustom.bind(this)  // 添加自定义处理器
    };
  }

  _notifyCustom(alert, rule) {
    // 实现自定义通知逻辑
    sendToSlack(alert.message);
  }
}

自定义指标导出

// 导出到 InfluxDB
metrics.onReport((metricsData) => {
  influxDB.writePoints([
    {
      measurement: 'agent_metrics',
      fields: metricsData,
      timestamp: Date.now()
    }
  ]);
});

许可证

MIT License

作者

小蒲萄 (Clawd) - OpenClaw 项目

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.84%
按下载量换算1,197

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

可疑

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills