I need a sensor for monitoring the concurrent user of our Citrix farm. I a sensor available for monitoring this?
Citrix Concurrent user count
Votes:
0
9 Replies
Votes:
0
Hello,
I'm afraid there is no dedicated sensor in PRTG for this. But maybe you can use the Custom Script Sensors to do that.
best regards
Created on Sep 9, 2011 3:48:31 PM by
Torsten Lindner [Paessler Support]
Last change on May 7, 2014 5:03:30 PM by
Gerald Schoch [Paessler Support]
Votes:
0
I've been beating this horse on and off for a couple days. Here is my powershell script. No promises. It gets the total licenses, the amount in use, computes a percentage, and returns a value. Just copy and paste it the Powershell ISE on your sensor server and try it. You will need to adjust the server...it's all in the comments.
# Setup Variables $Total = 0 $InUse = 0 $PercentUsed = 0 $Retstring = 0 $RetValue = 0 # Get Citrix licensing Info # Use the IP address of the License server(-comp switch). I got inconsistent results using the hostname $licensePool = gwmi -class "Citrix_GT_License_Pool" -Namespace "ROOT\CitrixLicensing" -comp 172.16.10.14 # This will display all the license info....Uncomment for troubleshooting # $licensePool | Select-Object @{n="Product";e={$_.PLD}}, # @{n="Installed";e={$_.Count}}, # @{n="In Use";e={$_.InUseCount}}, # @{n="Available";e={$_.PooledAvailable}}, # @{n="% in use";e={($_.InUseCount/$_.Count)*100}} # This loops through all the license info and adds up the total license count and in use count for MPS_ENT_CCU licenses # If you do not have MPS_ENT_CCU licenses, uncomment the section above and look at the output. Figure out your license count from that. Edit Script as needed $LicensePool | ForEach-Object{ If ($_.PLD -eq "MPS_ENT_CCU"){ $Total = $Total + $_.count $InUse = $InUse + $_.InUseCount } } # Uncomment to confirm values are correct # "Total = ", $Total # "In Use = ", $Inuse $PercentUsed = [Math]::Round($inuse/$total*100,0) # Determine return code. Less than 90%, ok, 90-97 Warning, 98-100 Error switch ($PercentUsed) { {$PercentUsed -lt 90} { $RetString = "0:OK" $RetVal = 0 break } {$PercentUsed -ge 90 -and $PercentUsed -lt 98} { $RetString = "1:Warning 90-97% License Usage" $RetVal = 1 break } {$PercentUsed -ge 98} { $RetString = "2:ALERT 98-100% License Usage" $RetVal = 2 } } # Return Info Write-Host $RetString exit $RetVal
Created on Jan 8, 2013 6:47:50 PM
Last change on Jan 9, 2013 10:22:35 AM by
Torsten Lindner [Paessler Support]
Votes:
0
Hi,
great job, that looks pretty nice.
I made two little improvement to the script:
- use a parameter for submitting the ip from prtg as parameter '-server <ip-address>', your ip-address is set as default if no parameter is given
- rewritten the output to use xml-syntax of our Custom Script-advanced-Sensor in which you have 2 values: the percentage itself as well as a calculated state. This way you can follow the history of license-usage.
Unfortunately we don't have a citrix-server to test the script. May you create a new sensor to test it before we publish your solution?
Param( $server="172.16.10.14" ) # Setup Variables $Total = 0 $InUse = 0 $PercentUsed = 0 $Retstring = 0 $RetValue = 0 $returnStateOK = 0 $returnStateWarning = 1 $returnStateCritical = 2 # Get Citrix licensing Info # Use the IP address of the License server as parameter -server <ip-address>. I got inconsistent results using the hostname $licensePool = gwmi -class "Citrix_GT_License_Pool" -Namespace "ROOT\CitrixLicensing" -comp $server # This will display all the license info....Uncomment for troubleshooting # $licensePool | Select-Object @{n="Product";e={$_.PLD}}, # @{n="Installed";e={$_.Count}}, # @{n="In Use";e={$_.InUseCount}}, # @{n="Available";e={$_.PooledAvailable}}, # @{n="% in use";e={($_.InUseCount/$_.Count)*100}} # This loops through all the license info and adds up the total license count and in use count for MPS_ENT_CCU licenses # If you do not have MPS_ENT_CCU licenses, uncomment the section above and look at the output. Figure out your license count from that. Edit Script as needed $LicensePool | ForEach-Object{ If ($_.PLD -eq "MPS_ENT_CCU"){ $Total = $Total + $_.count $InUse = $InUse + $_.InUseCount } } # Uncomment to confirm values are correct # "Total = ", $Total # "In Use = ", $Inuse $PercentUsed = [Math]::Round($inuse/$total*100,0) # Determine return state. Less than 90%, ok, 90-97 Warning, 98-100 Error switch ($PercentUsed) { {$PercentUsed -lt 90} { $RetString = "OK" $RetState = $returnStateOK break } {$PercentUsed -ge 90 -and $PercentUsed -lt 98} { $RetString = "Warning" $RetState = $returnStateWarning break } {$PercentUsed -ge 98} { $RetString = "ALERT" $RetState = $returnStateCritical } } $retXml = "<prtg>`n" $retXml += " <result>`n" $retXml += " <channel>Value</channel>`n" $retXml += " <value>$PercentUsed</value>`n" $retXml += " <unit>Percent</unit>`n" $retXml += " <limitMaxError>98</limitMaxError>`n" $retXml += " <limitErrorMsg>ALERT 98-100% License Usage</limitErrorMsg>`n" $retXml += " <limitMaxWarning>90</limitMaxWarning>`n" $retXml += " <limitWarningMsg>Warning 90-97% License Usage</limitWarningMsg>`n" $retXml += " </result>`n" $retXml += " <result>`n" $retXml += " <channel>State</channel>`n" $retXml += " <value>$RetState</value>`n" $retXml += " </result>`n" $retXml += " <text>$RetString</text>`n" $retXml += "</prtg>`n" # Return Info write-host $retXml exit 0
Created on Jan 9, 2013 3:44:44 PM by
Dieter Loskarn [Paessler Support]
Last change on Jan 9, 2013 3:57:42 PM by
Dieter Loskarn [Paessler Support]
Votes:
0
Hey, we also need a solution for this. Is it possible to monitor the login and logoff length? I miss some good sensors for XenApp monitoring.
Votes:
0
I'm not quite sure what you are asking for? Are you looking to gather the amount of time a user is connected? Would you build a sensor for every user than? I'm confused. Sorry.
Can you explain a bit more?
Votes:
1
Marcel, we've implemented PRTGplugins.com to monitor Citrix login/logoff times. http://www.prtgplugins.com/
We bought it especially for Citrix performance measurement, but there are a lot of others features included in the price.
The implementation didn't went smoothly, so I contacted the developers. Now it's running on 30 locations. If you have questions about the implementation, write a reply. I can post the " shortened but clearer steps " here.
Votes:
0
Hello Pieter,
I have recently tried to install prtgplugins on my network, and i'm running into issues as well. would you be able to help me implement it on my network? I would appreciate it. Thank you
Votes:
0
Hello,
this might be an interesting blog post to follow if you want to monitor your citrix environment:
Created on Jul 29, 2013 6:47:47 AM by
Aurelio Lombardi [Paessler Support]
Last change on May 7, 2014 5:02:26 PM by
Gerald Schoch [Paessler Support]
Votes:
0
William, today I'm not available. Send me a email with your contact information. My email can be found on my LinkedIn profile. http://bit.ly/preitsma
Add comment