IIS stands for Internet Information Services, which is a web server software package designed for Windows Server. IIS can host static or dynamic websites, and serve content such as HTML, JavaScript, or media files to a user’s browser. IIS is versatile and stable, and it has been widely used in production for many years.
IIS is composed of the following basic components:
- Web Server
- The most common use-case IIS is used for is to host websites and ASP.NET web applications.
- Security
- IIS provides robust security through Windows authentication, and is capable of filtering requests, and management of TLS certificates, so that you can enable HTTPS or SFTP on your web server.
- Management
- IIS can be managed locally or remotely through the Console, CLI, PowerShell and other tools
IIS Monitoring
To holistically monitor IIS, you need to track various aspects of its performance, such as:
- Server health: This includes metrics such as CPU usage, memory usage, disk space, network bandwidth, etc. These metrics can help you identify if your server is overloaded or underutilized.
- Application pool health: An application pool is a group of one or more websites that share common settings and resources. Each application pool has its own worker process that handles requests. You need to monitor metrics such as worker process CPU usage, memory usage, request queue length, current requests, etc. These metrics can help you identify if your application pool is healthy or experiencing issues such as memory leaks or high latency.
- Website health: This includes metrics such as response time, throughput, error rate, availability, etc. These metrics can help you measure how well your website is performing and serving user requests.
- Web service health: This includes metrics such as SOAP requests and responses per second (RPS), SOAP faults per second (FPS), average response time (ART), etc. These metrics can help you monitor the performance and reliability of your web services.
To effectively monitor IIS database specific metrics, you need to track the following:
- Database connection pool: This is a collection of database connections that are reused by multiple applications. You need to monitor metrics such as connection pool size (CPS), connection attempts per second (CAPS), connection failures per second (CFPS), etc. These metrics can help you optimize your database connection settings and avoid connection errors or timeouts.
- Database transactions: This is a unit of work that involves one or more database operations. You need to monitor metrics such as transactions per second (TPS), transaction duration (TD), transaction success rate (TSR), etc. These metrics can help you measure how efficiently your database operations are executed and completed.
- Database queries: This is a request for data from the database. You need to monitor metrics such as queries per second (QPS), query duration (QD), query success rate (QSR), etc. These metrics can help you identify slow or problematic queries that affect your database performance.
How can Netdata help?
Monitoring IIS is crucial for anyone using IIS for their business or for a website or web application in production. To ensure reliability, uptime, and security, monitoring IIS services should be an everyday task. This includes keeping track of requests, connections, traffic rates and other key performance indicators.
Netdata enables users to monitor key IIS metrics at a high fidelity, and with automated dashbaords, pre-configured alerts and anomaly detection you do not need to be a IIS wizard to understand whether your deployment needs your attention or not.
Here’s a quick teaser of IIS monitoring on Netdata, you can head over to the Netdata’s demo space (no login required) to try it out yourself.
If you haven’t already, check out the Windows monitoring guide for a deep dive into Windows monitoring and setting up Netdata for monitoring and troubleshooting your Windows servers.