Monitoring System Health¶
What to Monitor¶
Web Server¶
| Metric | Recommended Threshold | Tool |
|---|---|---|
| CPU utilisation | Alert above 80% sustained | Windows Task Manager, hosting provider dashboard |
| Memory (RAM) | Alert above 85% sustained | Windows Task Manager, Performance Monitor |
| Disk space | Alert below 10% free | Windows Explorer, hosting provider dashboard |
| IIS Application Pool state | Alert if stopped | IIS Manager, hosting provider alerts |
| HTTP availability (site up/down) | Alert on any downtime | External uptime monitor (see below) |
Database Server¶
| Metric | Recommended Threshold | Tool |
|---|---|---|
| SQL Server service state | Alert if stopped | SQL Server Configuration Manager |
| Database size growth | Alert if approaching disk limit | SSMS → database properties |
| Backup job status | Alert on failure | SQL Server Agent job history |
| Index fragmentation | Review monthly | SSMS or automated maintenance plan |
Application-Level Monitoring¶
Error Table¶
The Errors table in conprosoft_bmhcrp is the primary application log. Check it regularly:
-- Count errors in the last 24 hours
SELECT COUNT(*) AS ErrorCount FROM Errors
WHERE ErrorID IN (
SELECT TOP 1000 ErrorID FROM Errors ORDER BY ErrorID DESC
)
A sudden spike in errors indicates a problem requiring investigation.
Windows Event Log¶
- Event Viewer → Windows Logs → Application — review for ASP.NET warnings and errors.
- Event Viewer → Windows Logs → System — review for IIS service events and Application Pool crashes.
Recommended Uptime Monitoring Tools¶
For external availability monitoring (checks if the login page is reachable from outside the network):
| Tool | Cost | Notes |
|---|---|---|
| UptimeRobot | Free tier available | Simple HTTP checks, email/SMS alerts |
| Better Uptime | Free tier available | HTTP checks, incident management |
| Hosting provider built-in monitoring | Varies | Check what the hosting provider offers |
Configure a check against the CONPROSOFT login URL (e.g. https://bmh-crp.co.za/login). Set alerts to notify IT or the client when the site is unreachable for more than 2 minutes.
Backup Job Monitoring¶
- SQL Server Agent backup jobs should be reviewed weekly.
- In SSMS: SQL Server Agent → Jobs — check Last Run Outcome for each backup job.
- Set up SQL Server Agent alerts or job notifications to email the DBA/IT contact on failure.
Monitoring should cover:
1. Infrastructure¶
-
Web Server
- CPU, memory, and disk utilisation.
- IIS Application Pool uptime and recycle events.
-
Database Server
- CPU, IO, and memory usage.
- Database size and growth trends.
2. Application¶
- Application error logs (custom or framework-provided).
- Windows Event Logs for ASP.NET and IIS warnings/errors.
- Scheduled task failures (if scheduling is in use).
3. Availability & Performance¶
- Ping/HTTP checks to confirm site is up.
- Response time measurements for key pages.
4. Backups & Jobs¶
- Status of database backups.
- Status of any scheduled application-level jobs.
Tools may include:
- Hosting provider monitoring tools.
- Third-party services (e.g. uptime monitors).
- SIEM solutions, where deployed.
Define thresholds and escalation procedures here.