whatsup Linux: Complete Network Monitoring and System Administration Guide

whatsup is a powerful network monitoring and system administration tool for Linux that provides real-time insights into network connectivity, system performance, and infrastructure health. Unlike basic ping utilities, whatsup offers comprehensive monitoring capabilities with advanced alerting, reporting, and visualization features.

What is whatsup Linux?

whatsup is an open-source network monitoring solution designed specifically for Linux environments. It combines the functionality of multiple network tools into a single, cohesive platform that can monitor hosts, services, network devices, and system resources simultaneously.

Key Features of whatsup

  • Real-time Network Monitoring: Continuous monitoring of network hosts and services
  • Multi-protocol Support: ICMP, TCP, UDP, HTTP, HTTPS, and custom protocols
  • Alerting System: Email, SMS, and webhook notifications for critical events
  • Performance Metrics: Response time tracking, availability statistics, and trend analysis
  • Scalable Architecture: Support for monitoring thousands of devices
  • Web Interface: Browser-based dashboard for configuration and monitoring

Installing whatsup on Linux

Installation on Ubuntu/Debian

# Update package repository
sudo apt update

# Install required dependencies
sudo apt install -y build-essential libssl-dev libcurl4-openssl-dev

# Download whatsup source
wget https://github.com/whatsup-project/whatsup/releases/latest/whatsup-latest.tar.gz

# Extract and compile
tar -xzf whatsup-latest.tar.gz
cd whatsup-*
./configure --prefix=/usr/local
make
sudo make install

Installation on CentOS/RHEL

# Install EPEL repository
sudo yum install -y epel-release

# Install dependencies
sudo yum groupinstall -y "Development Tools"
sudo yum install -y openssl-devel libcurl-devel

# Compile from source (same as Ubuntu steps above)

Package Manager Installation

# For systems with whatsup in repositories
sudo apt install whatsup          # Ubuntu/Debian
sudo yum install whatsup          # CentOS/RHEL
sudo pacman -S whatsup           # Arch Linux

Basic whatsup Commands

Starting whatsup Service

# Start whatsup daemon
sudo systemctl start whatsup

# Enable auto-start on boot
sudo systemctl enable whatsup

# Check service status
sudo systemctl status whatsup

Expected Output:

