You can't fix what you don't see. I use Zabbix to keep an eye on the Windows Servers, IIS websites and SQL Server databases I manage, with Performance Counters, PowerShell and WMI doing the heavy lifting, and Monit for smaller Linux setups. This page bundles my monitoring guides, from the Zabbix series on IIS and ASP.NET to quick PowerShell checks you can schedule today.
Monitor IIS and ASP.NET with Zabbix
- Monitor IIS application pools in Zabbix, part 1: count running
w3wp.exeprocesses per application pool. - ASP.NET web application monitoring in Zabbix, part 2: use Windows Server Performance Counters for each website.
- Getting more out your Windows Performance Counters monitoring for web applications - part 3: get more out of the
_ProcessPerformance Counter. - Monitor website performance in IIS with Zabbix: Performance Counters, PowerShell and WMI for website performance.
- Monitor .NET CLR Garbage Collected heap from your web application: watch the .NET CLR Garbage Collected heap of your application pools.
Monitor SQL Server and Windows with Zabbix
- Monitor SQL Server and databases in depth using Zabbix: databases, performance and health with PowerShell and WMI.
- Increase WMI memory to support large volume of queries: when your monitoring runs many WMI queries.
Performance Counters and PowerShell checks
- Get IIS Current Connections using PowerShell: current connections per IIS website.
- Get current number of FTP client connections (NonAnonymous) with PowerShell and Get-Counter: active FTP sessions with
Get-Counter. - Monitor Windows services with PowerShell: a scheduled script that watches your Windows services.
Monit and uptime checks on Linux
- Monit monitoring on Ubuntu 14.04 VM on Hyper-V: monitor websites and services from a small Linux VM.
- Setting up Monit monitoring in Windows Subsystem for Linux WSL: run Monit in Windows Subsystem for Linux.
- Check website availability with PHP and cURL: a PHP and cURL script to check if your website is up.