-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathNetScaler-AllvServer-State.ps1
91 lines (80 loc) · 2.91 KB
/
NetScaler-AllvServer-State.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Param(
[string]$Nsip,
[string]$Username,
[string]$Password
)
$SecurePassword = ConvertTo-SecureString $Password -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ($Username, $SecurePassword)
$Session = Connect-Netscaler -Hostname $Nsip -Credential $Credential -PassThru
$CSvServerResults = Get-NSCSVirtualServer -session $Session
$LBvServerResults = Get-NSLBVirtualServer -session $Session
$VPNvServerResults = Get-NSVPNVirtualServer -session $Session
$AAAvServerResults = Get-NSAAAVirtualServer -session $Session
Write-Host "<prtg>"
foreach ($Result in $CSvServerResults) {
switch ($Result.curstate)
{
"UP" {$CurState = 1}
"DOWN" {$CurState = 2}
"OUT OF SERVICE" {$CurState = 3}
}
Write-Host "<result>"
Write-Host ("<channel>State CS: " + $Result.name + "</channel>")
Write-Host ("<value>" + $CurState + "</value>")
Write-Host "<unit>Custom</unit>"
Write-Host "<CustomUnit>Status</CustomUnit>"
Write-Host "<valuelookup>prtg.networklookups.REST.NetscalerVserverStatus</valuelookup>"
Write-Host "</result>"
}
foreach ($Result in $LBvServerResults) {
switch ($Result.curstate)
{
"UP" {$CurState = 1}
"DOWN" {$CurState = 2}
"OUT OF SERVICE" {$CurState = 3}
}
Write-Host "<result>"
Write-Host ("<channel>State LB: " + $Result.name + "</channel>")
Write-Host ("<value>" + $CurState + "</value>")
Write-Host "<unit>Custom</unit>"
Write-Host "<CustomUnit>Status</CustomUnit>"
Write-Host "<valuelookup>prtg.networklookups.REST.NetscalerVserverStatus</valuelookup>"
Write-Host "</result>"
Write-Host "<result>"
Write-Host ("<channel>Health LB: " + $Result.name + "</channel>")
Write-Host ("<value>" + $Result.health + "</value>")
Write-Host "<unit>Percent</unit>"
Write-Host "</result>"
}
foreach ($Result in $VPNvServerResults) {
switch ($Result.curstate)
{
"UP" {$CurState = 1}
"DOWN" {$CurState = 2}
"OUT OF SERVICE" {$CurState = 3}
}
Write-Host "<result>"
Write-Host ("<channel>State VPN: " + $Result.name + "</channel>")
Write-Host ("<value>" + $CurState + "</value>")
Write-Host "<unit>Custom</unit>"
Write-Host "<CustomUnit>Status</CustomUnit>"
Write-Host "<valuelookup>prtg.networklookups.REST.NetscalerVserverStatus</valuelookup>"
Write-Host "</result>"
}
foreach ($Result in $AAAvServerResults) {
switch ($Result.curstate)
{
"UP" {$CurState = 1}
"DOWN" {$CurState = 2}
"OUT OF SERVICE" {$CurState = 3}
}
Write-Host "<result>"
Write-Host ("<channel>State AAA: " + $Result.name + "</channel>")
Write-Host ("<value>" + $CurState + "</value>")
Write-Host "<unit>Custom</unit>"
Write-Host "<CustomUnit>Status</CustomUnit>"
Write-Host "<valuelookup>prtg.networklookups.REST.NetscalerVserverStatus</valuelookup>"
Write-Host "</result>"
}
Write-Host "</prtg>"
Disconnect-Netscaler