Token导航 LogoToken导航TokenDH.com
Laravel AI Log Analysis logo
运维云端stdio官方级别未说明来源级核验

Laravel AI Log Analysis

MCP Server

一个AI驱动的日志分析系统,用于自动监控、向量化和分析Laravel应用程序日志,以检测事件并评估严重级别。

工具数

0

提示词数

0

GitHub Stars

3

资源数

0
PHP日志分析PythonClaude实时监控Claude

安装说明

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

作者 / 组织

bmadigan

提供方

bmadigan

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 --version # Should show Python 3.9 or higher

详细介绍

Laravel 日志分析 AI

一个基于人工智能的日志分析系统,能够自动监控、向量化处理和分析Laravel应用程序日志,以检测事件并评估其严重程度。

Log Analysis AI Dashboard

特点/特性

  • 实时日志监控MCP服务器集成以实现持续监控日志文件
  • AI驱动的分析通过Prism使用大型语言模型(如Claude、GPT等)分析日志条目
  • 语义搜索向量嵌入支持基于相似性的日志分组
  • 事件检测自动严重程度分类(低、中、高、严重)
  • 关键警报系统可关闭的横幅用于显示关键事件,并跟踪查看状态
  • 测试错误生成器一键生成5-10条随机测试日志,并自动进行AI分析
  • 交互式仪表板采用Livewire驱动的用户界面,支持实时更新和轮询功能
  • 异步处理基于队列的可扩展分析架构

技术栈

  • Laravel 12最新的Laravel框架
  • Prism v0.96多供应商大语言模型(LLM)集成
  • Overpass v0.7(过路系统/覆盖程序 版本0.7)用于嵌入的Python机器学习桥梁
  • Livewire 3 + Volt(可译为“Livewire 3 加上 Volt”或根据具体语境简化为“Livewire 3 Volt”,但为保持原样,直译为“Livewire 3 加 Volt”)交互式实时仪表盘
  • Laravel MCP v0.3模型上下文协议服务器
  • SQLite以JSON格式存储的向量嵌入,用于未来的语义搜索
  • Tailwind CSS v4(版本4)现代风格,支持深色模式
  • 句子变换器(或句子嵌入模型)用于384维嵌入的all-MiniLM-L6-v2模型

先决条件

  • PHP 8.2 或更高版本
  • Composer(注:在编程领域,Composer 通常指的是一个用于 PHP 项目的依赖管理工具,但在此仅作为普通词汇翻译)
  • Node.js & NPM
  • Python 3.9或更高版本
  • SQLite 3.x

安装

  1. 克隆仓库
   git clone 
   cd LogAnalysisAi
  1. 安装PHP依赖项
   composer install
  1. 安装Node依赖项
   npm install
  1. 设置环境文件
   cp .env.example .env
   php artisan key:generate
  1. 配置数据库

默认的 SQLite 数据库已经配置在 .env

   DB_CONNECTION=sqlite
   DB_DATABASE=database/database.sqlite

创建数据库文件:

   touch database/database.sqlite
  1. 运行迁移
   php artisan migrate
  1. 为Overpass安装Python依赖项
   cd overpass-ai
   pip3 install -r requirements.txt
   cd ..

注:首次运行时将下载sentence-transformers模型(约80MB)。

配置

AI服务提供商设置

在(系统/应用中)配置您偏好的大型语言模型(LLM)提供商 .env

对于Anthropic的Claude:

LOG_ANALYSIS_PROVIDER=anthropic
LOG_ANALYSIS_MODEL=claude-3-haiku-20240307
ANTHROPIC_API_KEY=your_api_key_here

对于OpenAI:

LOG_ANALYSIS_PROVIDER=openai
LOG_ANALYSIS_MODEL=gpt-4-turbo
OPENAI_API_KEY=your_api_key_here

分析参数

调整AI分析设置:

LOG_ANALYSIS_MAX_TOKENS=200
LOG_ANALYSIS_TEMPERATURE=0.3

Python桥接配置

Overpass 已预配置为使用 overpass-ai 目录。确保已激活 Python 3.9+:

python3 --version  # Should show Python 3.9 or higher

运行应用程序

快速入门(推荐)

使用单个命令一次性启动所有服务:

composer run dev

这将启动:Web服务器、队列工作进程、日志查看器(Pail)以及Vite开发服务器。

个性化服务

或者,分别运行服务:

1. 启动开发服务器

php artisan serve

2. 启动队列工作者 在另一个终端中:

php artisan queue:work

3. 构建前端资源 用于开发:

npm run dev

对于生产:

npm run build

4. MCP 服务器(可选) MCP服务器随网络服务器自动运行。访问地址为:

http://loganalysisai.test/mcp/log-watcher

使用MCP Inspector进行测试:

php artisan mcp:inspector

使用

网络仪表板

访问 http://loganalysisai.test (如果使用 Laravel Herd)或者 http://localhost:8000 以访问显示以下内容的交互式仪表板:

  • 最近的日志条目(最新10条)
  • AI检测到的事件(最近5起)
  • 针对未查看事件的紧急警告横幅
  • 实时刷新功能(每10秒自动轮询一次)

生成测试错误

