Excalibur's Sheath

Network Monitoring, Logging, and Alerts

Jul 13, 2025 By: Jordan McGilvraymonitoring,logging,alerts,homelab,sysadmin

Homelab: Mastering the Network: Part 6 of 6

Last week, we explored how to troubleshoot network issues like a pro using essential tools such as ping, traceroute, tcpdump, and nmap. If you missed it, be sure to check out Troubleshooting Network Issues Like a Pro for a deep dive into diagnosing common network problems in your homelab. Those fundamental skills form the backbone of network management, helping you identify and resolve issues quickly.

While reactive troubleshooting is critical, adopting proactive network monitoring and logging ensures you can spot issues before they escalate. Centralized logging and dashboards give you comprehensive visibility and the ability to track trends, performance, and security events.

This guide covers a wide range of monitoring tools, logging systems, dashboards, and alerting mechanisms tailored for homelab environments—from simple setups to advanced configurations. Whether you run a single server or a complex multi-device network, there are strategies here to help you maintain uptime and security.

As you build your monitoring system, keep in mind how foundational networking elements like DNS and port management affect the flow and accessibility of your services. For a solid understanding of these basics, see The DNS Process and Ports for Everyone. Understanding these concepts will help you better interpret logs and metrics as you configure your monitoring stack.

Installation Commands for Common Monitoring Tools

Debian/Ubuntu (APT)

# Update package list
sudo apt update
# Install Prometheus Node Exporter
sudo apt install prometheus-node-exporter
# Install rsyslog (usually pre-installed)
sudo apt install rsyslog
# Install Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-8.8.2-amd64.deb
sudo dpkg -i filebeat-oss-8.8.2-amd64.deb
#Note: You may also need to install dependencies via sudo apt --fix-broken install if dpkg throws errors.
# Install Webmin
wget http://prdownloads.sourceforge.net/webadmin/webmin_2.013_all.deb
sudo dpkg --install webmin_2.013_all.deb
# Install Uptime Kuma (requires Node.js)
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm install
node server.js

RHEL/CentOS/AlmaLinux/Fedora (DNF or YUM)

# Update system
sudo dnf update -y  # or sudo yum update -y
# Install Prometheus Node Exporter
sudo dnf install prometheus-node_exporter -y  # or use binary from Prometheus website
# Install rsyslog (typically installed by default)
sudo dnf install rsyslog -y
# Install Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-8.8.2-x86_64.rpm
sudo rpm -i filebeat-oss-8.8.2-x86_64.rpm
# Install Webmin
sudo dnf install perl perl-Net-SSLeay openssl perl-IO-Tty perl-Encode-Detect -y
wget http://prdownloads.sourceforge.net/webadmin/webmin-2.013-1.noarch.rpm
sudo rpm -U webmin-2.013-1.noarch.rpm
# Install Uptime Kuma
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm install
node server.js

Arch Linux / Manjaro (Pacman)

Some of the software listed, like filebeat-oss and webmin are in the AUR. You’ll need to install an AUR helper like yay or paru, if you haven’t already done so.

# Update system
sudo pacman -Syu
# Install Prometheus Node Exporter
sudo pacman -S prometheus-node-exporter
# Install rsyslog
sudo pacman -S rsyslog
# Install Filebeat
yay -S filebeat-oss  # AUR package; may require an AUR helper like yay or paru
# Install Webmin (AUR)
yay -S webmin
# Install Uptime Kuma
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm install
node server.js
# Note: Tools like `filebeat-oss` and `webmin` are in the AUR. You’ll need an AUR helper like `yay` or `paru` installed.

Starting and enabling systemd services

# Prometheus Node Exporter
sudo systemctl enable prometheus-node-exporter
sudo systemctl start prometheus-node-exporter
# rsyslog (often enabled by default, but just in case)
sudo systemctl enable rsyslog
sudo systemctl start rsyslog
# Filebeat
sudo systemctl enable filebeat
sudo systemctl start filebeat
# Webmin
sudo systemctl enable webmin
sudo systemctl start webmin
# Note: Uptime Kuma does not include a systemd service by default
# You can run it manually:
node server.js
# Or configure it using a process manager like PM2 or by creating a systemd unit file
# You can create a systemd unit file (see Uptime Kuma docs or community examples) and manage it with systemd

