Project Owner: Jannos-443
PRTG Powershell Script to monitor Citrix ADC
Free and open source: MIT License
This sensor library relies on the NetScaler PowerShell module written by Brandon Olin.
Sensor is a Updated Fork from https://github.com/xawen/PRTG-NetScaler
- more Stats (aaa ...)
- if you are missing something please open an issue
-
Create a user on the NetScaler with the read-only Command Policy
-
On the PRTG Server open a Powershell (x86) prompt as admin and run:
- Install-Module -Name NetScaler -scope AllUsers
- Set-ExecutionPolicy Unrestricted
- Note: This MUST be done in the (x86) version of powershell
-
Place
PRTG-CitrixADC.ps1
underC:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML
-
Copy all
.ovl
files toC:\Program Files (x86)\PRTG Network Monitor\lookups\custom
-
In PRTG go to Setup > Administrative tools:
- Reload lookups
-
Create new sensor
Settings Value EXE/Script Advanced PRTG-CitrixADC.ps1 Parameters -Hostname "%host" -Username "%linuxuser" -Password "%linuxpassword" -https -System Scanning Interval 10 minutes -
Change parameter if needed
- Include/Exclude
- Change Limits
-Hostname '%host' -Username '%linuxuser' -Password '%linuxpassword' -System -https
-Hostname "YourHostname" -Username "YourUsername" -Password "YourPassword" -https -System
-Hostname "YourHostname" -Username "YourUsername" -Password "YourPassword" -https -System -IgnoreCert
... -System
... -HA
... -CertExpiration
... -CertExpiration -IncludeCerts '^(\*\.contoso.com)$'
... -CertExpiration -IncludeCerts '^(\*\.contoso.com)$' -CertDetails
- If you have IP Reputation enabled, the NetScaler will also update the reputation database ever 5 minutes (default). When this happens, the "Last Config Changed Time" time will be updated. This will cause the "Time since changes were saved" counter to be inaccurate.
... -ConfigSaved
... -Interface
... -vServer
... -vServerHealth
... -vServerHealth -vServerHealthErrLimit 20 vServerHealthWarLimit 50
... -vServerState
include/exclude vServer Types (CSvServer, LBvServer, VPNvServer and AAAvServer)
... -vServerState -IncludevServerType '^(CSvServer|LBvServer)$'
include/exclude vServer Names
... -vServerState -IncludevServerName '^(Test123.*|LBTest)$'
include/exclude Certs
... -CertExpiration -IncludeCerts '^(\*\.contoso.com)$'
The variables take a regular expression as input to provide maximum flexibility.
For more information about regular expressions in PowerShell, visit Microsoft Docs.
".+" is one or more charakters ".*" is zero or more charakters