AI Skill Hub 推荐使用:网络日志分析 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。
AI驱动的网络日志分析工具,支持LLM辅助根因分析
网络日志分析 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
AI驱动的网络日志分析工具,支持LLM辅助根因分析
网络日志分析 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install netlog-ai
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install netlog-ai
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/gesh75/netlog-ai
cd netlog-ai
pip install -e .
# 验证安装
python -c "import netlog_ai; print('安装成功')"
# 命令行使用
netlog-ai --help
# 基本用法
netlog-ai input_file -o output_file
# Python 代码中调用
import netlog_ai
# 示例
result = netlog_ai.process("input")
print(result)
# netlog-ai 配置文件示例(config.yml) app: name: "netlog-ai" debug: false log_level: "INFO" # 运行时指定配置文件 netlog-ai --config config.yml # 或通过环境变量配置 export NETLOG_AI_API_KEY="your-key" export NETLOG_AI_OUTPUT_DIR="./output"
Network logs in. Ranked actions out. A local, dark-themed dashboard that classifies syslog events from any vendor (Junos, Arista EOS, FRR), builds a prioritized action list, and lets an LLM write the root-cause analysis with copy-pastable CLI fixes.

---
netlog-ai now ships a pluggable connector layer so it doesn't just analyze pasted logs — it pulls from any common log source (full guide: docs/CONNECTORS.md).
| Connector | Source | One-line setup |
|---|---|---|
kibana | Elasticsearch / Kibana | NETLOG_SOURCE_kibana_URL=… NETLOG_SOURCE_kibana_API_TOKEN=… |
splunk | Splunk REST search | NETLOG_SOURCE_splunk_URL=… NETLOG_SOURCE_splunk_API_TOKEN=… |
loki | Grafana Loki | NETLOG_SOURCE_loki_URL=… NETLOG_SOURCE_loki_API_TOKEN=… |
syslog | UDP/TCP listener | Zero-config — point any device at port 5514 |
librenms | LibreNMS REST | NETLOG_SOURCE_librenms_URL=… NETLOG_SOURCE_librenms_API_TOKEN=… |
And the analyzer engine is now agent-callable via a built-in MCP server:
pip install 'netlog-ai[mcp]'
netlog-ai mcp # stdio transport — wire into Claude Code, Cursor, Continue
Tools exposed: list_sources, add_source, fetch_logs, search_logs, analyze_logs, get_top_offenders, list_sites, analyze_site, plus healthcheck + connector inventory. See docs/CONNECTORS.md for the full reference.
| 🔌 **Pluggable sources** | Kibana, Splunk, Loki, LibreNMS, syslog UDP/TCP — one Protocol, one config dict, hot-pluggable |
| 🤖 **MCP server mode** | Claude Code / Cursor / Continue can call the analyzer directly as agent tools |
| 🔎 **Classify** | 50+ regex patterns across Junos, EOS, FRR, IOS, RFC-3164/5424 |
| 🧭 **Prioritize** | Deduped action items, ranked by severity × count, recovery events excluded |
| 🧠 **Deep analyze** | Top-N items get an LLM-written root-cause + risk + remediation playbook |
| 🛡️ **Sanitize-first** | Every config/log payload is scrubbed ($6$, $9$, SSH keys, SNMP, RADIUS, public IPs) before LLM call |
| 📈 **Health score** | Weighted formula → 0–100 + A/B/C/D/F + sparkline trend |
| 🗺️ **Topology (multi-layer)** | Cytoscape.js + ELK layered renderer — PHYSICAL · BGP · OSPF · VXLAN as separate views over the same fabric, attributes (AS / RID / VTEP) on nodes, speed/area on edges |
| 🤖 **Copilot** | Ask free-form questions, grounded in the selected site's configs |
| 🔍 **Post-mortem search** | Grep a pattern across every device in a site in one shot |
| 📄 **Report export** | Markdown / HTML / CSV / PDF + site documentation in 3 formats |
| ⌨️ **Keyboard-first** | 1/2/3 to switch tabs, ⌘/Ctrl+↵ to run, full ARIA + :focus-visible |
| 📱 **PWA-ready** | Installable on iOS/Android home screen; theme-color tinted dark |
```bash docker model pull ai/qwen3 # 8B, ~5GB, recommended
```bash git clone https://github.com/gesh75/netlog-ai.git cd netlog-ai python3 -m venv .venv && source .venv/bin/activate pip install -e ".[dev]" cp .env.example .env
Four fully synthetic site bundles ship in sites/ so you can exercise every feature out of the box. These are not derived from any real network — they're hand-built configs designed to demonstrate the analyzer's full feature set.
| Site | Devices | Vendors | What it shows |
|---|---|---|---|
lab-alpha | 5 (2 SRX HA pair + 1 MX router + 2 EOS switches) | Junos + EOS | Cross-vendor edge, chassis-cluster, MLAG |
lab-bravo | 6 (1 SRX firewall + 2 MX spines + 3 EX leaves) | Junos | Spine/leaf fabric, iBGP full mesh |
clab-clos-evpn | 9 (3 spines + 6 leaves) | **Nokia SRL + Arista cEOS + FRR** | Mixed-vendor Clos EVPN-VXLAN fabric, L2/L3 VNIs, route reflectors |
dcn-lab | 10 (5 cores + 3 edges + 2 dists) | FRR | Multi-POP backbone (DE-FRA · UK-LON · NL-AMS · US-NYC), eBGP + OSPF area 0 |
Each bundle includes intentional configuration gaps (missing BFD, no LLDP on some access switches, IoT VLAN without an L3 interface) so the analyzer's deep-analysis pipeline produces concrete, actionable findings.
ai-log-analyzer containers
Three providers, switchable at runtime from the UI dropdown — or via env / API:
| Mode | Order |
|---|---|
local | Local Docker Model Runner → falls back to Claude if ANTHROPIC_API_KEY is set |
claude | Claude first → falls back to local |
claude-only | Claude only, no fallback |
```bash LLM_PROVIDER=claude ANTHROPIC_API_KEY=sk-ant-... ai-log-analyzer serve
For arbitrary show output where the platform isn't known up-front, install the parse extra to enable tfsm_fire — it scores every TextFSM template in a 700-template DB and returns the best match:
pip install -e ".[parse]"
from ai_log_analyzer.adapters.tfsm_auto import auto_parse
result = auto_parse(raw_cli_output, filter_hint="bgp_summary", min_score=40.0)
<p align="center"> <img src="demo/tfsm_demo.gif" alt="tfsm_fire auto-detect demo — paste Cisco LLDP, IOS show version, FRR BGP summary; each picks the right template and scores 78–89/100" width="100%"> </p>
See docs/TFSM_AUTO_PARSER.md for the API, scoring guide, and filter-hint reference. The full WebM video is demo/tfsm_demo.webm (19s, 311 KB) and the recording is reproducible via demo/record_tfsm_demo.sh.
| Method | Endpoint | Description |
|---|---|---|
GET | /api/health | Liveness check |
GET | /api/llm/status | Provider + availability for each provider |
POST | /api/llm/provider | {"provider": "local"\|"claude"\|"claude-only"} |
POST | /api/llm/toggle | {"enabled": true\|false} |
GET | /api/lab/containers | Running FRR-lab container names |
GET | /api/sites | List bundled site bundles |
POST | /api/analyze | Full pipeline — see request shapes below |
POST | /api/optimize | Device-level config audit + patches |
POST | /api/optimize/site | Cross-device site analysis |
POST | /api/optimize/site-wide/<id> | Strategic maturity scoring + phased roadmap |
GET | /api/topology/<id> | Topology graph (JSON / Mermaid / DOT) |
GET | /api/compliance/<id> | Compliance rules pass/fail |
POST | /api/copilot | Free-form Q&A grounded in selected site config |
POST | /api/postmortem/<id> | Pattern search across all devices in a site |
{
"source": "frr",
"containers": ["r1", "r2"],
"tail": 500,
"use_llm": true
}
{
"source": "raw",
"hostname": "test-router",
"text": "Mar 3 12:00:01 r1 rpd[1234]: bgp peer 10.0.0.1 down\n..."
}
Three follow-up fixes to the LOGS tab: (1) the Executive Summary LLM call now receives an ALLOWED_HOSTNAMES anchor and a post-validation scrubber so it can no longer emit textbook placeholders like R1-R3 or SW1-SW2, (2) classifier.strip_ansi removes ANSI/VT100 escape codes from every event at the LogEvent → ClassifiedEvent boundary (no more [0;32m OK [0m garbage in the UI), and (3) containerlab-multivendor/topologies/clos-evpn.clab.yml now caps cEOS / SRL / linux containers via the kinds: block so a runaway control plane can't OOM-cascade the host. Full details and live validation data in docs/LOGS_PIPELINE_HARDENING.md.
src/ai_log_analyzer/
classifier.py 50+ regex patterns + severity/category lookup
kb.py Rule-based deep-analysis KB (fallback when LLM is off)
llm.py Docker Model Runner (TCP + UDS) + Anthropic Claude
analyzer.py End-to-end pipeline: classify → actions → score → summary
copilot.py Site-context Q&A with secret-sanitized prompts
diff.py Config-diff explainer
sanitize.py Pre-LLM redaction (passwords, public IPs, SSH keys)
site_optimize.py Site-wide cross-device gap finder + maturity score
site_diagram.py Mermaid + Graphviz DOT topology renderer
topology.py Build topology graph from device list
topology_infer.py Multi-signal edge inference (BGP, MLAG, descriptions, subnets)
reports.py MD / HTML / CSV / PDF report exporters
adapters/
frr.py docker logs <container> → LogEvent stream
file.py RFC3164 / RFC5424 / Junos / freeform parser
web/
app.py Flask routes + create_app()
static/ index.html + app.js (no build step)
cli.py `ai-log-analyzer serve | analyze | containers`
netlog-ai 是一个专为网络运维设计的本地化暗色主题仪表盘。它能够自动分类来自 Junos、Arista EOS、FRR 等不同厂商的 syslog 事件,并构建一份按优先级排序的操作清单。通过集成 LLM,该工具不仅能进行根因分析(Root-cause analysis),还能生成可直接复制使用的 CLI 修复命令,实现从日志输入到动作输出的高效闭环。
netlog-ai 引入了可插拔的 Connector 层,支持从 Kibana、Splunk、Loki、LibreNMS 及 syslog (UDP/TCP) 等多种数据源实时拉取日志。项目新增了 MCP server 模式,允许 Claude Code、Cursor 或 Continue 等 AI Agent 直接调用分析器作为工具。此外,内置 50 多个针对 Junos、EOS、FRR 等设备的正则模式,可实现高精度的日志分类与基于严重程度的优先级排序。
项目支持通过 Docker Model Runner 运行本地 LLM。首先,使用 Docker 拉取模型(例如 `docker model pull ai/qwen3`);随后,通过 Git 克隆仓库,创建并激活 Python 虚拟环境,使用 `pip install -e "[dev]"` 进行开发模式安装,并根据 `.env.example` 复制并配置你的 `.env` 环境文件。
快速上手流程:首先克隆 netlog-ai 仓库,进入目录后创建 Python 虚拟环境并安装依赖。配置好 `.env` 文件以指定 LLM 提供商。对于需要处理未知平台的任意 `show` 命令输出,建议安装 `.[parse]` 扩展以启用基于 TextFSM 模板库的自动解析功能,从而实现智能匹配。
用户可以通过 UI 下拉菜单或环境变量动态切换 LLM 提供商。支持三种模式:`local`(优先使用 Docker Model Runner,若配置了 `ANTHROPIC_API_KEY` 则回退至 Claude)、`claude`(优先使用 Claude,失败后回退至本地)以及 `claude-only`(仅使用 Claude)。此外,可通过 `ALLOWED_HOSTNAMES` 等参数配置站点上下文,确保 LLM 生成的报告符合实际网络拓扑。
netlog-ai 提供了一套完整的 RESTful API 用于集成。包括用于健康检查的 `/api/health`、查询 LLM 状态的 `/api/llm/status`,以及动态切换 LLM 提供商的 `/api/llm/provider` 接口。核心分析功能通过 `/api/analyze` 实现,支持指定容器(如 FRR 容器)进行日志 tail 分析,或直接通过 `raw` 模式提交原始文本进行分析。
项目采用端到端的流水线设计:首先通过 `classifier.py` 利用正则模式进行分类与严重程度评估;随后进入 `analyzer.py` 流程,结合 `kb.py` 的规则库或 LLM 进行深度分析;最后生成带有评分的操作建议与摘要。模块化架构确保了从日志分类、动作提取到总结生成的逻辑严密性,并针对 ANSI 转义码进行了清洗处理。
高质量的AI驱动网络日志分析工具
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,网络日志分析 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | netlog-ai |
| 原始描述 | 开源AI工作流:AI-powered network log analyzer with LLM-assisted root-cause analysis (Junos / E。⭐7 · Python |
| Topics | ai网络分析日志分析 |
| GitHub | https://github.com/gesh75/netlog-ai |
| License | MIT |
| 语言 | Python |
收录时间:2026-05-31 · 更新时间:2026-05-31 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端