For detailed installation steps, always refer to the official documentation linked in each section below.

Understanding Network Monitoring and Logging

Network monitoring involves collecting data about your devices, traffic, and services to understand their health and performance. Logging records events and messages from various systems—network devices, servers, applications—which can be invaluable for troubleshooting and security auditing.

Centralized logging brings together logs from multiple sources in one place, making it easier to search and analyze. Tools like syslog servers and the ELK stack help with this aggregation and visualization.

Properly configured monitoring tools track metrics like bandwidth usage, CPU load, uptime, and latency. They can generate alerts when anomalies or failures occur, so you don’t have to manually check your systems constantly.

When selecting monitoring and logging tools, consider your homelab’s size and complexity, your comfort with setup and maintenance, and your goals—whether it’s simple uptime checks or full security auditing. For detailed system auditing tools, check out our guide on File Auditing and Security Tools.

Logs vs. Metrics

  • Logs show discrete events (errors, warnings, service actions).
  • Metrics show trends over time (CPU load, memory use).
    Use both for a full picture of your system’s health.

Categories of Tools and Their Roles

Before diving into configurations, it helps to understand the categories of tools typically used in a homelab monitoring setup:

  • Log Collectors and Aggregators: Collect and centralize logs from all devices. Examples include rsyslog, Filebeat, and the ELK (Elasticsearch, Logstash, Kibana) stack.

  • Metrics Collectors: Gather performance metrics like CPU, memory, network throughput. Common tools are Prometheus (with exporters like Node Exporter) and Netdata.

  • Visualization Dashboards: Display logs and metrics visually to spot trends and issues. Grafana is a popular choice for metrics; Kibana serves for logs.

  • Alerting Systems: Notify you via email, SMS, or apps when metrics cross thresholds or when suspicious logs appear. Prometheus Alertmanager and Uptime Kuma are good examples.

  • System and Service Management Panels: Provide control over system configuration and hosting management. Tools like Webmin, ISPConfig, Virtualmin, Cockpit, and Usermin fall here.

  • Uptime and Availability Monitors: Specialized tools that check if your services and websites are reachable. Uptime Kuma is a popular open-source option.

Centralized Logging Solutions

Centralized logging simplifies troubleshooting and security monitoring. Instead of searching through individual log files scattered across devices, logs are sent to a central server where they can be indexed and searched easily.

  • rsyslog + Logwatch: A lightweight approach using rsyslog to collect logs and Logwatch to generate daily summaries.
    Example minimal config to forward logs to a central syslog server (192.168.1.100):

    *.* @192.168.1.100:514
    
  • Filebeat + ELK Stack: More advanced, Filebeat ships logs to Elasticsearch where they can be analyzed and visualized in Kibana. Adding Fail2ban helps block IPs showing malicious behavior detected via logs.

Centralized logging can also capture logs related to DNS queries and responses, helping you analyze traffic patterns and troubleshoot issues—refer back to our The DNS Process article for more context.

Metrics Collection and Visualization

Metrics collection tracks system and network health indicators over time.

  • Prometheus + Node Exporter + Grafana: A popular stack for metric collection, storage, and visualization. Node Exporter runs on servers to expose system metrics; Prometheus collects them; Grafana displays beautiful customizable dashboards.
    Example to start Node Exporter:

    sudo systemctl start prometheus-node-exporter
    
  • Netdata: Provides real-time performance monitoring with detailed charts and minimal setup, great for beginners and quick diagnostics.

When monitoring network traffic, it’s helpful to understand ports and protocols in use—tools like those explained in Ports for Everyone complement your metrics dashboards nicely.

Dashboards and Control Panels

