Windows
Use the native Windows install when you want to run BigIPReport with IIS and Windows Task Scheduler. If you are starting from scratch and can use containers, Docker is usually simpler.
The steps below use C:\BigIPReport for the collector and C:\inetpub\wwwroot\BigIPReport for the web files. Adjust the paths if your web server uses a different document root, and update ReportRoot in the config to match.
On this page
1. Check prerequisites
Make sure you have:
- PowerShell 7 or newer.
- IIS or another web server that can serve
C:\inetpub\wwwroot\BigIPReport. - HTTPS access from the Windows host to each BIG-IP management interface.
- A configured BIG-IP report user.
2. Prepare directories and copy files
Create the application and web directories:
New-Item -ItemType Directory -Force C:\BigIPReport
New-Item -ItemType Directory -Force C:\inetpub\wwwroot\BigIPReport\json
Copy the data collector and frontend files from the repository root:
Copy-Item .\data-collector\bigipreport.ps1 C:\BigIPReport\
Copy-Item .\data-collector\modules C:\BigIPReport\ -Recurse -Force
Copy-Item .\data-collector\bigipreportconfig.xml C:\BigIPReport\
Copy-Item .\frontend\underlay\* C:\inetpub\wwwroot\BigIPReport\ -Recurse -Force
Configure IIS (or your web server) so the site is reachable at your chosen URL, for example http://your-server/BigIPReport/. The account that runs the collector must be able to write to C:\inetpub\wwwroot\BigIPReport\json.
3. Configure device groups
Edit C:\BigIPReport\bigipreportconfig.xml and configure your device groups:
<DeviceGroups>
<DeviceGroup>
<Name>Production</Name>
<Device>bigip-a.example.com</Device>
<Device>bigip-b.example.com</Device>
<StatusVip></StatusVip>
</DeviceGroup>
</DeviceGroups>
StatusVip is optional. See Pool member state polling in Additional config.
4. Configure credentials and report path
Populate the credentials in the config:
<Credentials>
<Username>bigipreport</Username>
<Password>change-this-password</Password>
</Credentials>
Set ReportRoot and DefaultDocument to match the web directory from step 2:
<ReportRoot>C:/inetpub/wwwroot/BigIPReport/</ReportRoot>
<DefaultDocument>index.html</DefaultDocument>
Use forward slashes in ReportRoot; they work well across platforms and avoid escaping issues in XML.
5. Test the collector
Open PowerShell as the user that will run the scheduled task, then run:
Set-Location C:\BigIPReport
pwsh -NoProfile -File .\bigipreport.ps1
Open the report in your browser, for example:
http://your-server/BigIPReport/
You should see the report UI and JSON data under C:\inetpub\wwwroot\BigIPReport\json\.
6. Schedule collection with Task Scheduler
Create a scheduled task that runs the collector on your preferred interval.
Use these action settings:
Program/script: pwsh.exe
Add arguments: -NoProfile -ExecutionPolicy Bypass -File C:\BigIPReport\bigipreport.ps1
Start in: C:\BigIPReport
Recommended task settings:
- Run whether the user is logged on or not.
- Run with a dedicated local or domain service account.
- Use a trigger such as every 30 minutes.
- Confirm the task user can write to
C:\inetpub\wwwroot\BigIPReport\json.