#!/bin/bash # --- CONFIGURATION --- # Add the exact service names you want to monitor here SERVICES=("nginx" "apache2" "httpd" "mysql" "mariadb" "docker" "sshd" "salt-minion" "postfix" "sendmail" "veeamservice" "publicweb") # --- COLORS --- GREEN='\033[1;32m' BLUE='\033[1;34m' RED='\033[1;31m' NC='\033[0m' clear echo -e "${BLUE}===================================================${NC}" echo -e "${GREEN} SYSTEM INFORMATION: $(hostname)${NC}" echo -e "${BLUE}===================================================${NC}" # 1. OS & Kernel Info (NEW) # Tries to grab the "Pretty Name" (e.g., Ubuntu 20.04 LTS) from os-release if [ -f /etc/os-release ]; then . /etc/os-release os_name=$PRETTY_NAME else # Fallback for very old systems os_name=$(uname -s) fi kernel_version=$(uname -r) echo -e "OS: $os_name" echo -e "KERNEL: $kernel_version" echo -e "UPTIME: $(uptime -p)" echo -e "LOAD AVG: $(cat /proc/loadavg | awk '{print $1, $2, $3}')" echo "" # 2. Memory Usage mem_total=$(free -m | awk '/Mem:/ { print $2 }') mem_used=$(free -m | awk '/Mem:/ { print $3 }') mem_percent=$(awk "BEGIN {printf \"%.2f\",(${mem_used}/${mem_total})*100}") echo -e "MEMORY: ${mem_used}MB / ${mem_total}MB (${mem_percent}%)" # 3. Disk Usage disk_usage=$(df -h / | awk '/dev/') echo -e "DISK (/): $disk_usage" echo "" # 4. Service Status echo -e "${BLUE}--- SERVICE STATUS ---${NC}" for service in "${SERVICES[@]}"; do if systemctl list-unit-files --state=enabled,disabled,generated | grep -Fq "$service.service"; then if systemctl is-active --quiet "$service"; then echo -e " $service: ${GREEN}● ACTIVE${NC}" else echo -e " $service: ${RED}● DOWN/INACTIVE${NC}" fi elif systemctl is-active --quiet "$service"; then echo -e " $service: ${GREEN}● ACTIVE${NC}" fi done # 5. Network & User Info ip_addr=$(hostname -I | cut -d' ' -f1) echo "" echo -e "IP ADDR: $ip_addr" echo -e "USER: $USER" echo -e "${BLUE}===================================================${NC}" echo ""