A refreshable, real-time dashboard that provides insights and statistics from Hashmire/Analysis_Tools log files.
π Overview
The dashboard system consists of several components that work together to provide real-time monitoring of the Hashmire/Analysis_Tools:
- Log Analyzer (
src/analysis_tool/utilities/log_analyzer.py
) - Parses log files and extracts metrics
- Local Dashboard (
reports/local_dashboard.html
) - Self-contained HTML with embedded data (works with local files)
- Dashboard Generator (
src/analysis_tool/utilities/generate_local_dashboard.py
) - Creates local dashboard with embedded data
- Update Scripts - Automated scripts to keep the dashboard current
π Quick Start
Method 1: Automatic Integration (Recommended)
The dashboard is automatically integrated into the Hashmire/Analysis_Tools workflow:
# Run the Hashmire/Analysis_Tools normally - dashboard updates automatically!
cd src/analysis_tool
python analysis_tool.py [your normal CVE analysis arguments]
# π Open reports/local_dashboard.html to watch real-time progress
# π Data refreshes automatically every 100 CVEs during processing
# β
Final update occurs at completion
Real-time Monitoring:
- Start: Dashboard created with initial data
- During Processing: JSON updates every 100 CVEs (dashboard auto-refreshes)
- Completion: Final data update with complete results
Method 2: Manual Dashboard Generation
# Generate dashboard from existing log data
python src/analysis_tool/utilities/log_analyzer.py --summary
# The local dashboard (reports/local_dashboard.html) is automatically updated
# Open reports/local_dashboard.html directly in your browser
Method 3: JSON Data Only
# Generate only JSON data without local dashboard
python src/analysis_tool/utilities/log_analyzer.py --summary --no-local-dashboard
π Dashboard Features
Real-time Metrics
- Processing Statistics: Total CVEs, processed count, progress percentage
- Performance Metrics: Processing rate, average time per CVE, total runtime
- Cache Analytics: CPE cache size, hit rate, API calls saved
- System Status: Current CVE being processed, ETA, remaining work
Visual Components
- Progress Bars: Overall completion, cache efficiency
- Stage Tracker: Current processing stage (Init β CVE Data β CPE Gen β etc.)
- Log Statistics: Breakdown of DEBUG/INFO/WARNING/ERROR messages
- Recent Activity: Live feed of recent log entries
- Warning/Error Drilldown: Every event is linked to the relevant CVE file for fast troubleshooting
Interactive Features
- Show All: Expand to view all warning/error events
- Responsive Design: Works on desktop and mobile devices
π File Structure
Analysis_Tools/
βββ src/analysis_tool/utilities/
β βββ log_analyzer.py # Main log parsing script
β βββ generate_local_dashboard.py # Dashboard HTML generator
βββ generated_pages/ # Main HTML vulnerability reports
βββ test_output/ # Test-generated HTML files
βββ reports/
β βββ local_dashboard.html # Self-contained local dashboard
β βββ dashboard_data.json # Generated data file
βββ logs/
β βββ *.log # Hashmire/Analysis_Tools log files
βββ cache/ # CPE cache files
βββ datasets/ # Generated CVE datasets
βββ temp/ # Temporary files
π§ Configuration
Local Dashboard Generator
The local dashboard generator creates a self-contained HTML file with embedded data, perfect for local file access without CORS issues:
python src/analysis_tool/utilities/generate_local_dashboard.py --help
Options:
--input FILE, -i FILE Input JSON data file (default: reports/dashboard_data.json)
--output FILE, -o FILE Output HTML file (default: reports/local_dashboard.html)
Benefits of Local Dashboard:
- π Works directly from local files (no web server needed)
- π No CORS or network security restrictions
- π± Fully responsive and mobile-friendly
- πΎ Self-contained (all data embedded in HTML)
Log Analyzer Options
python src/analysis_tool/utilities/log_analyzer.py --help
Options:
--log-dir DIRECTORY Directory containing log files (default: logs)
--log-file FILE Specific log file to analyze
--output FILE Output JSON file (default: reports/dashboard_data.json)
--summary Print summary to console
The dashboard_data.json
file contains structured data including:
- Processing metrics (total CVEs, progress, timing)
- Performance statistics (rates, averages, runtime)
- Cache information (size, hit rates, efficiency)
- API usage (call counts, success/failure rates)
- Log statistics (message counts by level)
- Recent activity (latest log entries)
- All warning/error events with CVE links
Enhanced Dashboard Features
The dashboard now includes several advanced analysis sections:
π Interactive Elements:
- Clickable metric cards that smoothly scroll to detailed sections
- Visual indicators for performance bottlenecks and fast operations
- Hover tooltips providing additional context
β‘ Workflow Performance Analysis:
- Stage timing breakdown with duration tracking for each workflow stage
- Bottleneck detection automatically identifies the slowest stages
- Efficiency metrics showing completion rates and progress
- Performance indicators (BOTTLENECK, FAST markers) for quick assessment
π API Performance Breakdown:
- Detailed API call analysis by type (NVD CVE, MITRE CVE, NVD CPE)
- Success rate tracking with failed call monitoring
- Call volume analysis showing API usage patterns
π CPE Query Analysis:
- Top CVE records by complexity ranked by number of unique search strings
- Top queries by result count showing which queries return the most data
- Source tracking (API vs Cache) for performance optimization
- Query efficiency metrics for search strategy analysis
β οΈ Resource Monitoring:
- Resource warnings detection for cache bloat and memory issues
- System health indicators tracking performance warnings
- File size monitoring for large output detection
- Global state tracking for system stability
π Automated Updates
The dashboard is automatically integrated into the main CVE analysis workflow:
- At startup: Dashboard created immediately with initial/existing data
- Every 100 CVEs: Dashboard JSON data is updated silently in the background
- Real-time monitoring: Open the HTML dashboard to watch progress live
- At completion: Final dashboard update with complete results
- Zero configuration: Works out of the box with existing CVE analysis runs
Benefits:
- π Immediate feedback: Dashboard available as soon as CVE processing starts
- π Live updates: Watch progress in real-time
- π No setup required: Automatic integration with zero configuration
- πΎ Works offline: Local dashboard requires no web server
π― Use Cases
- Real-time Performance Monitoring: Monitor processing performance with live workflow stage analysis
- Bottleneck Identification: Automatically identify performance bottlenecks with stage timing analysis
- Resource Health Monitoring: Track resource warnings and system health indicators
- API Usage Analysis: Detailed breakdown of API calls by type with success rate tracking
- Cache Efficiency Optimization: Monitor cache performance and identify optimization opportunities
- Query Performance Analysis: Analyze CPE query complexity and result patterns
- Error Detection and Troubleshooting: View detailed log activity and error tracking as it happens
- Long-running Job Tracking: Track progress of extensive CVE analysis runs with accurate ETAs
- Historical Performance Reporting: Generate comprehensive performance reports from log data
- Interactive Data Exploration: Click through dashboard sections for detailed analysis
π Notes
- Dashboard updates automatically every 100 CVEs during processing
- Log analyzer processes the most recent log file by default
- All timestamps are displayed in local time zone
- Progress calculations are based on the βProcessing CVE X/Yβ log entries
- Cache statistics track CPE dictionary cache performance
- Error detection includes both explicit ERROR level logs and failed API responses
- Every warning/error event is linked to the relevant CVE file for fast troubleshooting
For more information about the Hashmire/Analysis_Tools itself, see the main project documentation.