返回顶部
l

log-dive日志深潜

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.3
安全检测
已通过
770
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

log-dive

技能名称:log-dive
详细描述:

Log Dive — 统一日志搜索 🤿

从单一界面跨 LokiElasticsearch/OpenSearchAWS CloudWatch 搜索日志。使用自然语言提问;该技能会将其转换为正确的查询语言。

⚠️ 敏感数据警告: 日志中经常包含个人身份信息(PII)、密钥、令牌、密码及其他敏感数据。切勿在当前对话之外缓存、存储或重复原始日志内容。将所有日志输出视为机密信息。

激活条件

当用户提及以下内容时,此技能将被激活:

  • - 搜索日志、在日志中查找、日志搜索、检查日志
  • Loki、LogQL、logcli
  • Elasticsearch 日志、Kibana、OpenSearch
  • CloudWatch 日志、AWS 日志、日志组
  • 错误日志、查找错误、[服务]发生了什么
  • 追踪日志、实时日志
  • 日志后端、哪些日志源、日志索引、日志标签
  • 涉及日志分析的事件排查
  • 明确提及 log-dive

权限

yaml
permissions:
exec: true # 需要运行后端脚本
read: true # 读取脚本文件
write: false # 从不写入文件——日志可能包含密钥
network: true # 查询远程日志后端

示例提示

  1. 1. 查找过去30分钟内结账服务的错误日志
  2. 搜索所有服务中的超时异常
  3. 我配置了哪些日志后端?
  4. 列出 Elasticsearch 中可用的日志索引
  5. 显示 Loki 中可用的标签
  6. 实时追踪 payment-service 日志
  7. 在 CloudWatch 中查找 api-gateway 的所有5xx错误
  8. 关联 user-service 和 payment-service 之间的错误
  9. 今天下午2点到3点生产环境发生了什么?

后端配置

每个后端都使用环境变量。用户可以配置其中一个、两个或全部三个。

Loki
变量必需描述
LOKIADDRLoki 服务器 URL(例如 http://loki.internal:3100)
LOKITOKEN
否 | 用于身份验证的 Bearer 令牌 |

| LOKITENANTID | 否 | 多租户头(X-Scope-OrgID) |

Elasticsearch / OpenSearch
变量必需描述
ELASTICSEARCHURL基础 URL(例如 https://es.internal:9200)
ELASTICSEARCHTOKEN
否 | 用于身份验证的 Basic 或 Bearer |

AWS CloudWatch 日志
变量必需描述
AWSPROFILE 或 AWSACCESSKEYID标准 AWS 凭证
AWS_REGION
是 | CloudWatch 的 AWS 区域 |

代理工作流程

请遵循以下顺序:

第1步:检查后端

运行后端检查以查看已配置的内容:

bash
bash /scripts/log-dive.sh backends

解析 JSON 输出。如果未配置任何后端,请告知用户需要设置哪些环境变量。

第2步:翻译用户的查询

这是关键步骤。将用户的自然语言请求转换为相应的后端特定查询。请参考下面的查询语言参考。

对于所有后端,通过调度器传递查询:

bash

在所有配置的后端中搜索


bash /scripts/log-dive.sh search --query [OPTIONS]

搜索特定后端

bash /scripts/log-dive.sh search --backend loki --query {app=checkout} |= error --since 30m --limit 200

bash /scripts/log-dive.sh search --backend elasticsearch --query {query:{bool:{must:[{match:{message:error}},{match:{service:checkout}}]}}} --index app-logs-* --since 30m --limit 200

bash /scripts/log-dive.sh search --backend cloudwatch --query ERROR checkout --log-group /ecs/checkout-service --since 30m --limit 200

第3步:列出可用目标

在搜索之前,您可能需要发现可用的内容:

bash

Loki:列出标签和标签值


bash /scripts/log-dive.sh labels --backend loki
bash /scripts/log-dive.sh labels --backend loki --label app

Elasticsearch:列出索引

bash /scripts/log-dive.sh indices --backend elasticsearch

CloudWatch:列出日志组

bash /scripts/log-dive.sh indices --backend cloudwatch

第4步:实时追踪日志

bash
bash /scripts/log-dive.sh tail --backend loki --query {app=checkout}
bash /scripts/log-dive.sh tail --backend cloudwatch --log-group /ecs/checkout-service

追踪运行有限时间(默认30秒)并流式传输结果。

第5步:分析结果

收到日志输出后,您必须:

  1. 1. 识别独特的错误类型 — 对相似错误进行分组,统计出现次数
  2. 查找根本原因 — 寻找最早出现的错误,追踪依赖链
  3. 跨服务关联 — 如果服务A中的错误提到了服务B,请记录依赖关系
  4. 构建时间线 — 按时间顺序排列事件
  5. 提供可操作的总结 — 结账服务在14:23开始返回500错误,因为数据库连接池耗尽(最大10个连接,10个正在使用)。连接池耗尽是由库存服务中的慢查询触发的。

切勿向用户转储原始日志输出。 始终进行总结、提取模式并呈现结构化发现。

Discord v2 交付模式(OpenClaw v2026.2.14+)

当对话发生在 Discord 频道中时:

  • - 首先发送一个紧凑的事件摘要(后端、查询意图、主要错误类型、根本原因假设),然后询问用户是否需要完整详情。
  • 保持首次回复在约1200字符以内,避免在第一条消息中转储原始日志行。
  • 如果 Discord 组件可用,请包含快速操作:
- 显示错误时间线 - 显示主要错误模式 - 运行相关服务查询
  • - 如果组件不可用,请以编号列表形式提供相同的后续操作。
  • 在分享时间线或分组发现时,优先使用简短的后续块(每条消息<=15行)。

查询语言参考

LogQL (Loki)

LogQL 包含两部分:流选择器和过滤管道。

流选择器:

{app=myapp} # 精确匹配
{namespace=prod, app=~api-.*} # 正则匹配
{app!=debug} # 否定匹配

过滤管道(在选择器后链接):

{app=myapp} |= error # 行包含 error
{app=myapp} != healthcheck # 行不包含
{app=myapp} |~ error|warn # 行上的正则匹配
{app=myapp} !~ DEBUG|TRACE # 否定正则

结构化元数据(解析后的日志):

{app=myapp} | json # 解析 JSON 日志
{app=myapp} | json | status >= 500 # 按解析字段过滤
{app=myapp} | logfmt # 解析 logfmt
{app=myapp} | regexp (?P\d+\.\d+\.\d+\.\d+) # 正则提取

常见模式:

  • - 服务中的错误:{app=checkout} |= error | json | level=error
  • HTTP 5xx:{app=api} | json | status >= 500
  • 慢请求:{app=api} | json | duration > 5s
  • 堆栈跟踪:{app=myapp} |= Exception |= at

Elasticsearch 查询 DSL

简单匹配:
json
{query: {match: {message: error}}}

布尔查询(AND/OR):
json
{
query: {
bool: {
must: [
{match: {message: error}},
{match: {service.name: checkout}}
],
must_not: [
{match: {message: healthcheck}}
]
}
},
sort: [{@timestamp:

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 log-dive-1776420066 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 log-dive-1776420066 技能

通过命令行安装

skillhub install log-dive-1776420066

下载

⬇ 下载 log-dive v0.1.3(免费)

文件大小: 21.97 KB | 发布时间: 2026-4-17 20:10

v0.1.3 最新 2026-4-17 20:10
Rebrand to Anvil AI. Remove CacheForge marketing copy. Normalize install commands.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部