AnilDamodara/Real-Time-Log-Analysis-Monitoring-Dashboard

GitHub: AnilDamodara/Real-Time-Log-Analysis-Monitoring-Dashboard

基于 Splunk 的全栈实时日志分析监控仪表盘,通过自定义 React 前端和 Node.js 后端实现日志采集、可疑活动检测与安全事件可视化。

Stars: 0 | Forks: 0

# 日志分析与监控 一个使用 Splunk 集成进行日志分析和监控的全栈示例项目,包含 React 前端和 Node.js 后端。 ## 功能 - REST API 后端,提供日志数据服务并通过 HTTP Event Collector (HEC) 将事件转发到 Splunk - React 仪表盘,用于查看和过滤日志 - 示例日志接收端点和 Splunk 测试事件流 - 结合 Vite 和 Express 实现便捷的本地开发 ## 项目结构 - `backend/` — Express 服务器、Splunk HEC 客户端、示例日志数据 - `backend/routes/` — 请求路由层 - `backend/routes/logRoutes.js` - `backend/routes/splunkRoutes.js` - `backend/controllers/` — 请求处理器和 SSE 流式传输 - `backend/controllers/logController.js` - `backend/controllers/splunkController.js` - `backend/services/` — 业务逻辑和日志分析 - `backend/services/logService.js` - `backend/services/splunkService.js` - `frontend/` — 使用 Vite 构建的 React 应用 ## 前置条件 - 已安装 Node.js 18+ - 启用了 HTTP Event Collector 的 Splunk 实例 - Splunk HEC token 和 URL ## 设置 1. 打开两个终端。 2. 在 backend 文件夹中: ``` cd "c:\Users\Anil\Desktop\Log Analysis\backend" npm install ``` 3. 在 frontend 文件夹中: ``` cd "c:\Users\Anil\Desktop\Log Analysis\frontend" npm install ``` 4. 在 `backend/.env` 中配置 Splunk 的环境变量: ``` BACKEND_PORT=4000 SPLUNK_HEC_URL=https://your-splunk-host:8088 SPLUNK_HEC_TOKEN=your_hec_token SPLUNK_INDEX=main SPLUNK_SOURCE=log-analysis-app SPLUNK_SOURCETYPE=_json ``` 5. 启动后端: ``` npm start ``` 6. 启动前端: ``` npm run dev ``` ## 使用说明 - 访问 Vite 显示的前端 URL。 - 仪表盘会从后端加载示例日志。 - 使用搜索框和过滤控件来减少日志噪音。 - 监控 KPI 卡片以了解错误率和可疑 IP 检测情况。 - 活跃警报和实时更新会自动显示。 - 使用仪表盘按钮将示例可疑日志发送到 Splunk。 ## 新特性 - 基于重复 WARN/ERROR 事件的可疑 IP 检测 - 日志条目中内置的 IP 地址地理位置信息 - 按级别、来源和 IP 地址进行日志过滤的 UI - 用于显示总日志数、错误率、可疑 IP 和实时状态的 KPI 卡片 - 用于异常检测和可疑 IP 活动的警报面板 - 通过 Server-Sent Events (SSE) 实现的仪表盘实时更新 - 针对错误率突然激增的异常检测 ## Splunk 集成 本项目通过由 `SPLUNK_HEC_URL` 和 `SPLUNK_HEC_TOKEN` 定义的 HEC 端点将事件发送到 Splunk。 ### Splunk 仪表盘查询示例 - 按时间统计的各日志级别事件量: ``` index=main source="log-analysis-app" | timechart span=1m count by level ``` - 最近 24 小时内的错误事件: ``` index=main source="log-analysis-app" level=ERROR | stats count by source, service | sort -count ``` - 产生警告和错误最多的服务: ``` index=main source="log-analysis-app" level=ERROR OR level=WARN | stats count by service, level | sort -count ``` - 包含特定关键字的近期日志: ``` index=main source="log-analysis-app" | search message="*login*" OR message="*database*" | table _time level source service message | sort -_time ``` - 按来源和服务统计的汇总: ``` index=main source="log-analysis-app" | stats count as event_count by source, service, level | sort -event_count ``` ## 注意事项 - 本示例项目专为本地开发和演示而设计。 - 请将示例数据和 Splunk 元数据替换为您自己的应用日志。
标签:AMSI绕过, CCTV/网络接口发现, Express, GNU通用公共许可证, HTTP事件收集器, IP黑名单检测, KPI监控, MITM代理, Node.js, React, REST API, SPL查询, SSE流式传输, Syscalls, Vite, Web安全, 可疑活动分析, 后端开发, 大屏仪表盘, 威胁检测, 安全事件可视化, 安全仪表盘, 安全运营, 异常行为检测, 扫描框架, 插件系统, 日志管理系统, 系统日志, 网络安全, 网络日志, 蓝队分析, 隐私保护