SpitfireLoad Testing & Observabilityv1.4.9 · What's new

Version: 1.4.9This documentation is for Spitfire 1.4.9.

Infrastructure — IIS (Beta)

IIS

Quick install

  1. Run on the IIS server as Administrator.
    powershell
    Invoke-WebRequest -UseBasicParsing -Uri "https://<spitfire>/api/v1/setup/ds/iis.ps1?t=<token>&lang=en" -OutFile "$env:TEMP\sf-iis.ps1"; powershell -NoProfile -ExecutionPolicy Bypass -File "$env:TEMP\sf-iis.ps1"
  2. When you see OK: ..., you are done.
Note

IIS is read on the IIS server itself, from Windows performance counters, by the Spitfire Windows agent; it is not collected over the network. Requires the Spitfire Windows agent: the script installs it when missing. It changes nothing in IIS, restarts only the agent service and asks first. In the product the line comes ready with the address and a fresh token.

Manual install

  1. Add the monitored system: Infrastructure sources → IIS.
    text
    Name: web1-iis   Tower address: http://tower.corp:4318
  2. Open PowerShell as Administrator.
    powershell
    Start-Process powershell -Verb RunAs
  3. Check IIS and its counters.
    powershell
    $ErrorActionPreference = 'Stop'
    if (-not (Get-Service W3SVC -ErrorAction SilentlyContinue)) { throw 'IIS (W3SVC) is not installed on this server' }
    $sets = @('Web Service', 'HTTP Service Request Queues', 'APP_POOL_WAS')
    if (@($sets | Where-Object { -not (Get-Counter -ListSet $_ -ErrorAction SilentlyContinue) }).Count -gt 0) {
      & "$env:SystemRoot\System32\lodctr.exe" /R
      & "$env:SystemRoot\System32\wbem\winmgmt.exe" /resyncperf
    }
    $sets | ForEach-Object { if (-not (Get-Counter -ListSet $_ -ErrorAction SilentlyContinue)) { throw "Performance counter set '$_' is missing" } }
  4. Copy and run the setup from the page.
    text
    Infrastructure sources → IIS → Run the setup on the IIS server → Copy
  5. Check the counters.
    powershell
    Get-Counter '\Web Service(_Total)\Current Connections' -ErrorAction Stop; 'OK: IIS counters readable, first metrics within ~1 min'
Note

The setup installs (or reinstalls) the Spitfire Windows agent, service spitfire-collector, with the iis block as C:\ProgramData\Spitfire\collector-extra.yaml and asks for the Tower's sfcol_ token; it is kept off the command line. Panels: requests/s by method, current connections, request queue count and age, rejected requests, bytes sent and received, network blocked, active threads, uptime, app pool state and uptime. Findings: an app pool that is not Running (critical), request queue age over 5 s, request queue over 100, rejected requests rising (warning). Per site and per app pool series. Beta: the receiver's metrics are still marked development upstream.