Server Health Checks - 1
✅ Windows Server Health Check Checklist
1. System Performance
- CPU
Usage: Check for sustained high CPU usage (Task Manager, Resource
Monitor, or perfmon).
- Memory
Usage: Verify sufficient free memory and no memory leaks.
- Disk
Usage & Health:
- Ensure
no disks are nearing capacity (>90% usage).
- Use chkdsk
or tools like CrystalDiskInfo to check disk health.
- Network
Usage: Monitor for abnormal traffic or bottlenecks.
2. Event Logs
- Event
Viewer → Check logs under:
- System
- Application
- Security
- Look
for critical errors, warnings, or repetitive failures.
3. Services
- Ensure
all critical services are running:
- DHCP
- DNS
- Active
Directory Domain Services (AD DS)
- Print
Spooler (if used)
- Set
proper startup types (Automatic, Manual, Disabled) using services.msc.
4. Updates & Patch Management
- Ensure
Windows Updates are:
- Installed
regularly.
- Successfully
applied (check WindowsUpdate.log or Settings).
- Validate
third-party application patches.
5. Antivirus & Security
- Antivirus
is active and updated.
- Perform
regular scans.
- Check
Windows Defender status with:
- Get-MpComputerStatus
- Firewall
is enabled and configured appropriately.
6. Active Directory (if applicable)
- Use dcdiag
to check domain controller health.
- Use repadmin
/replsummary to check replication status.
- Verify
SYSVOL and NETLOGON shares exist and are accessible.
7. Backup & Restore
- Confirm
backups are recent and successful.
- Test restore
procedures periodically.
- Check
Windows Server Backup logs or third-party software logs.
8. Disk Cleanup & Temp Files
- Use cleanmgr
or Storage Sense.
- Delete
unnecessary log files and temp files.
9. Scheduled Tasks
- Open Task
Scheduler → Look for failed or misconfigured tasks.
10. User Accounts & Access Control
- Disable
unused accounts.
- Check
group memberships (especially for Administrators).
- Audit
login failures (Event ID 4625) and success logs (Event ID 4624).
🛠️ Useful Tools &
Commands
Task |
Tool/Command |
CPU/Disk Monitoring |
perfmon, Resource Monitor |
Event Logs |
eventvwr.msc |
Active Directory |
dcdiag, repadmin |
Disk Health |
chkdsk, Get-PhysicalDisk |
Backup Status |
Windows Server Backup MMC |
System Info |
systeminfo |
Services |
services.msc |
Firewall Config |
wf.msc, Get-NetFirewallProfile |
Antivirus Status |
Get-MpComputerStatus |
📄 Optional: PowerShell
Health Check Script
You can automate checks using PowerShell. Example snippet:
Get-ComputerInfo | Select CsName, WindowsVersion,
OsArchitecture
Get-EventLog -LogName System -EntryType Error -Newest 20
Get-Service | Where-Object {$_.Status -ne
"Running"}
Get-Process | Sort CPU -Descending | Select -First 10
Get-Volume | Select DriveLetter, SizeRemaining, FileSystemLabel
CPU
Processes
SysInternals: Copy Process Monitor locally, then launch it.
Memory
Kuwait bus routes and numbers, bus route kuwait CityBus, KPTC, KGL Mowsalat. find Kuwait’s public transport Muscat خط الحافلات الكويت.
Summary: Sample Health Checklist Table
Check |
Linux Command |
Windows Command |
Uptime |
uptime |
systeminfo |
CPU |
top |
Task Manager / PowerShell |
Memory |
free -h |
Get-CimInstance |
Disk |
df -h |
Get-PSDrive |
Services |
systemctl status |
Get-Service |
Network |
ping, ss -tuln |
Test-NetConnection |
Logs |
journalctl |
Event Viewer |
Time Sync |
timedatectl |
w32tm |
Zombies |
`ps aux |
grep Z` |
Temp |
sensors |
BIOS or OEM software |
What is SAP Landscape?
Network
Here's a comprehensive ✅ Linux Server Health Check
Checklist — ideal for daily, weekly, or monthly maintenance. It covers
performance, security, logs, and service integrity.
✅ Linux Server Health Check Checklist
1. 🖥️ System Performance
- CPU
Usage:
- top,
htop, or mpstat
- Look
for processes with high CPU usage.
- Memory
Usage:
- free
-h, vmstat, top
- Monitor
for swap usage.
- Disk
Usage:
- df
-h: Check for partitions >80% usage.
- du
-sh /path: Identify large files/folders.
- Disk
I/O:
- iostat,
iotop: Check for bottlenecks.
- Load
Average:
- uptime
or top
- Load
average should generally be <= number of CPU cores.
2. 📁 Disk & Filesystem
Health
- Check
for errors:
- dmesg
| grep -i error
- smartctl
-a /dev/sdX (install with smartmontools)
- File
system integrity (run cautiously):
- fsck
(usually done during reboot)
3. 📑 Logs Review
- System
logs:
- journalctl
-p err -b → Errors since last boot
- tail
-n 100 /var/log/syslog (Debian/Ubuntu)
- tail
-n 100 /var/log/messages (RHEL/CentOS)
- Security
logs:
- cat
/var/log/auth.log
- Look
for failed SSH attempts or sudo misuse.
4. 🔐 Security Checks
- Check
for unauthorized users:
- cat
/etc/passwd, getent passwd
- last,
lastlog
- Failed
login attempts:
- grep
"Failed password" /var/log/auth.log
- Firewall
Status:
- ufw
status (Ubuntu)
- firewalld
/ iptables -L (RHEL/CentOS)
- Open
Ports:
- ss
-tuln, netstat -tuln
- Antivirus
(if applicable):
- clamscan,
freshclam (ClamAV)
5. 🔄 Services & Daemons
- Check
for failed services:
- systemctl
--failed
- Status
of critical services:
- systemctl
status sshd
- systemctl
status nginx / httpd, mysql, etc.
- Check
cron jobs:
- crontab
-l
- ls
-l /etc/cron.*
6. 🌐 Network Health
- Check
IP address:
- ip a
or ifconfig
- DNS
resolution:
- dig
example.com, nslookup example.com
- Ping
default gateway:
- ping
-c 4 <gateway>
- Test
internet:
- ping
-c 4 8.8.8.8
- Network
connections:
- ss
-s, netstat -anp
7. 📦 Package & Update
Status
- Check
for available updates:
- Debian/Ubuntu:
apt update && apt list --upgradable
- RHEL/CentOS:
yum check-update or dnf check-update
- List
recently installed/updated packages:
- grep
" install " /var/log/dpkg.log (Debian)
- yum
history (RHEL)
8. 🗃️ Backup & Storage
- Verify
backup completion and logs.
- Check
for errors in scheduled backup scripts.
- Confirm
backup storage availability and mount points.
9. 👥 User & Permission
Audit
- Check
for new or unauthorized users.
- List
sudoers: cat /etc/sudoers, getent group sudo
- Audit
file permissions for critical files:
- ls
-l /etc/passwd /etc/shadow
- chmod
and chown where necessary.
10. 🕒 System Uptime &
Reboot Schedule
- Check
uptime:
- uptime
- Reboot
history:
- last
reboot
- Scheduled
reboots:
- crontab
-l
- /etc/reboot-required
(Ubuntu)
🛠️ Optional: Health Check
Script (Bash Snippet)
#!/bin/bash
echo "== System Info =="
uptime
free -h
df -h
echo "== Top Processes =="
top -b -n1 | head -20
echo "== Network =="
ip a
ss -tuln
echo "== Failed Services =="
systemctl --failed
0 Comments