Getting started

Install IIS Monitor

Requirements, building from source, installing the IIS Monitor Windows service and dashboard, first-run setup, updating and uninstalling.

All features and guides

Requirements

  • Windows Server 2022 or 2025 with IIS 10, x64.
  • Administrator rights to install the service and to open the dashboard.
  • No .NET runtime: the published build is self-contained.

Optional, for some features:

ForYou need
Response times, the request log and the auto blacklistThe IIS HTTP Logging role service: Install-WindowsFeature Web-Http-Logging
Blocking visitors that come through a proxy or CDNThe IIS IP and Domain Restrictions role service: Install-WindowsFeature Web-IP-Security
The Database tabA SQL Server login with VIEW SERVER STATE (or VIEW SERVER PERFORMANCE STATE on SQL Server 2022 and later)

Get the files

Download IIS Monitor

The download, IISMonitor-win-x64.zip, is ready to install: the .NET runtime is included. See what's new in the release notes.

  1. Before extracting it, right-click the zip, choose Properties, tick Unblock and click OK, so Windows doesn't warn about every file.
  2. Extract it. You get a folder with Service, Dashboard, the install scripts, INSTALL.txt and LICENSE.

Or build it from source

IIS Monitor is free and open source under the MIT License: use it on as many servers as you like.

The code is on GitHub. Clone it, or download it from the repository page (Code › Download ZIP):

git clone https://github.com/inanbd/IISMonitor.git

Build IIS Monitor on any machine with the .NET 10 SDK. In the repository folder:

dotnet build
dotnet test
scripts\publish.cmd

publish.cmd produces a self-contained publish folder, publish\Service, publish\Dashboard and the install scripts, ready to copy to a server.

The .cmd files run the matching PowerShell script with -ExecutionPolicy Bypass for that one run, so they work even where Windows blocks PowerShell scripts (“running scripts is disabled on this system”) without changing the machine's policy. By hand, that is powershell -ExecutionPolicy Bypass -File .\scripts\publish.ps1.

Install on an IIS server

  1. Copy the folder to the server: the extracted download, or the publish folder you built.
  2. Right-click install-service.cmd and choose Run as administrator, or run it from an elevated command prompt. It copies IIS Monitor to C:\Program Files\IISMonitor, registers and starts the IISMonitor Windows service (automatic start, restarts on failure) and adds an IIS Monitor shortcut to the Start menu.
  3. Open IIS Monitor from the Start menu. It asks for administrator rights.

First-run checklist

The live view works straight away. Three one-time steps turn on everything else:

  1. Response times. If the toolbar shows Enable response times, click it once. IIS then also sends its log to ETW; log files are still written. Details
  2. Request log. On the Requests tab, click Set up IIS logging… to log client IPs, methods and user agents, and header fields on sites behind a proxy. Details
  3. SQL Server. Add a connection string in Settings and grant VIEW SERVER STATE to see database load and slow queries per app pool. Details

Then glance at the Collectors tab: every source should have a green check mark.

Update

Download (or publish) the new version and run install-service.cmd from its folder. It stops the service, replaces the files and starts it again; settings and history are kept.

If the dashboard is newer than the service, the Requests and Database tabs say so, because an older service can't provide their data. Running install-service.cmd from the new version fixes it.

Uninstall

Run uninstall-service.cmd as administrator. It removes the service, the program files and the Start menu shortcut, and lifts every block the auto blacklist made (its firewall rules and the IIS IP restrictions it added), since nothing would expire them once the service is gone. IIS logging settings are left as they are.

History and settings in %ProgramData%\IISMonitor are kept unless you add -RemoveData:

uninstall-service.cmd -RemoveData

Running without the service (standalone mode)

You can also run IISMonitor.exe without installing the service, for example to try it out. The dashboard then runs the same collector itself and a banner says so:

  • The live view works as usual.
  • History is recorded only while the window is open.
  • The auto blacklist shows requests and rules but doesn't block.
  • The Database tab connects to SQL Server as your own Windows account.

If the service is installed but stopped, the banner offers a Start the service button.