Back to blog
January 13, 2026Guides

How to Set Up Server Monitoring

Complete guide on setting up server monitoring tools like Netdata, Prometheus, and log management for proactive server management.

How to Set Up Server Monitoring

Server monitoring is essential for maintaining optimal performance, detecting issues early, and ensuring high availability. This guide covers setting up comprehensive monitoring solutions for your Hiddence server.

Installing Netdata (Real-time Monitoring)

Netdata provides real-time performance monitoring with a beautiful web interface:

bash
# Install Netdata
bash <(curl -Ss https://my-netdata.io/kickstart.sh)

# Access dashboard at http://your-server-ip:19999

# Configure Netdata
sudo nano /etc/netdata/netdata.conf
# Set bind to = your-server-ip

# Restart Netdata
sudo systemctl restart netdata

Setting Up Prometheus and Grafana

For advanced monitoring with custom dashboards:

bash
# Download 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
cd prometheus-*

# Create configuration
nano prometheus.yml

# Start Prometheus
./prometheus --config.file=prometheus.yml

# Install Node Exporter for system metrics
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
cd node_exporter-*
./node_exporter

Setting Up Email Alerts

Configure email notifications for critical events:

bash
# Install mailutils
sudo apt install mailutils -y

# Configure Postfix
sudo dpkg-reconfigure postfix
# Choose 'Internet Site' and enter your domain

# Test email
echo "Test message" | mail -s "Server Alert" your-email@example.com

# Set up cron job for monitoring
crontab -e
# Add: */5 * * * * /path/to/monitoring-script.sh

Log Management

Set up centralized log management:

bash
# Install logrotate (usually pre-installed)
sudo apt install logrotate -y

# Configure log rotation
sudo nano /etc/logrotate.d/myapp

# Example configuration:
/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
}

# View system logs
sudo journalctl -u service-name
sudo tail -f /var/log/syslog

Monitoring Best Practices

  • Monitor CPU, memory, disk, and network usage
  • Set up alerts for critical thresholds (CPU > 80%, Disk > 90%)
  • Monitor application logs for errors
  • Track uptime and response times
  • Monitor security events and failed login attempts
  • Regular backup verification
  • Document your monitoring setup and procedures