FAQ

Frequently asked questions

Answers about IIS Monitor's requirements, what it changes in IIS, SQL Server permissions, disk usage, privacy, IP blocking and running it without the service.

All features and guides

Is IIS Monitor free?

Yes. IIS Monitor is free and open source under the MIT License: you can use it on as many servers as you like, including at work, and change or share the code. The code is on GitHub.

Which Windows and IIS versions does IIS Monitor support?

Windows Server 2022 and Windows Server 2025 with IIS 10, on x64. The published build is self-contained, so the server doesn't need a .NET runtime installed.

What does IIS Monitor measure?

Per application pool: CPU, private memory, working set, threads, handles, processes, disk and network bytes per second, SQL Server connections and sessions, database load, requests per second, active requests, queue length, response times and errors. Per site: connections, requests per second, bandwidth, response time (average, p95 and max) and 4xx/5xx errors. For the server: CPU, memory, the local SQL Server process and requests by kind. It also lists every request with its client IP.

Do I have to install the Windows service?

No, but it is recommended. Without it, the dashboard runs the same collector itself in standalone mode: the live view works, but history is only recorded while the window is open and the auto blacklist doesn't block anything. With the service installed, data is collected around the clock and history has no gaps.

Can I watch a server from my own PC?

The dashboard talks to the service over a local named pipe that only Administrators and SYSTEM can open, and nothing listens on the network. Run the dashboard on the IIS server itself, for example over Remote Desktop.

Does IIS Monitor change my IIS configuration?

Only when you ask it to, and it asks before each change. Enable response times sends IIS's W3C log to ETW as well as to files, and turns on the four log fields it needs if they are off. Set up IIS logging adds the client IP, method, bytes sent, user agent and substatus fields, and optional header fields per site. Blocking a visitor that comes through a trusted proxy adds an IIS IP restriction. Your log files keep being written as before.

Does it need anything installed on SQL Server?

No. Database connections are counted from the Windows TCP table on the IIS server. For the Database tab, add a connection string whose login has VIEW SERVER STATE (or VIEW SERVER PERFORMANCE STATE on SQL Server 2022 and later). IIS Monitor then reads SQL Server's dynamic management views; it doesn't create objects or start traces.

Why can't I see CPU and memory per site?

IIS runs each application pool in its own processes, so CPU, memory, disk and database connections belong to a pool. When several sites share a pool, those numbers can't be split between them. Requests, bandwidth and response times are still measured per site. One pool per site gives the clearest picture.

How much disk space does the history use?

About 60,000 rows per app pool or site per week at the default 10-second resolution. Ten pools and ten sites with every metric populated take about 260 MB for 7 days. A 30-second resolution cuts that to a third. Old rows are deleted every hour.

Does IIS Monitor store customer data?

As little as possible. URL query strings are not logged. SQL statements are stored with literal values replaced by ?, so WHERE Email = 'x@y.com' becomes WHERE Email = ?. The request log and per-IP counts live in the service's memory only. Settings and history stay on the server, in a folder only Administrators and SYSTEM can read.

Could the auto blacklist block my real visitors?

It is built to avoid that. Loopback, the server's own addresses, your allow-list and your trusted proxies are never blocked, patterns that would match ordinary pages (such as /* or the home page) are refused, and private addresses found in X-Forwarded-For are never blocked in IIS. Start new rules in Watch only mode to see which IPs they would block before switching to Block.

How much load does IIS Monitor add?

It reads data Windows and IIS already produce: process counters, IIS performance counters and ETW events, the same sources Task Manager and Resource Monitor use. The SQL Server sample is one light query per second. You choose the update interval (0.25 seconds to 1 minute) and can switch either ETW trace off in Settings.

Does it work behind a load balancer, reverse proxy or CDN?

Yes. Add the proxies' addresses to Trusted proxies and log the header fields on those sites. IIS Monitor then reads the visitor from X-Forwarded-For, taking the right-most address that isn't a trusted proxy so a client can't pretend to be someone else, and blocks those visitors with IIS IP restrictions instead of the firewall.

Still have a question? The troubleshooting guide covers missing numbers and failed blocks, How it works explains where every metric comes from, and you can always send me a message.