Skip to main content

๐Ÿ”ฅ MATRIX SYSTEM MONITOR v3.0 - Full Featured System Monitoring Tool

Project description

๐Ÿ”ฅ MATRIX SYSTEM MONITOR v3.0 - Full Documentation

Overview

MATRIX System Monitor เถบเถฑเท” Python-เถง เถฝเท’เถบเทเท€เท”เถซเท” advanced system monitoring tool เถ‘เถšเถบเท’. Real-time data เถ‘เถš tracking เถšเถปเถฑเท€เท เทƒเท„ beautiful UI เถ‘เถš display เถšเถปเถฑเท€เท with comprehensive features.


โœจ Features

Core Monitoring

  • โœ… CPU Usage Tracking - Real-time CPU percentage เทƒเท„ cores info
  • โœ… Memory Monitoring - Available, used, total memory tracking
  • โœ… Disk Space - Monitor root partition เทƒเท„ all mounted drives
  • โœ… System Uptime - Show เถšเถปเถฑเท€เท system เถšเทœเถดเท’ เถšเทเถฝเถบเถšเทŠ on เถญเท’เถถเทšเถฏ
  • โœ… Load Average - 1, 5, 15 minute load averages
  • โœ… Temperature Monitoring - CPU temperature tracking (if available)

Advanced Features

  • ๐ŸŒ Network Monitoring

    • Real-time upload/download speeds
    • Active network connections count
    • Per-interface IP information
  • ๐Ÿ’พ Disk I/O

    • Read/Write speed tracking
    • All mounted partitions monitoring
  • ๐ŸŽฎ GPU Monitoring

    • NVIDIA GPU utilization
    • GPU memory usage (if nvidia-smi available)
  • ๐Ÿ”‹ Battery Status

    • Battery percentage
    • Charging/Discharging status
  • ๐Ÿ‘ฅ User Management

    • Currently logged-in users count
    • Active session information

Process Management

  • ๐Ÿ” Process Search - Case-insensitive process search
  • โš™๏ธ Top Processes - Top 3 by CPU and Memory usage
  • ๐Ÿ›‘ Process Killing - Terminate processes safely by PID
  • ๐Ÿ“Š Process Details - PID, name, CPU%, Memory%

Data Export

  • ๐Ÿ“„ Text Logging - ~/.system-monitor.log
  • ๐Ÿ“‹ JSON Export - ~/.system-monitor.json
  • ๐Ÿ“Š CSV Export - ~/.system-monitor.csv

Alert System

  • โš ๏ธ High CPU Alert - CPU > 80%
  • โš ๏ธ High Memory Alert - Memory > 85%
  • โš ๏ธ Low Disk Space Alert - Disk > 90%
  • โš ๏ธ Critical Temperature Alert - Temp > 90ยฐC (with sound)

๐Ÿ“ฆ Installation

Prerequisites

  • Python 3.6 or higher
  • pip (Python package manager)
  • Linux or macOS (Windows เทƒเถณเท„เท modifications เทƒเท™เท€เท’เถบ เถบเท”เถญเท”)

Automatic Installation (Recommended)

# Download the installation script
chmod +x install_monitor.sh
./install_monitor.sh

Manual Installation

# Install psutil
pip3 install psutil

# Copy script to bin
sudo cp pymonitor_full.py /usr/local/bin/pymonitor
sudo chmod +x /usr/local/bin/pymonitor

# Add to ~/.bashrc or ~/.zshrc
echo "alias pymonitor='python3 /usr/local/bin/pymonitor'" >> ~/.bashrc

๐Ÿš€ Usage

Basic Commands

# Start interactive menu
pymonitor

# Start monitoring directly (no menu)
pymonitor --monitor

# Show help
pymonitor --help

# Run with full permissions
sudo pymonitor

Interactive Menu

When you run pymonitor without arguments, you'll see the menu:

๐Ÿ”ฅ MATRIX SYSTEM MONITOR - INTERACTIVE MENU ๐Ÿ”ฅ

1. Start Monitoring    - Begin real-time monitoring
2. Search Process      - Find processes by name
3. Kill Process        - Terminate a process by PID
4. View System Info    - Detailed system information
5. Export Logs         - View exported log files
6. Help                - Show help information
0. Exit                - Close the application

During Monitoring

  • Ctrl+C - Stop monitoring safely
  • Monitor runs every 3 seconds - Data is logged automatically
  • Real-time updates - All metrics update in real-time

๐Ÿ’ก Examples

Example 1: Basic Monitoring

$ pymonitor --monitor

This starts the monitoring dashboard immediately.

Example 2: Search for Firefox Process

$ pymonitor
# Choose option 2
Enter process name to search: firefox

Output:

Search Results for 'firefox':

PID     NAME                      CPU %     MEM %
----    ----                      -----     -----
1234    firefox                   5.2       12.3
1245    firefox-esr               2.1       8.5

Example 3: Kill a Process

$ pymonitor
# Choose option 3
Enter PID to kill: 1234
โœ“ Process 1234 terminated successfully

Example 4: View Logs

$ cat ~/.system-monitor.log
2024-01-15 10:30:45 | CPU:25.3% | MEM:45.2% | DISK:60.5%
2024-01-15 10:30:48 | CPU:28.1% | MEM:46.1% | DISK:60.5%
2024-01-15 10:30:51 | CPU:26.5% | MEM:45.8% | DISK:60.5%

๐Ÿ“Š Output Explanation

Main Dashboard

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘           ๐Ÿ”ฅ MATRIX SYSTEM MONITOR v3.0 (Full Edition) ๐Ÿ”ฅ         โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

SYSTEM OVERVIEW
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

CPU Usage        : [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘] 40.0%  (8 cores)
CPU Temperature  : 55.2ยฐC
Memory Usage     : [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘] 30.0%  (8.00GB/32.00GB)
Disk Usage       : [โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘] 65.0%  (325.50GB/500.00GB)
Load Average     : 0.45, 0.52, 0.48
System Uptime    : 5d 12h 45m

HARDWARE & NETWORK STATUS
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

๐ŸŒ Network Speed         : โฌ‡๏ธ  2.50MB/s   โฌ†๏ธ  1.20MB/s
๐Ÿ”— Active Connections    : 45
๐Ÿ‘ฅ Logged In Users       : 2
๐Ÿ’พ Disk I/O              : Read: 15.23MB/s  Write: 8.45MB/s
๐Ÿ”‹ Battery               : 95% [Charging ๐Ÿ”Œ]
๐ŸŽฎ GPU Utilization       : 35.2% (4.50GB/8.00GB)

๐Ÿ”ฅ TOP PROCESSES (BY CPU USAGE)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

PID     NAME                  CPU %     MEM %
1234    chrome                12.5      8.3
5678    python3               8.2       5.1
9012    firefox               6.1       10.5

๐Ÿ“ Log Files

Text Format (~/system-monitor.log)

2024-01-15 10:30:45 | CPU:25.3% | MEM:45.2% | DISK:60.5%
2024-01-15 10:30:48 | CPU:28.1% | MEM:46.1% | DISK:60.5%
2024-01-15 10:30:51 | CPU:26.5% | MEM:45.8% | DISK:60.5%

JSON Format (~/system-monitor.json)

{"timestamp": "2024-01-15T10:30:45", "data": {"cpu": 25.3, "mem": 45.2, "disk": 60.5, "temp": 55.2}}
{"timestamp": "2024-01-15T10:30:48", "data": {"cpu": 28.1, "mem": 46.1, "disk": 60.5, "temp": 54.8}}

CSV Format (~/system-monitor.csv)

Timestamp,CPU%,MEM%,DISK%,TEMPยฐC
2024-01-15 10:30:45,25.3,45.2,60.5,55.2
2024-01-15 10:30:48,28.1,46.1,60.5,54.8
2024-01-15 10:30:51,26.5,45.8,60.5,55.1

๐ŸŽจ Color Coding

Color Meaning
๐ŸŸข Green Normal/Good (< 50%)
๐ŸŸก Yellow Warning (50-80%)
๐Ÿ”ด Red Critical (> 80%)
๐Ÿ”ต Cyan Information
๐ŸŸฃ Magenta Hardware/Network

โšก System Requirements

Minimum

  • Python 3.6+
  • 50 MB free disk space
  • Linux or macOS

Recommended

  • Python 3.8+
  • 100 MB free disk space
  • 4+ core CPU
  • Elevated privileges (sudo)

Optional

  • NVIDIA drivers + nvidia-smi (GPU monitoring)
  • Sound card (for alerts)

๐Ÿ”’ Permissions

For full functionality, run with sudo:

sudo pymonitor

This allows access to:

  • Network interface details
  • System temperature sensors
  • All process information
  • Battery status

๐Ÿ› Troubleshooting

psutil not found

pip3 install psutil
# or
pip install psutil --break-system-packages

Permission Denied Errors

# Run with sudo for full access
sudo pymonitor

# Or give execute permissions
chmod +x /usr/local/bin/pymonitor

GPU Monitoring Not Working

# Install NVIDIA drivers
# Check nvidia-smi is available
nvidia-smi

No Temperature Data

  • Temperature sensors may not be available
  • Some CPUs don't expose temperature
  • Check: sensors command (if available)

Network Speed Shows N/A

  • Run with sudo for full access
  • Check network interface permissions

๐Ÿ“‹ Configuration

Default settings in the script:

LOG_FILE = os.path.expanduser("~/system-monitor.log")      # Log file location
JSON_LOG_FILE = os.path.expanduser("~/system-monitor.json") # JSON export
CSV_LOG_FILE = os.path.expanduser("~/system-monitor.csv")   # CSV export
INTERVAL = 3                                                  # Update interval (seconds)
MAX_LOG_ENTRIES = 1000                                       # Max log entries

To modify, edit /usr/local/bin/pymonitor and change the configuration section.


๐Ÿš€ Advanced Usage

Export logs to analyze

# View latest 100 entries
tail -n 100 ~/.system-monitor.log

# Parse JSON logs
python3 << 'EOF'
import json
with open(os.path.expanduser('~/.system-monitor.json')) as f:
    for line in f:
        data = json.loads(line)
        print(data['timestamp'], data['data']['cpu'])
EOF

# Analyze CSV with pandas
python3 << 'EOF'
import pandas as pd
df = pd.read_csv(os.path.expanduser('~/.system-monitor.csv'))
print(df.describe())
EOF

Run in background

# Run monitoring in background
nohup pymonitor --monitor > /dev/null 2>&1 &

# Or with screen
screen -S monitor
pymonitor --monitor
# Detach with Ctrl+A then D

Cron Job Integration

# Monitor every hour
0 * * * * /usr/local/bin/pymonitor --monitor > /dev/null 2>&1

# Or specific monitoring
0 9 * * * sudo /usr/local/bin/pymonitor --monitor > ~/monitor_$(date +\%Y\%m\%d_\%H\%M\%S).log 2>&1

๐Ÿ“ž Support & Issues

  • Check the Help Menu: pymonitor โ†’ Option 6
  • View Logs: ~/.system-monitor.log
  • Common Issues: See Troubleshooting section
  • Feature Requests: Modify the script as needed

๐Ÿ“„ License

This tool is provided as-is for system monitoring purposes.


๐ŸŽฏ Version History

v3.0 (Current)

  • โœ… Full-featured system monitoring
  • โœ… Interactive menu system
  • โœ… Process search and kill
  • โœ… JSON/CSV export
  • โœ… GPU monitoring
  • โœ… Temperature tracking
  • โœ… Alert system

v2.1

  • CPU, Memory, Disk monitoring
  • Network speed tracking
  • Top processes display

v1.0

  • Basic monitoring

Happy Monitoring! ๐Ÿ”ฅ

For updates and improvements, keep the script handy and modify as needed!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matrix_system_monitor-3.0.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matrix_system_monitor-3.0.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file matrix_system_monitor-3.0.0.tar.gz.

File metadata

  • Download URL: matrix_system_monitor-3.0.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matrix_system_monitor-3.0.0.tar.gz
Algorithm Hash digest
SHA256 245c317484c4d2813acf9e47b1c53d9cc5f9be84e97c40065781d5f154104cdb
MD5 67a21d421f953e56a1fc50c9072e539c
BLAKE2b-256 c8e3c7ebc8b17b13e76cd3515615b4cab549c42bdc1fb32a588f5c92045aec91

See more details on using hashes here.

Provenance

The following attestation bundles were made for matrix_system_monitor-3.0.0.tar.gz:

Publisher: python-publish.yml on Lakmal2078/matrix_System_Monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file matrix_system_monitor-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for matrix_system_monitor-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e15da71bef7b83ecf8d5525b355cebc740772bff11462a77d206dab3240509d8
MD5 55f4bcd099a40f73cf2ac54c513f7694
BLAKE2b-256 4f9a7ae65f17a3e40d4b4a30977bc28f7900af6e184b44884611344b36097291

See more details on using hashes here.

Provenance

The following attestation bundles were made for matrix_system_monitor-3.0.0-py3-none-any.whl:

Publisher: python-publish.yml on Lakmal2078/matrix_System_Monitor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page