Vai-bhv/network-monitoring-dashboard
GitHub: Vai-bhv/network-monitoring-dashboard
一个基于 Python、Elasticsearch 和 Kibana 的端到端网络监控仪表板,解决了网络性能指标的采集、分析与可视化问题。
Stars: 0 | Forks: 0
# 📡 网络监控仪表板
一个使用 **Python、Elasticsearch 和 Kibana** 构建的端到端网络可观测性管道。
该项目通过收集、处理、分析和可视化网络性能指标,模拟真实的网络监控系统。
## 🚀 概述
该项目展示了现代监控系统的工作原理:
它提供以下洞察:
- 网络延迟
- 吞吐量性能
- 丢包率
- 流量体积
- 系统健康与异常
## ⚙️ 功能
- 📊 网络指标的时间序列分析
- 🚨 使用统计阈值 + 孤立森林进行异常检测
- 📈 可交互的 Kibana 仪表板
- 🧠 KPI 监控(延迟、吞吐量、丢包、流量、异常)
- 🔍 设备级与区域级洞察
- ⚡ 使用 `bootstrap.sh` 的自动化管道
## 🏗️ 技术栈
- **Python**(Pandas、NumPy、Scikit-learn)
- **Elasticsearch**(数据索引与查询)
- **Kibana**(可视化与仪表板)
- **Docker Compose**(基础设施)
- **Shell 脚本**(自动化)
## 📁 项目结构
networkMonitoringDashboard/
│
├── data/
│ ├── network_metrics.csv
│ └── network_metrics_processed.csv
│
├── scripts/
│ ├── generate_sample_data.py # 数据生成(提取)
│ ├── process_metrics.py # 处理 + 异常检测(转换)
│ └── ingest_to_elasticsearch.py # 索引到 Elasticsearch(加载)
│
├── docker-compose.yml
├── requirements.txt
├── bootstrap.sh # 一键设置 + 管道
└── README.md
## ⚡ 快速启动(推荐)
使用 **单个命令** 运行所有内容:
```
chmod +x bootstrap.sh
./bootstrap.sh
This will:
Create virtual environment
Install dependencies
Start Elasticsearch & Kibana
Generate dataset
Process metrics
Ingest data into Elasticsearch
🌐 Access Dashboard
After setup:
👉 Open Kibana:
http://localhost:5601
Then:
Go to Dashboards
Open your saved dashboard
🔁 Manual Execution (Optional)
If you want to run step-by-step:
# 启动服务
docker compose up -d
# 激活环境(可选)
source venv/bin/activate
# 运行管道
python scripts/generate_sample_data.py
python scripts/process_metrics.py
python scripts/ingest_to_elasticsearch.py
📊 Dashboard Overview
The dashboard is structured like a real monitoring system:
🔝 KPI Panels (Top Row)
High-level system health indicators:
Average Latency → overall network delay
Average Throughput → data transfer efficiency
Average Packet Loss → reliability metric
Total Traffic Volume → network usage
Total Anomalies → detected issues in system
👉 These provide an instant snapshot of system health
📈 Time-Series Analysis
Average Latency Over Time
Shows latency trends across time
Helps identify spikes or instability
Average Throughput Over Time
Tracks bandwidth performance
Detects performance degradation
Traffic Volume Over Time
Displays traffic spikes and usage patterns
Useful for capacity planning
📉 Comparative Analysis
Average Packet Loss by Region
Compares network reliability across regions
Helps identify problematic geographic zones
🚨 Anomaly Analysis
Anomalies by Device
Shows which devices generate the most anomalies
Helps identify unstable infrastructure
🟢 System Health
Healthy vs Degraded Status
Displays ratio of healthy vs degraded states
Quick system-wide health overview
📋 Incident Analysis
Top Severity Events Table
Lists highest severity network incidents
Includes:
Device
Region
Latency spikes
Packet loss
Traffic surges
Sorted by severity for prioritization
🧠 Anomaly Detection
Two approaches used:
Rule-based detection
High latency
High packet loss
Machine Learning (Isolation Forest)
Detects abnormal traffic patterns
🔄 Data Pipeline
The pipeline follows standard data engineering stages:
Extract: scripts/generate_sample_data.py
Generate synthetic network data
Transform: scripts/ingest_to_elasticsearch.py
Feature engineering
Anomaly detection
Load : scripts/process_metrics.py
Index data into Elasticsearch
```
标签:Cutter, Docker Compose, Elasticsearch数据索引, Kibana可视化, KPI监控, NumPy, Python数据分析, Scikit-learn, SEO: 实时网络分析, SEO: 端到端网络监控, SEO: 网络监控仪表盘, Shell脚本, 丢包率监控, 交互式仪表盘, 区域级监控, 吞吐量监控, 孤立森林, 延迟监控, 异常检测, 时间序列分析, 版权保护, 端到端监控, 系统健康监控, 网络观测, 自动化数据流水线, 设备级监控, 越狱测试, 逆向工具