Monitoring & Metrics

    Track performance and health of your cloud instances

    The Cloud Control Panel provides basic performance metrics for your instances. For advanced monitoring, you can deploy third-party monitoring solutions on your instances.

    Built-in Metrics

    The Cloud Control Panel displays basic metrics for each instance:

    CPU Usage

    Percentage of CPU utilization over time

    Network Traffic

    Inbound and outbound bandwidth usage

    Disk I/O

    Read/write operations

    Viewing Metrics

    1
    Log into the Cloud Control Panel
    2
    Select your instance from the Instances tab
    3
    Click the Metrics or Overview tab
    4
    View graphs showing historical performance data

    Installing Monitoring Agents

    For more detailed monitoring, install monitoring agents on your instances:

    1. Netdata (Free, Open Source)

    Real-time performance monitoring with beautiful dashboards:

    # Install Netdata
    bash <(curl -Ss https://my-netdata.io/kickstart.sh)
    
    # Access at http://your-ip:19999

    2. Grafana + Prometheus

    Industry-standard monitoring stack:

    # Install Prometheus
    wget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz
    tar xvfz prometheus-*.tar.gz
    
    # Install Grafana
    apt-get install -y adduser libfontconfig1
    wget https://dl.grafana.com/oss/release/grafana_10.0.0_amd64.deb
    dpkg -i grafana_10.0.0_amd64.deb
    systemctl start grafana-server

    3. Uptime Kuma

    Monitor service availability:

    # Install with Docker
    docker run -d --restart=always \
      -p 3001:3001 \
      -v uptime-kuma:/app/data \
      --name uptime-kuma \
      louislam/uptime-kuma:1

    See our Uptime Kuma deployment guide for detailed instructions.

    Key Metrics to Monitor

    CPU Usage

    # Monitor CPU usage over time
    top
    htop
    
    # Check average CPU load
    uptime
    cat /proc/loadavg

    Memory Usage

    # Check memory usage
    free -h
    
    # View top memory consumers
    ps aux --sort=-%mem | head

    Disk Space

    # Check disk usage
    df -h
    
    # Find large directories
    du -sh /* | sort -h

    Network Traffic

    # Install iftop for real-time network monitoring
    apt install iftop
    iftop -i eth0

    Setting Up Alerts

    Simple Email Alerts with Cron

    # Create monitoring script
    cat > /usr/local/bin/disk-check.sh << 'EOF'
    #!/bin/bash
    USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')
    if [ $USAGE -gt 80 ]; then
      echo "Disk usage is above 80%: $USAGE%" | mail -s "Disk Alert" admin@example.com
    fi
    EOF
    
    chmod +x /usr/local/bin/disk-check.sh
    
    # Add to crontab (run hourly)
    echo "0 * * * * /usr/local/bin/disk-check.sh" | crontab -

    Log Management

    System Logs

    # View system logs
    journalctl -xe
    
    # Follow logs in real-time
    journalctl -f
    
    # View specific service logs
    journalctl -u nginx

    Application Logs

    Common log locations:

    • /var/log/nginx/ - Nginx web server logs
    • /var/log/apache2/ - Apache web server logs
    • /var/log/mysql/ - MySQL database logs

    Performance Testing

    Network Speed Test

    # Install speedtest-cli
    apt install speedtest-cli
    
    # Run speed test
    speedtest-cli

    Disk Performance Test

    # Write test
    dd if=/dev/zero of=/tmp/test bs=1G count=1 oflag=direct
    
    # Read test
    dd if=/tmp/test of=/dev/null bs=1G count=1 iflag=direct
    
    # Clean up
    rm /tmp/test

    Pro Tip

    Start with simple monitoring using built-in tools and free solutions like Netdata. Add more sophisticated monitoring as your needs grow and you understand your application's behavior better.