line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Net::SolarWinds::Helper; |
2
|
|
|
|
|
|
|
|
3
|
2
|
|
|
2
|
|
15
|
use strict; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
50
|
|
4
|
2
|
|
|
2
|
|
10
|
use warnings; |
|
2
|
|
|
|
|
5
|
|
|
2
|
|
|
|
|
276
|
|
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
=head1 NAME |
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
Net::SolarWinds::Helper - Common OO Methods |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
=head1 SYNOPSIS |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
use base qw(Net::SolarWinds::Helper); |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
=head1 DESCRIPTION |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
This class provides common OO methods used to for Solarwinds development. These methods are all stand alone. |
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
=over 4 |
19
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
=item * my $reverse_hex=$self->ip_to_reverse_hex($ip); |
21
|
|
|
|
|
|
|
|
22
|
|
|
|
|
|
|
Converts an IP into hex with the octets swapped to reverse order. |
23
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
=cut |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
sub ip_to_reverse_hex { |
27
|
|
|
|
|
|
|
|
28
|
0
|
|
|
0
|
1
|
|
my ($self,$ip)=@_; |
29
|
|
|
|
|
|
|
|
30
|
0
|
|
|
|
|
|
my $hex=unpack("H8",reverse(pack("C4",split(/\./,$ip)))); |
31
|
|
|
|
|
|
|
|
32
|
0
|
|
|
|
|
|
return $hex; |
33
|
|
|
|
|
|
|
} |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
=item * my $gui_ip=$self->ip_to_gui($ip); |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
Converts a quad notation ip to the gui display version SolarWinds uses.. |
38
|
|
|
|
|
|
|
|
39
|
|
|
|
|
|
|
=cut |
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
sub ip_to_gui { |
42
|
0
|
|
|
0
|
1
|
|
my ($self,$ip)=@_; |
43
|
|
|
|
|
|
|
|
44
|
0
|
|
|
|
|
|
my $hex=$self->ip_to_reverse_hex($ip); |
45
|
|
|
|
|
|
|
|
46
|
0
|
|
|
|
|
|
$hex .="-0000-0000-0000-000000000000"; |
47
|
|
|
|
|
|
|
|
48
|
0
|
|
|
|
|
|
return $hex; |
49
|
|
|
|
|
|
|
} |
50
|
|
|
|
|
|
|
|
51
|
|
|
|
|
|
|
=item * my $swis=$self->nodeUri($node_id); |
52
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
Returns the node Uri based on the $node_id |
54
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
=cut |
56
|
|
|
|
|
|
|
|
57
|
|
|
|
|
|
|
sub nodeUri { |
58
|
0
|
|
|
0
|
1
|
|
my ($self,$nodeId)=@_; |
59
|
0
|
|
|
|
|
|
return "swis://localhost/Orion/Orion.Nodes/NodeID=$nodeId"; |
60
|
|
|
|
|
|
|
} |
61
|
|
|
|
|
|
|
|
62
|
|
|
|
|
|
|
=back |
63
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
=head1 Query Drivers |
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
Many of the internals use site spesific SWQL statements, they are defined as constants in this class. Since some of these queries are Solarwinds install spesific it may be required to overload some of these queries. |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
=head2 Query Drivers For: Net::SolarWinds::REST |
69
|
|
|
|
|
|
|
|
70
|
|
|
|
|
|
|
=over 4 |
71
|
|
|
|
|
|
|
|
72
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getInterfacesOnNode; |
73
|
|
|
|
|
|
|
|
74
|
|
|
|
|
|
|
=cut |
75
|
|
|
|
|
|
|
|
76
|
2
|
|
|
2
|
|
14
|
use constant SWQL_getInterfacesOnNode=>'SELECT Caption, InterfaceID, DisplayName, FullName, ifname, interfacetype as ifType,Uri FROM Orion.NPM.Interfaces where NodeID=%s'; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
154
|
|
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getNodesByDisplayName; |
79
|
|
|
|
|
|
|
|
80
|
|
|
|
|
|
|
=cut |
81
|
|
|
|
|
|
|
|
82
|
2
|
|
|
|
|
95
|
use constant SWQL_getNodesByDisplayName=>q{SELECT |
83
|
|
|
|
|
|
|
NodeID, |
84
|
|
|
|
|
|
|
IPAddress, |
85
|
|
|
|
|
|
|
IPAddressGUID, |
86
|
|
|
|
|
|
|
Caption, |
87
|
|
|
|
|
|
|
DynamicIP, |
88
|
|
|
|
|
|
|
EngineID, |
89
|
|
|
|
|
|
|
Status, |
90
|
|
|
|
|
|
|
UnManaged, |
91
|
|
|
|
|
|
|
Allow64BitCounters, |
92
|
|
|
|
|
|
|
ObjectSubType, |
93
|
|
|
|
|
|
|
SysObjectID, |
94
|
|
|
|
|
|
|
MachineType, |
95
|
|
|
|
|
|
|
VendorIcon, |
96
|
|
|
|
|
|
|
SNMPVersion, |
97
|
|
|
|
|
|
|
Community, |
98
|
|
|
|
|
|
|
RediscoveryInterval, |
99
|
|
|
|
|
|
|
PollInterval, |
100
|
|
|
|
|
|
|
StatCollection, |
101
|
|
|
|
|
|
|
Uri, |
102
|
|
|
|
|
|
|
DisplayName |
103
|
2
|
|
|
2
|
|
11
|
FROM Orion.Nodes where DisplayName='%s' OR Caption='%s'}; |
|
2
|
|
|
|
|
4
|
|
104
|
|
|
|
|
|
|
|
105
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getNodesByID; |
106
|
|
|
|
|
|
|
|
107
|
|
|
|
|
|
|
=cut |
108
|
|
|
|
|
|
|
|
109
|
2
|
|
|
|
|
90
|
use constant SWQL_getNodesByID=>q{SELECT |
110
|
|
|
|
|
|
|
NodeID, |
111
|
|
|
|
|
|
|
IPAddress, |
112
|
|
|
|
|
|
|
IPAddressGUID, |
113
|
|
|
|
|
|
|
Caption, |
114
|
|
|
|
|
|
|
DynamicIP, |
115
|
|
|
|
|
|
|
EngineID, |
116
|
|
|
|
|
|
|
Status, |
117
|
|
|
|
|
|
|
UnManaged, |
118
|
|
|
|
|
|
|
Allow64BitCounters, |
119
|
|
|
|
|
|
|
ObjectSubType, |
120
|
|
|
|
|
|
|
SysObjectID, |
121
|
|
|
|
|
|
|
MachineType, |
122
|
|
|
|
|
|
|
VendorIcon, |
123
|
|
|
|
|
|
|
SNMPVersion, |
124
|
|
|
|
|
|
|
Community, |
125
|
|
|
|
|
|
|
RediscoveryInterval, |
126
|
|
|
|
|
|
|
PollInterval, |
127
|
|
|
|
|
|
|
StatCollection, |
128
|
|
|
|
|
|
|
Uri |
129
|
2
|
|
|
2
|
|
11
|
FROM Orion.Nodes where NodeId='%s'}; |
|
2
|
|
|
|
|
4
|
|
130
|
|
|
|
|
|
|
|
131
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getApplicationTemplate; |
132
|
|
|
|
|
|
|
|
133
|
|
|
|
|
|
|
=cut |
134
|
|
|
|
|
|
|
|
135
|
2
|
|
|
2
|
|
10
|
use constant SWQL_getApplicationTemplate=>q{SELECT ApplicationTemplateID, Created, CustomApplicationType, Description, DisplayName, HasImportedView, InstanceType, IsMockTemplate, LastModified, Name, Uri, ViewID, ViewXml FROM Orion.APM.ApplicationTemplate where %s}; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
82
|
|
136
|
|
|
|
|
|
|
|
137
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getTemplatesOnNode; |
138
|
|
|
|
|
|
|
|
139
|
|
|
|
|
|
|
=cut |
140
|
|
|
|
|
|
|
|
141
|
2
|
|
|
2
|
|
10
|
use constant SWQL_getTemplatesOnNode=>q{SELECT ApplicationID, ApplicationTemplateID, Description, DetailsUrl, DisplayName, HasCredentials, ID, InstanceType, Name, NodeID, Uri FROM Orion.APM.Application where nodeid=%s}; |
|
2
|
|
|
|
|
920
|
|
|
2
|
|
|
|
|
98
|
|
142
|
|
|
|
|
|
|
|
143
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getNodesByIp; |
144
|
|
|
|
|
|
|
|
145
|
|
|
|
|
|
|
=cut |
146
|
|
|
|
|
|
|
|
147
|
2
|
|
|
|
|
83
|
use constant SWQL_getNodesByIp=>q{SELECT |
148
|
|
|
|
|
|
|
n.NodeID, |
149
|
|
|
|
|
|
|
n.IPAddress, |
150
|
|
|
|
|
|
|
n.IPAddressGUID, |
151
|
|
|
|
|
|
|
n.Caption, |
152
|
|
|
|
|
|
|
n.DynamicIP, |
153
|
|
|
|
|
|
|
n.EngineID, |
154
|
|
|
|
|
|
|
n.Status, |
155
|
|
|
|
|
|
|
n.UnManaged, |
156
|
|
|
|
|
|
|
n.Allow64BitCounters, |
157
|
|
|
|
|
|
|
n.ObjectSubType, |
158
|
|
|
|
|
|
|
n.SysObjectID, |
159
|
|
|
|
|
|
|
n.MachineType, |
160
|
|
|
|
|
|
|
n.VendorIcon, |
161
|
|
|
|
|
|
|
n.SNMPVersion, |
162
|
|
|
|
|
|
|
n.Community, |
163
|
|
|
|
|
|
|
n.RediscoveryInterval, |
164
|
|
|
|
|
|
|
n.PollInterval, |
165
|
|
|
|
|
|
|
n.StatCollection, |
166
|
|
|
|
|
|
|
n.Uri, |
167
|
|
|
|
|
|
|
n.DisplayName |
168
|
|
|
|
|
|
|
FROM |
169
|
|
|
|
|
|
|
Orion.NodeIPAddresses i |
170
|
|
|
|
|
|
|
inner join Orion.Nodes n on n.ObjectSubType='SNMP' and i.NodeID=n.NodeID |
171
|
|
|
|
|
|
|
where |
172
|
2
|
|
|
2
|
|
11
|
i.IPAddress='%s'}; |
|
2
|
|
|
|
|
3
|
|
173
|
|
|
|
|
|
|
|
174
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_bulk_ip_lookup |
175
|
|
|
|
|
|
|
|
176
|
|
|
|
|
|
|
=cut |
177
|
|
|
|
|
|
|
|
178
|
2
|
|
|
|
|
72
|
use constant SWQL_bulk_ip_lookup=>q{SELECT |
179
|
|
|
|
|
|
|
n.NodeID, |
180
|
|
|
|
|
|
|
n.IPAddress, |
181
|
|
|
|
|
|
|
n.IPAddressGUID, |
182
|
|
|
|
|
|
|
n.Caption, |
183
|
|
|
|
|
|
|
n.DynamicIP, |
184
|
|
|
|
|
|
|
n.EngineID, |
185
|
|
|
|
|
|
|
n.Status, |
186
|
|
|
|
|
|
|
n.UnManaged, |
187
|
|
|
|
|
|
|
n.Allow64BitCounters, |
188
|
|
|
|
|
|
|
n.ObjectSubType, |
189
|
|
|
|
|
|
|
n.SysObjectID, |
190
|
|
|
|
|
|
|
n.MachineType, |
191
|
|
|
|
|
|
|
n.VendorIcon, |
192
|
|
|
|
|
|
|
n.SNMPVersion, |
193
|
|
|
|
|
|
|
n.Community, |
194
|
|
|
|
|
|
|
n.RediscoveryInterval, |
195
|
|
|
|
|
|
|
n.PollInterval, |
196
|
|
|
|
|
|
|
n.StatCollection, |
197
|
|
|
|
|
|
|
n.Uri, |
198
|
|
|
|
|
|
|
n.DisplayName, |
199
|
|
|
|
|
|
|
i.IPAddress as LookupIP |
200
|
|
|
|
|
|
|
FROM |
201
|
|
|
|
|
|
|
Orion.NodeIPAddresses i |
202
|
|
|
|
|
|
|
inner join Orion.Nodes n on n.ObjectSubType='SNMP' and i.NodeID=n.NodeID |
203
|
|
|
|
|
|
|
where |
204
|
2
|
|
|
2
|
|
10
|
i.IPAddress in('%s')}; |
|
2
|
|
|
|
|
4
|
|
205
|
|
|
|
|
|
|
|
206
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getVolumeTypeMap; |
207
|
|
|
|
|
|
|
|
208
|
|
|
|
|
|
|
=cut |
209
|
|
|
|
|
|
|
|
210
|
2
|
|
|
2
|
|
10
|
use constant SWQL_getVolumeTypeMap=>q{SELECT distinct VolumeType, VolumeTypeIcon, VolumeTypeID FROM Orion.Volumes}; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
77
|
|
211
|
|
|
|
|
|
|
|
212
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getEngines; |
213
|
|
|
|
|
|
|
|
214
|
|
|
|
|
|
|
=cut |
215
|
|
|
|
|
|
|
|
216
|
2
|
|
|
2
|
|
9
|
use constant SWQL_getEngines=>q{SELECT AvgCPUUtil, BusinessLayerPort, CompanyName, CustomerID, Description, DisplayName, Elements, EngineID, EngineVersion, EvalDaysLeft, Evaluation, FailOverActive, FIPSModeEnabled, InstanceType, InterfacePollInterval, Interfaces, InterfaceStatPollInterval, IP, KeepAlive, LicensedElements, LicenseKey, MaxPollsPerSecond, MaxStatPollsPerSecond, MemoryUtil, MinutesSinceFailOverActive, MinutesSinceKeepAlive, MinutesSinceRestart, MinutesSinceStartTime, MinutesSinceSysLogKeepAlive, MinutesSinceTrapsKeepAlive, NodePollInterval, Nodes, NodeStatPollInterval, PackageName, Pollers, PollingCompletion, PrimaryServers, Restart, SerialNumber, ServerName, ServerType, ServicePack, StartTime, StatPollInterval, SysLogKeepAlive, TrapsKeepAlive, Uri, VolumePollInterval, Volumes, VolumeStatPollInterval, WindowsVersion FROM Orion.Engines}; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
73
|
|
217
|
|
|
|
|
|
|
|
218
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getNodeUri; |
219
|
|
|
|
|
|
|
|
220
|
|
|
|
|
|
|
=cut |
221
|
|
|
|
|
|
|
|
222
|
2
|
|
|
2
|
|
10
|
use constant SWQL_getNodeUri=>'Select Uri from Orion.Nodes where NodeId=%s'; |
|
2
|
|
|
|
|
3
|
|
|
2
|
|
|
|
|
76
|
|
223
|
|
|
|
|
|
|
|
224
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getEngine; |
225
|
|
|
|
|
|
|
|
226
|
|
|
|
|
|
|
=cut |
227
|
|
|
|
|
|
|
|
228
|
2
|
|
|
2
|
|
10
|
use constant SWQL_getEngine=>q{SELECT AvgCPUUtil, BusinessLayerPort, CompanyName, CustomerID, Description, DisplayName, Elements, EngineID, EngineVersion, EvalDaysLeft, Evaluation, FailOverActive, FIPSModeEnabled, InstanceType, InterfacePollInterval, Interfaces, InterfaceStatPollInterval, IP, KeepAlive, LicensedElements, LicenseKey, MaxPollsPerSecond, MaxStatPollsPerSecond, MemoryUtil, MinutesSinceFailOverActive, MinutesSinceKeepAlive, MinutesSinceRestart, MinutesSinceStartTime, MinutesSinceSysLogKeepAlive, MinutesSinceTrapsKeepAlive, NodePollInterval, Nodes, NodeStatPollInterval, PackageName, Pollers, PollingCompletion, PrimaryServers, Restart, SerialNumber, ServerName, ServerType, ServicePack, StartTime, StatPollInterval, SysLogKeepAlive, TrapsKeepAlive, Uri, VolumePollInterval, Volumes, VolumeStatPollInterval, WindowsVersion FROM Orion.Engines where ServerName='%s' or DisplayName='%s'}; |
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
74
|
|
229
|
|
|
|
|
|
|
|
230
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getVolumeMap; |
231
|
|
|
|
|
|
|
|
232
|
|
|
|
|
|
|
=cut |
233
|
|
|
|
|
|
|
|
234
|
2
|
|
|
|
|
74
|
use constant SWQL_getVolumeMap=>q{SELECT |
235
|
|
|
|
|
|
|
VolumeIndex, |
236
|
|
|
|
|
|
|
Caption, |
237
|
|
|
|
|
|
|
VolumeDescription, |
238
|
|
|
|
|
|
|
Status, |
239
|
|
|
|
|
|
|
Type , |
240
|
|
|
|
|
|
|
Icon , |
241
|
|
|
|
|
|
|
VolumeSpaceAvailable, |
242
|
|
|
|
|
|
|
VolumeSize, |
243
|
|
|
|
|
|
|
VolumePercentUsed, |
244
|
|
|
|
|
|
|
VolumeSpaceUsed, |
245
|
|
|
|
|
|
|
VolumeTypeID, |
246
|
|
|
|
|
|
|
PollInterval, |
247
|
|
|
|
|
|
|
StatCollection, |
248
|
|
|
|
|
|
|
RediscoveryInterval, |
249
|
|
|
|
|
|
|
VolumeID, |
250
|
|
|
|
|
|
|
Uri, |
251
|
|
|
|
|
|
|
NodeID |
252
|
|
|
|
|
|
|
|
253
|
2
|
|
|
2
|
|
10
|
FROM Orion.Volumes where NodeID=%s}; |
|
2
|
|
|
|
|
3
|
|
254
|
|
|
|
|
|
|
|
255
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_GetAlertSettings; |
256
|
|
|
|
|
|
|
|
257
|
|
|
|
|
|
|
=cut |
258
|
|
|
|
|
|
|
|
259
|
2
|
|
|
|
|
68
|
use constant SWQL_GetAlertSettings=>'SELECT NodeID, EntityType, InstanceId, MetricId, MetricName, InstanceCaption, ThresholdType, Timestamp, MinDateTime, MaxDateTime, CurrentValue, WarningThreshold, CriticalThreshold, CapacityThreshold, Aavg, Bavg, Apeak, Bpeak, DaysToWarningAvg, DaysToCriticalAvg, DaysToCapacityAvg, DaysToWarningPeak, DaysToCriticalPeak, DaysToCapacityPeak, InstanceUri, DetailsUrl, DisplayName, Description, InstanceType, Uri, InstanceSiteId |
260
|
|
|
|
|
|
|
FROM Orion.ForecastCapacity |
261
|
2
|
|
|
2
|
|
10
|
where nodeid=%s'; |
|
2
|
|
|
|
|
3
|
|
262
|
|
|
|
|
|
|
|
263
|
|
|
|
|
|
|
|
264
|
|
|
|
|
|
|
|
265
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_GetNodePollers; |
266
|
|
|
|
|
|
|
|
267
|
|
|
|
|
|
|
=cut |
268
|
|
|
|
|
|
|
|
269
|
2
|
|
|
2
|
|
22
|
use constant SWQL_GetNodePollers=>q{SELECT Description, DisplayName, Enabled, InstanceType, NetObject, NetObjectID, NetObjectType, PollerID, PollerType, Uri FROM Orion.Pollers where NetObjectID=%s and NetObjectType='%s'}; |
|
2
|
|
|
|
|
5
|
|
|
2
|
|
|
|
|
81
|
|
270
|
|
|
|
|
|
|
|
271
|
|
|
|
|
|
|
=back |
272
|
|
|
|
|
|
|
|
273
|
|
|
|
|
|
|
=head2 Query Drivers For: Net::SolarWinds::REST::Batch |
274
|
|
|
|
|
|
|
|
275
|
|
|
|
|
|
|
=over 4 |
276
|
|
|
|
|
|
|
|
277
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_getPollerInterfaceMap; |
278
|
|
|
|
|
|
|
|
279
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_GetNodeInterfacePollers; |
280
|
|
|
|
|
|
|
|
281
|
|
|
|
|
|
|
=item * my $sql=$self->SWQL_get_poller_map; |
282
|
|
|
|
|
|
|
|
283
|
|
|
|
|
|
|
=cut |
284
|
|
|
|
|
|
|
|
285
|
2
|
|
|
|
|
86
|
use constant SWQL_getPollerInterfaceMap=>q{select |
286
|
|
|
|
|
|
|
p.PollerType, |
287
|
|
|
|
|
|
|
i.interfacetype as ifType, |
288
|
|
|
|
|
|
|
count(i.interfaceid) as totalinterfaces |
289
|
|
|
|
|
|
|
FROM |
290
|
|
|
|
|
|
|
Orion.NPM.Interfaces as i |
291
|
|
|
|
|
|
|
inner join Orion.Pollers as p on i.InterfaceID=p.NetObjectID and p.NetObjectType='I' |
292
|
|
|
|
|
|
|
where |
293
|
|
|
|
|
|
|
i.NodeID=%s |
294
|
2
|
|
|
2
|
|
10
|
group by p.PollerType,i.interfacetype}; |
|
2
|
|
|
|
|
5
|
|
295
|
|
|
|
|
|
|
|
296
|
|
|
|
|
|
|
|
297
|
2
|
|
|
|
|
68
|
use constant SWQL_GetNodeInterfacePollers=>q{select |
298
|
|
|
|
|
|
|
p.PollerType, |
299
|
|
|
|
|
|
|
i.interfacetype as ifType, |
300
|
|
|
|
|
|
|
i.InterfaceName as ifName, |
301
|
|
|
|
|
|
|
i.InterfaceID, |
302
|
|
|
|
|
|
|
i.Uri as InterfaceUri, |
303
|
|
|
|
|
|
|
p.Uri as PollerUri |
304
|
|
|
|
|
|
|
FROM |
305
|
|
|
|
|
|
|
Orion.NPM.Interfaces as i |
306
|
|
|
|
|
|
|
left join Orion.Pollers as p on i.InterfaceID=p.NetObjectID and p.NetObjectType='I' |
307
|
|
|
|
|
|
|
where |
308
|
|
|
|
|
|
|
i.NodeID=%s |
309
|
2
|
|
|
2
|
|
10
|
order by i.InterfaceID}; |
|
2
|
|
|
|
|
4
|
|
310
|
|
|
|
|
|
|
|
311
|
|
|
|
|
|
|
|
312
|
2
|
|
|
2
|
|
10
|
use constant SWQL_get_poller_map=>q{SELECT Description, DisplayName, Enabled, InstanceType, NetObject, NetObjectID, NetObjectType, PollerID, PollerType, Uri FROM Orion.Pollers where NetObjectID=%s and NetObjectType='%s'}; |
|
2
|
|
|
|
|
15
|
|
|
2
|
|
|
|
|
91
|
|
313
|
|
|
|
|
|
|
|
314
|
|
|
|
|
|
|
=back |
315
|
|
|
|
|
|
|
|
316
|
|
|
|
|
|
|
=head1 Author |
317
|
|
|
|
|
|
|
|
318
|
|
|
|
|
|
|
Michael Shipper |
319
|
|
|
|
|
|
|
|
320
|
|
|
|
|
|
|
=cut |
321
|
|
|
|
|
|
|
|
322
|
|
|
|
|
|
|
1; |
323
|
|
|
|
|
|
|
|
324
|
|
|
|
|
|
|
__END__ |