✅ Windows Server Health Check Checklist | Linux Server Health Checks - 1

Server Health Checks - 1



When I’m troubleshooting I like to compartmentalize what I’m looking for.  ✅ Windows Server Health Check Checklist | Linux Server Health Checks - 1 - Server Health Checks 1 With that my health checks are set up the same way.  I also believe health checks are quick snapshots of the health of a server.  Sure there are tools that you can use to analyze systems further but in this case we are doing a quick health check.  Not all of these need to be done but some should, you get to decide. Performing regular Windows Server health checks is critical for maintaining uptime, security, and performance. Below is a comprehensive checklist to help guide you through a Windows Server health assessment.

 

✅ 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
Server Health Checks 1

Occasional high CPU spikes are ok as long as you are aware of the process causing this. A server should maintain 80% CPU utilization for an extended period of time.  If it does it may be time to upgrade.  Its a good idea to keep Task Manager open during the duration of your troubleshooting to see trends.

What is Client in SAP ?

Check CPU Usage
1.    Open Task Manager
2.    Check the Processes tab, ensure there are no processes consuming excessive CPU
3.    Check the Performance tab, ensure there are no single CPU’s that have excessive CPU usage


Check CPU HW
1.    Open Device Manager (right click computer –> Manage)
2.    Ensure that no CPU’s have red X or yellow ! underneath the Processors



Processes


This is one area that you may not want to do for quick health checks but is something you should be familiar with.  Task Manager only gives you basic info on processes and you will find that you may need to dig a bit deeper.  For that I recommend Process Monitor from the great SysInternal tools.  Process Explorer can also be used.  In fact download and play with all these tools…they will save your bacon, I guarantee it.


In-Depth Check 
SysInternals: 
Copy Process Monitor locally, then launch it.
1.    Analyze each process and watch what operations open the reg keys, file etc.

Copy Process Explorer locally, then launch it.
1.    Analyze each process based upon the number of threads, handles, loaded DLL’s, etc.
Two great webcasts can be viewed here to see these types of tools in action.

Memory

General rule of thumb is to make sure the general memory utilization does not exceed 80%within a given period of time.

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?

Check Memory Availability
1.    Open Task Manager
2.    Select the Performance tab
3.    Look at the Physical memory box, and multiply the total memory by .2
4.    If the total available memory is less than this number then the box is currently utilizing more than 80 percent of the memory.
Current utilization by process
1.    Select the Process tab
2.    Check the ‘show processes from all users’ box in the bottom left corner
3.    Click the column header ‘Mem Usage’ to sort the processes by memory utilization, highest to lowest. This will help you determine what processes are currently utilizing the memory on the box and can help you narrow your search for memory intensive processes.

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

 

 




Check NIC HW
1.    Verify both ends of the network cable are securely seated in the port
2.    On the back of the server verify you have a green blinking link light on the NIC port
3.    Verify NIC HW is working properly by using Device Manager and ensure the active NICs are showing green
4.    Verify gateway, IP, subnet mask, DNS, DNS suffixes, etc. are properly configured.

5.    If everything is properly configured and HW is working, you should be able to get a ping response from the gateway.

Post a Comment

0 Comments