仪表板上包含一个“生成测试错误”按钮,该按钮会创建5-10条具有不同严重程度(严重、错误、警告、信息、调试)的随机日志条目。这些日志会自动:

  1. 写给 storage/logs/laravel.log
  2. 通过分析流程进行处理
  3. 使用sentence-transformers进行向量化
  4. 由您配置的大型语言模型(LLM)进行分析
  5. 在仪表板上以严重程度分类显示

这是测试完整AI分析工作流程的最简单方法。

关键警报

当系统检测到严重事件(如磁盘空间警告或数据库连接池耗尽)时,这些事件会以红色警报横幅的形式出现在仪表板顶部。您可以点击X按钮来关闭这些警报,点击后它们会被标记为“已查看”,并防止再次出现。

MCP集成

该应用程序包含一个用于AI助手集成的MCP(模型上下文协议)服务器。它可在 /mcp/log-watcher 并提供:

  • 工具monitor_logs - 使用AI处理最近的日志条目
  • 资源: log_entries - 访问分析后的日志数据

监控日志

您可以手动触发日志分析:

use App\Actions\LogMonitor;

$monitor = new LogMonitor();
$monitor->handleNewLine('[2024-10-22 12:00:00] production.ERROR: Database connection failed');

生成测试数据

测试完整分析流程的最佳方法是生成真实的日志条目:

php artisan tinker
// Generate log entries that will be analyzed by AI
Log::error('Database connection failed');
Log::warning('High memory usage detected: 95%');
Log::error('API rate limit exceeded for endpoint /users');
Log::critical('Payment gateway timeout - transaction failed');
exit

这些日志将自动:

  1. 被日志监控器检测到
  2. 触发分析队列作业
  3. 通过Overpass获取矢量化数据
  4. 由Prism AI进行分析
  5. 在仪表板上创建可见的事件

或者,使用工厂方法创建示例数据(跳过分析):

// Create log entries without analysis
App\Models\LogEntry::factory()->count(20)->create();

// Create incidents directly
App\Models\Incident::factory()->count(5)->create();

开发命令

使用 Laravel Pint 格式化代码:

vendor/bin/pint

检查特定文件:

vendor/bin/pint --dirty

运行 Tinker REPL:

php artisan tinker

清除所有缓存:

php artisan optimize:clear

项目结构

app/
├── Actions/           # Domain logic classes
│   ├── LogMonitor.php
│   ├── LogVectorizer.php
│   ├── LogAnalyzer.php
│   └── IncidentManager.php
├── Jobs/              # Queue jobs
│   └── AnalyzeLogJob.php
├── Mcp/               # MCP server components
│   ├── Servers/
│   ├── Tools/
│   └── Resources/
└── Models/            # Eloquent models
    ├── LogEntry.php
    ├── LogVector.php
    └── Incident.php

overpass-ai/           # Python ML bridge
├── main.py
├── vectorize.py
└── requirements.txt

resources/views/livewire/  # Volt components
└── log-dashboard.blade.php

建筑学

该应用程序遵循了整洁架构模式:

  1. 日志摄入: LogMonitor 创造 LogEntry 记录
  2. 异步处理AnalyzeLogJob 被派入队列
  3. 向量化LogVectorizer 通过Overpass生成嵌入表示
  4. AI分析: LogAnalyzer 使用Prism来评估严重程度
  5. 事件创建: IncidentManager 存储分析结果
  6. 仪表盘显示Livewire展示实时洞察

常见问题

队列未处理

确保队列工作者正在运行:

php artisan queue:work --verbose

Python环境错误

重新安装Python依赖项:

cd overpass-ai
pip3 install --upgrade -r requirements.txt

如果你看到“ModuleNotFoundError: No module named 'sentence_transformers'”,请确保你已经安装了所需的模块。

大语言模型(LLM)API错误

请检查您的API密钥配置,并确保您有足够的信用额度/配额:

php artisan tinker
>>> config('prism.providers.anthropic.api_key')

数据库锁定错误

SQLite 的并发能力有限。对于生产环境,请考虑使用 PostgreSQL 或 MySQL。

教程

这个项目旨在作为将AI功能集成到Laravel应用中的高级教程。它展示了:

  • 通过Prism实现多供应商大型语言模型(LLM)集成
  • Python与Overpass的机器学习桥梁
  • MCP服务器实现
  • 实时Livewire仪表板
  • 基于队列的异步处理
  • 用于领域逻辑组织的主动模式

一份涵盖架构、模式和实现细节的全面教程已备好,可供查阅 .ai/tutorial.md该教程面向高级Laravel开发者,内容涵盖:

  • 主动模式及其相较于传统服务类的优势所在
  • 使用Overpass的Python/PHP桥接架构
  • 使用 SQLite JSON 列进行向量存储
  • 通过Prism实现大型语言模型(LLM)与结构化输出的集成
  • 用于人工智能无障碍的MCP服务器实现
  • 从日志摄入到事件检测的完整请求流程

这是一个教育项目。为了专注于核心功能,故意省略了自动化测试。

许可证

这个项目是开源软件,采用MIT许可证授权。

目录标签

目录标签

PHP日志分析PythonClaude实时监控本地部署AI驱动语义搜索事件检测

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP