Skip to main content

Monitoring

System Monitoring

Ubuntu Monitoring Setup bash


# Install monitoring tools
sudo apt install -y htop iotop nethogs
# Install Python monitoring libraries
pip install psutil prometheus-client
# Create monitoring script
vim /opt/autogen/monitoring.py

RHEL8 Monitoring Setup

bash



# Install monitoring tools
sudo dnf install -y htop iotop nethogs
# Install EPEL for additional tools
sudo dnf install -y epel-release
sudo dnf install -y glances
# Install Python monitoring libraries
pip install psutil prometheus-client

Application Monitoring Script

python


# /opt/autogen/monitoring.py
import psutil
import time
import logging
from datetime import datetime
# Configure logging
logging.basicConfig(
filename='/var/log/autogen/monitoring.log',
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
def monitor_system():
"""Monitor system resources"""
while True:
# CPU usage
cpu_percent = psutil.cpu_percent(interval=1)
# Memory usage
memory = psutil.virtual_memory()
memory_percent = memory.percent
# Disk usage
disk = psutil.disk_usage('/')
disk_percent = disk.percent
# Network I/O
network = psutil.net_io_counters()
# Log metrics
logging.info(f"CPU: {cpu_percent}%, Memory: {memory_percent}%, Disk: {disk_percent}%")
# Check thresholds
if cpu_percent > 80:
logging.warning(f"High CPU usage: {cpu_percent}%")
if memory_percent > 85:
logging.warning(f"High memory usage: {memory_percent}%")
if disk_percent > 90:
logging.warning(f"High disk usage: {disk_percent}%")
time.sleep(60) # Monitor every minute
if __name__ == "__main__":
monitor_system()