部署包含四个代理(日志收集、解析、告警、可视化)的日志分析系统。适用于以下场景:1. 用户希望搭建集中式日志平台。
逻辑分析设置
功能概述
逻辑分析设置是一项面向实际任务的技能,主要用于配置4 个代理: 收集器、 解析器、 提醒器和仪表板;Roles.;
核心要点
- Role. hostname.;
- Kills. 用途: polpose. polposor QQPrefix >- polposition. pilot- stream-data, pilot-archive, pilot-compress.;
- Aggrega。
使用与执行
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
日志分析系统部署
部署 4 个代理:collector、parser、alerter 和 dashboard。
角色说明
| 角色 | 主机名 | 技能 | 用途 |
|---|---|---|---|
| collector | |
pilot-stream-data, pilot-archive, pilot-compress | 聚合来自服务器、容器和应用程序的日志;统一日志格式 |
| parser | |
pilot-event-filter, pilot-task-router, pilot-dataset | 提取结构化字段、解析堆栈跟踪、识别错误模式 |
| alerter | |
pilot-alert, pilot-metrics, pilot-cron | 检测日志量激增、错误率异常,触发告警 |
| dashboard | |
pilot-webhook-bridge, pilot-slack-bridge, pilot-announce | 提供日志搜索、可视化、下钻分析及报告生成能力 |
部署流程
步骤 1: 向用户确认该代理应承担的角色以及所使用的前缀(prefix)。
步骤 2: 安装对应角色所需的技能:
# collector 使用: clawhub install pilot-stream-data pilot-archive pilot-compress # parser 使用: clawhub install pilot-event-filter pilot-task-router pilot-dataset # alerter 使用: clawhub install pilot-alert pilot-metrics pilot-cron # dashboard 使用: clawhub install pilot-webhook-bridge pilot-slack-bridge pilot-announce
步骤 3: 设置主机名:
pilotctl --json set-hostname-步骤 4: 编写部署清单文件(manifest):
mkdir -p ~/.pilot/setups cat > ~/.pilot/setups/log-analytics.json << 'MANIFEST'MANIFEST 步骤 5: 提示用户与直连通信对端(peers)发起握手(handshake)。
各角色对应的清单模板
collector
{ "setup": "log-analytics", "setup_name": "Log Analytics", "role": "collector", "role_name": "Log Collector", "hostname": "-collector", "description": "Aggregates logs from servers, containers, and applications. Normalizes formats.", "skills": {"pilot-stream-data": "Ingest log streams from multiple sources in real time.", "pilot-archive": "Archive raw logs for retention and forensic analysis.", "pilot-compress": "Compress high-volume log batches before transmission."}, "peers": [{"role": "parser", "hostname": "-parser", "description": "Receives raw normalized logs"}], "data_flows": [{"direction": "send", "peer": "-parser", "port": 1002, "topic": "raw-log", "description": "Raw normalized logs from all sources"}], "handshakes_needed": ["-parser"] }parser
{ "setup": "log-analytics", "setup_name": "Log Analytics", "role": "parser", "role_name": "Log Parser", "hostname": "-parser", "description": "Extracts structured fields, parses stack traces, identifies error patterns.", "skills": {"pilot-event-filter": "Filter noise, deduplicate, and normalize log events.", "pilot-task-router": "Route logs to specialized parsers by source type and format.", "pilot-dataset": "Store extracted patterns and structured fields for search."}, "peers": [{"role": "collector", "hostname": "-collector", "description": "Sends raw logs"}, {"role": "alerter", "hostname": "-alerter", "description": "Receives parsed events"}], "data_flows": [{"direction": "receive", "peer": "-collector", "port": 1002, "topic": "raw-log", "description": "Raw normalized logs from all sources"}, {"direction": "send", "peer": "-alerter", "port": 1002, "topic": "parsed-event", "description": "Parsed events with structured fields and severity"}], "handshakes_needed": ["-collector", "-alerter"] }alerter
{ "setup": "log-analytics", "setup_name": "Log Analytics", "role": "alerter", "role_name": "Anomaly Alerter", "hostname": "-alerter", "description": "Detects log spikes, error rate anomalies, and novel error patterns. Fires alerts.", "skills": {"pilot-alert": "Fire alerts when error rates or log volumes breach thresholds.", "pilot-metrics": "Compute baseline rates, trend comparisons, and anomaly scores.", "pilot-cron": "Run scheduled anomaly scans over rolling time windows."}, "peers": [{"role": "parser", "hostname": "-parser", "description": "Sends parsed events"}, {"role": "dashboard", "hostname": "-dashboard", "description": "Receives anomaly alerts"}], "data_flows": [{"direction": "receive", "peer": "-parser", "port": 1002, "topic": "parsed-event", "description": "Parsed events with structured fields"}, {"direction": "send", "peer": "-dashboard", "port": 1002, "topic": "anomaly-alert", "description": "Anomaly alerts with context and baseline comparisons"}], "handshakes_needed": ["-parser", "-dashboard"] }dashboard
{ "setup": "log-analytics", "setup_name": "Log Analytics", "role": "dashboard", "role_name": "Log Dashboard", "hostname": "-dashboard", "description": "Provides search, visualization, and drill-down into log data. Generates reports.", "skills": {"pilot-webhook-bridge": "Forward reports to external dashboards and monitoring tools.", "pilot-slack-bridge": "Post log health summaries and critical alerts to Slack.", "pilot-announce": "Broadcast periodic log health reports to subscribers."}, "peers": [{"role": "alerter", "hostname": "-alerter", "description": "Sends anomaly alerts"}], "data_flows": [{"direction": "receive", "peer": "-alerter", "port": 1002, "topic": "anomaly-alert", "description": "Anomaly alerts with context and baselines"}, {"direction": "send", "peer": "external", "port": 443, "topic": "log-report", "description": "Log reports to dashboards and Slack channels"}], "handshakes_needed": ["-alerter"] }数据流向
collector -> parser:所有来源的 raw-log 事件(端口 1002)parser -> alerter:含结构化字段与严重等级的 parsed-event(端口 1002)alerter -> dashboard:含上下文与基线对比的 anomaly-alert(端口 1002)dashboard -> external:通过 Webhook 和 Slack 发送的 log-report(端口 443)
握手命令
# collector <-> parser: pilotctl --json handshake-parser "setup: log-analytics" pilotctl --json handshake-collector "setup: log-analytics" # parser <-> alerter: pilotctl --json handshake-alerter "setup: log-analytics" pilotctl --json handshake-parser "setup: log-analytics" # alerter <-> dashboard: pilotctl --json handshake-dashboard "setup: log-analytics" pilotctl --json handshake-alerter "setup: log-analytics"工作流示例
# 在 collector 上 —— 发布原始日志: pilotctl --json publish-parser raw-log '{"source":"nginx-prod-01","level":"error","message":"upstream timed out"}' # 在 parser 上 —— 发布解析后的事件: pilotctl --json publish-alerter parsed-event '{"pattern_id":"NGINX-TIMEOUT-001","level":"error","occurrences_1h":47}' # 在 alerter 上 —— 发布异常告警: pilotctl --json publish-dashboard anomaly-alert '{"alert_id":"ALR-7829","type":"error_spike","severity":"critical","current_rate":47,"baseline_rate":3}' # 在 dashboard 上 —— 发布日志报告: pilotctl --json publish-dashboard log-report '{"period":"2026-04-09T15:00Z/PT1H","errors":1290,"anomalies_detected":2}'依赖项
需安装
pilot-protocol技能、pilotctl可执行文件、clawhub可执行文件,并确保后台守护进程(daemon)正在运行。
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章