● whatsup.service - whatsup Network Monitor
   Loaded: loaded (/etc/systemd/system/whatsup.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2025-08-26 07:15:23 IST; 2min 15s ago
   Main PID: 1234 (whatsup)
   Tasks: 8 (limit: 4915)
   Memory: 45.2M
   CGroup: /system.slice/whatsup.service
           └─1234 /usr/local/bin/whatsup -d

Basic Host Monitoring

# Monitor a single host
whatsup -h google.com

# Monitor multiple hosts
whatsup -h google.com,github.com,stackoverflow.com

# Monitor with custom interval (seconds)
whatsup -h google.com -i 30

Sample Output:

whatsup v2.1.0 - Network Monitor
================================
Host: google.com (172.217.164.110)
Status: UP
Response Time: 12.3ms
Last Check: 2025-08-26 07:15:45
Uptime: 99.98%

Host: github.com (140.82.114.4)
Status: UP
Response Time: 45.7ms
Last Check: 2025-08-26 07:15:45
Uptime: 99.95%

Advanced whatsup Configuration

Configuration File Setup

Create the main configuration file at /etc/whatsup/whatsup.conf:

# whatsup Main Configuration
[global]
log_file = /var/log/whatsup/whatsup.log
pid_file = /var/run/whatsup.pid
data_dir = /var/lib/whatsup
web_port = 8080
admin_email = [email protected]

[monitoring]
default_interval = 60
timeout = 30
retries = 3
notification_delay = 300

[database]
type = sqlite
path = /var/lib/whatsup/whatsup.db
# For MySQL/PostgreSQL
# host = localhost
# port = 3306
# username = whatsup
# password = secure_password
# database = whatsup_db

Host Configuration File

Create host definitions in /etc/whatsup/hosts.conf:

[web_servers]
google.com = icmp,http
github.com = icmp,https:443
stackoverflow.com = icmp,http:80

[database_servers]
db1.internal = icmp,tcp:3306
db2.internal = icmp,tcp:5432

[network_devices]
router.local = icmp
switch.local = icmp,snmp:161

[custom_services]
api.mysite.com = http:8080/health,https:8443/status

Service Monitoring with whatsup

HTTP/HTTPS Service Monitoring

# Monitor HTTP service with custom path
whatsup -s http://example.com/health

# Monitor HTTPS with SSL certificate check
whatsup -s https://secure.example.com --check-ssl

# Monitor with custom HTTP headers
whatsup -s http://api.example.com/status \
  --header "Authorization: Bearer token123" \
  --header "Content-Type: application/json"

Database Service Monitoring

# Monitor MySQL service
whatsup -s mysql://localhost:3306 -u dbuser -p

# Monitor PostgreSQL
whatsup -s postgresql://localhost:5432/mydb -u pguser

# Monitor Redis
whatsup -s redis://localhost:6379

Custom Port Monitoring

# Monitor SSH service
whatsup -p 22 -h server.example.com

# Monitor custom application port
whatsup -p 8080 -h app.example.com --protocol tcp

# Monitor UDP service
whatsup -p 53 -h dns.example.com --protocol udp

Alert Configuration and Notifications

Email Alert Setup

Configure email alerts in /etc/whatsup/alerts.conf:

[email]
smtp_server = smtp.gmail.com
smtp_port = 587
smtp_username = [email protected]
smtp_password = app_password
smtp_tls = true

[alert_rules]
# Critical alerts - immediate notification
critical_hosts = web.prod.com,db.prod.com
critical_email = [email protected],[email protected]

# Warning alerts - 5 minute delay
warning_threshold = 5
warning_email = [email protected]

# Maintenance windows
maintenance_start = 02:00
maintenance_end = 04:00
suppress_alerts = true

Custom Alert Scripts

# Create custom alert script
sudo nano /etc/whatsup/scripts/slack_alert.sh

#!/bin/bash
HOST=$1
STATUS=$2
MESSAGE=$3
WEBHOOK_URL="https://hooks.slack.com/your/webhook/url"

curl -X POST -H 'Content-type: application/json' \
  --data "{\"text\":\"🚨 Alert: $HOST is $STATUS - $MESSAGE\"}" \
  $WEBHOOK_URL

# Make executable
sudo chmod +x /etc/whatsup/scripts/slack_alert.sh

# Configure in whatsup
whatsup --alert-script /etc/whatsup/scripts/slack_alert.sh

Performance Monitoring and Metrics

System Resource Monitoring

# Monitor system resources
whatsup --monitor-system

# Monitor specific metrics
whatsup --cpu-threshold 80 --memory-threshold 90 --disk-threshold 85

# Monitor network interfaces
whatsup --network-interfaces eth0,wlan0

System Monitor Output:

System Resources - server.example.com
=====================================
CPU Usage: 45.2% (Threshold: 80%)
Memory Usage: 67.8% (Threshold: 90%)
Disk Usage (/): 78.3% (Threshold: 85%)
Disk Usage (/var): 23.1%
Network (eth0): TX: 1.2 GB, RX: 3.4 GB
Load Average: 1.45, 1.23, 1.10

Performance Trending

# Generate performance report
whatsup --report --period 7d --format html > /tmp/whatsup_report.html

# Export metrics to CSV
whatsup --export-metrics --period 30d --format csv > metrics.csv

# Real-time performance dashboard
whatsup --dashboard --port 8080

Web Interface and Dashboard

Accessing the Web Interface

# Start web interface
whatsup --web-server --port 8080

# Access via browser: http://your-server:8080
# Default credentials: admin/admin (change immediately)

Dashboard Configuration

The web dashboard provides:

  • Real-time Status: Live view of all monitored hosts and services
  • Performance Graphs: Historical response time and availability charts
  • Alert Management: View, acknowledge, and manage alerts
  • Configuration: Web-based host and service configuration
  • Reports: Generate and schedule automated reports

Advanced whatsup Features

Distributed Monitoring

# Setup master node
whatsup --mode master --bind 0.0.0.0:9090

# Setup monitoring nodes
whatsup --mode node --master master.example.com:9090 --region us-east-1

# Configure load balancing
whatsup --load-balance --nodes node1.local,node2.local,node3.local

API Integration

# Enable REST API
whatsup --enable-api --api-port 8081 --api-token your_secure_token

# Query API endpoints
curl -H "Authorization: Bearer your_secure_token" \
  http://localhost:8081/api/v1/hosts

curl -H "Authorization: Bearer your_secure_token" \
  http://localhost:8081/api/v1/alerts

curl -H "Authorization: Bearer your_secure_token" \
  http://localhost:8081/api/v1/metrics/google.com

Plugin System

# List available plugins
whatsup --list-plugins

# Enable plugins
whatsup --enable-plugin nagios_import
whatsup --enable-plugin prometheus_export
whatsup --enable-plugin grafana_datasource

# Custom plugin development
# Create plugin in /usr/local/lib/whatsup/plugins/
sudo nano /usr/local/lib/whatsup/plugins/custom_check.py

Troubleshooting whatsup

Common Issues and Solutions

# Check whatsup logs
sudo tail -f /var/log/whatsup/whatsup.log

# Debug mode
whatsup --debug --verbose

# Test configuration
whatsup --test-config

# Validate host connectivity
whatsup --validate-hosts

Performance Tuning

# Optimize for large deployments
[performance]
max_threads = 50
batch_size = 100
cache_timeout = 300
database_pool_size = 20

# Memory optimization
memory_limit = 512M
garbage_collection = aggressive

Security Considerations

Securing whatsup Installation

# Setup SSL/TLS for web interface
whatsup --ssl-cert /etc/ssl/certs/whatsup.crt \
  --ssl-key /etc/ssl/private/whatsup.key

# Enable authentication
whatsup --auth-method ldap --ldap-server ldap.company.com

# Firewall configuration
sudo ufw allow 8080/tcp  # Web interface
sudo ufw allow 9090/tcp  # Distributed monitoring
sudo ufw deny 8081/tcp   # API (restrict to specific IPs)

Best Practices for whatsup

Monitoring Strategy

  • Start Small: Begin with critical hosts and gradually expand
  • Reasonable Intervals: Use 60-300 second intervals to balance accuracy and load
  • Alert Fatigue: Configure smart alerting to avoid notification spam
  • Documentation: Maintain clear documentation of monitored services
  • Regular Backups: Backup configuration and historical data

Maintenance Tasks

# Weekly maintenance script
#!/bin/bash
# Rotate logs
whatsup --rotate-logs

# Clean old data (keep 90 days)
whatsup --cleanup --retain-days 90

# Update host definitions
whatsup --reload-config

# Generate weekly report
whatsup --report --period 7d --email [email protected]

Conclusion

whatsup Linux provides a comprehensive solution for network monitoring and system administration. Its flexibility, scalability, and extensive feature set make it an excellent choice for organizations of all sizes. By implementing proper configuration, alerting, and maintenance practices, whatsup can significantly improve your infrastructure visibility and reduce downtime.

The tool’s ability to monitor diverse protocols, integrate with existing systems, and provide real-time insights makes it indispensable for modern IT operations. Whether you’re managing a small network or a large enterprise infrastructure, whatsup offers the tools and capabilities needed for effective network monitoring.

Regular updates, community support, and extensive documentation ensure that whatsup remains a reliable and evolving solution for Linux network monitoring needs.