Dashboards help visualize data at a glance. Control panels assist with server and service management.

  • ISPConfig: Multi-user hosting control panel with web-based interfaces for managing websites, emails, DNS, and FTP.

  • Webmin + Usermin + Virtualmin: Modular system administration suite. Webmin provides system config, Virtualmin offers web hosting management, and Usermin offers user-level access. Together, they provide a layered management approach:
    • Webmin handles overall system and service configuration.
    • Virtualmin manages virtual hosts and web hosting features.
    • Usermin offers individual user portals for limited control.
  • Cockpit: Modern Linux system management interface, emphasizing simplicity and real-time metrics.

Including an uptime monitoring tool like Uptime Kuma alongside these panels provides service reachability alerts and status pages.

Alerting and Notifications

Alerts help you respond quickly to issues.

  • Prometheus Alertmanager: Works with Prometheus metrics to send alerts on threshold breaches.

  • Uptime Kuma: Alerts you when monitored services go down via various notification channels.

  • Fail2ban: Parses logs to detect suspicious activity (like repeated failed login attempts) and can block offending IPs automatically.

Setting alerting thresholds carefully reduces noise while ensuring critical issues get noticed.

Alert Tuning Matters

Set your thresholds carefully to avoid alert fatigue. If you’re getting pinged every time CPU usage hits 70% for a second, you’ll start ignoring real issues. Consider:

  • Adding a time window (e.g., “CPU > 90% for 5 minutes” instead of any spike).
  • Using severity levels (warning vs. critical).
  • Creating maintenance windows to suppress non-critical alerts during planned downtime.

Choosing Your Stack: Tool Types and Options

Selecting tools depends on your homelab’s needs and your comfort level. Here’s a table of common tool types and popular options to help you mix and match your ideal setup:

Tool Type Example Tools Purpose
Log Collector rsyslog, Filebeat Aggregate logs from multiple sources
Log Analysis & Search Elasticsearch, Logwatch, Kibana Index and search logs, generate summaries
Metrics Collector Prometheus, Node Exporter, Netdata Collect system and network performance metrics
Dashboard Grafana, Kibana, Cockpit Visualize logs and metrics
Alerting Prometheus Alertmanager, Uptime Kuma Notify on failures or anomalies
Hosting & System Mgmt ISPConfig, Webmin, Virtualmin, Usermin Manage servers, hosting, users
Security Automation Fail2ban Parse logs, block suspicious IPs

Example Configurations

Rather than fixed samples, think about combining tools by role:

  • Lightweight monitoring:
    Use rsyslog for logging, Netdata for real-time metrics, and Uptime Kuma for uptime alerts. Ideal for small homelabs needing straightforward insight.

  • Metrics-focused stack:
    Combine Prometheus with Node Exporter for metrics, and Grafana for powerful dashboards. Add Prometheus Alertmanager for alerting.

  • Comprehensive logging and management:
    Deploy FilebeatElasticsearch + Kibana for deep log analysis. Pair with Webmin (plus Usermin and Virtualmin) for system and hosting management, and add Fail2ban for security.

  • Multi-user hosting with monitoring:
    Use ISPConfig for multi-user hosting control, combined with Uptime Kuma for uptime monitoring, supplemented by Cockpit for server health overview.

Conclusion

Building an effective monitoring and logging system is a cornerstone of maintaining a healthy, secure homelab. By understanding the roles different tools play—from log collection to alerting—you can design a setup tailored to your environment.

Start small with lightweight solutions like rsyslog and Netdata and grow into more advanced stacks like Prometheus and ELK as your homelab scales. Integrating system and hosting control panels such as ISPConfig or Webmin can streamline management alongside monitoring.

Remember that the value of monitoring lies not just in data collection but in actionable insights. Alerts and dashboards transform raw data into timely knowledge, allowing you to anticipate and resolve issues before they impact your services.

For additional context on network monitoring tools and their ecosystem, consider revisiting Mastering Network Tools and our previous posts referenced throughout this guide. Combining these resources will help you build a resilient, well-monitored homelab network.

Once you have basic monitoring in place, you’ll find troubleshooting easier and gain peace of mind knowing your homelab is being watched closely.

More from the "Homelab: Mastering the Network" Series: