1Smokeping_probes_TelnetIOSPing(3) SmokePing Smokeping_probes_TelnetIOSPing(3)
2
3
4
6 Smokeping::probes::TelnetIOSPing - Cisco IOS Probe for SmokePing
7
9 *** Probes ***
10
11 +TelnetIOSPing
12
13 forks = 5
14 offset = 50%
15 packetsize = 56
16 step = 300
17 timeout = 15
18
19 # The following variables can be overridden in each target section
20 /^influx_.+/ = influx_location = In the basement
21 iospass = password # mandatory
22 iosuser = user # mandatory
23 pings = 5
24 psource = 192.168.2.129
25 source = 192.168.2.1 # mandatory
26 vrf = VRF1
27
28 # [...]
29
30 *** Targets ***
31
32 probe = TelnetIOSPing # if this should be the default probe
33
34 # [...]
35
36 + mytarget
37 # probe = TelnetIOSPing # if the default probe is something else
38 host = my.host
39 /^influx_.+/ = influx_location = In the basement
40 iospass = password # mandatory
41 iosuser = user # mandatory
42 pings = 5
43 psource = 192.168.2.129
44 source = 192.168.2.1 # mandatory
45 vrf = VRF1
46
48 Integrates Cisco IOS as a probe into smokeping. Uses the telnet
49 protocol to run a ping from an IOS device (source) to another device
50 (host). This probe basically uses the "extended ping" of the Cisco
51 IOS. You have the option to specify which interface the ping is
52 sourced from as well.
53
55 Supported probe-specific variables:
56
57 forks
58 Run this many concurrent processes at maximum
59
60 Example value: 5
61
62 Default value: 5
63
64 offset
65 If you run many probes concurrently you may want to prevent them
66 from hitting your network all at the same time. Using the probe-
67 specific offset parameter you can change the point in time when
68 each probe will be run. Offset is specified in % of total interval,
69 or alternatively as 'random', and the offset from the 'General'
70 section is used if nothing is specified here. Note that this does
71 NOT influence the rrds itself, it is just a matter of when data
72 acquisition is initiated. (This variable is only applicable if the
73 variable 'concurrentprobes' is set in the 'General' section.)
74
75 Example value: 50%
76
77 packetsize
78 The (optional) packetsize option lets you configure the packetsize
79 for the pings sent.
80
81 Default value: 56
82
83 step
84 Duration of the base interval that this probe should use, if
85 different from the one specified in the 'Database' section. Note
86 that the step in the RRD files is fixed when they are originally
87 generated, and if you change the step parameter afterwards, you'll
88 have to delete the old RRD files or somehow convert them. (This
89 variable is only applicable if the variable 'concurrentprobes' is
90 set in the 'General' section.)
91
92 Example value: 300
93
94 timeout
95 How long a single 'ping' takes at maximum
96
97 Example value: 15
98
99 Default value: 5
100
101 Supported target-specific variables:
102
103 /^influx_.+/
104 This is a tag that will be sent to influxdb and has no impact on
105 the probe measurement. The tag name will be sent without the
106 "influx_" prefix, which will be replaced with "tag_" instead. Tags
107 can be used for filtering.
108
109 Example value: influx_location = In the basement
110
111 iospass
112 The iospass option allows you to specify the password for the
113 username specified with the option iosuser.
114
115 Example value: password
116
117 This setting is mandatory.
118
119 iosuser
120 The iosuser option allows you to specify a username that has ping
121 capability on the IOS Device.
122
123 Example value: user
124
125 This setting is mandatory.
126
127 pings
128 How many pings should be sent to each target, if different from the
129 global value specified in the Database section. Note that the
130 number of pings in the RRD files is fixed when they are originally
131 generated, and if you change this parameter afterwards, you'll have
132 to delete the old RRD files or somehow convert them.
133
134 Example value: 5
135
136 psource
137 The (optional) psource option specifies an alternate IP address or
138 Interface from which you wish to source your pings from. Routers
139 can have many many IP addresses, and interfaces. When you ping
140 from a router you have the ability to choose which interface and/or
141 which IP address the ping is sourced from. Specifying an
142 IP/interface does not necessarily specify the interface from which
143 the ping will leave, but will specify which address the packet(s)
144 appear to come from. If this option is left out the IOS Device
145 will source the packet automatically based on routing and/or
146 metrics. If this doesn't make sense to you then just leave it out.
147
148 Example value: 192.168.2.129
149
150 source
151 The source option specifies the IOS device to which we telnet.
152 This is an IP address of an IOS Device that you/your server:
153 1) Have the ability to telnet to 2) Have a valid
154 username and password for
155
156 Example value: 192.168.2.1
157
158 This setting is mandatory.
159
160 vrf The vrf option allows you to specify the vrf for ping
161
162 Example value: VRF1
163
165 John A Jackson <geonjay@infoave.net>
166
167 based HEAVILY on Smokeping::probes::IOSPing by
168
169 Paul J Murphy <paul@murph.org>
170
171 based on Smokeping::probes::FPing by
172
173 Tobias Oetiker <tobi@oetiker.ch>
174
176 IOS configuration
177 The IOS device should have a username/password configured, as well as
178 the ability to connect to the VTY(s). eg:
179
180 !
181 username smokeping privilege 5 password 0 SmokepingPassword
182 !
183 line vty 0 4
184 login local
185 transport input telnet
186 !
187
188 Some IOS devices have a maximum of 5 VTYs available, so be careful not
189 to hit a limit with the 'forks' variable.
190
191 Requirements
192 This module requires the Net::Telnet module for perl. This is usually
193 included on most newer OSs which include perl.
194
195 Debugging
196 There is some VERY rudimentary debugging code built into this module
197 (it's based on the debugging code written into Net::Telnet). It will
198 log information into three files "TIPreturn", "TIPoutlog", and
199 "TIPdump". These files will be written out into your current working
200 directory (CWD). You can change the names of these files to something
201 with more meaning to you.
202
203 Password authentication
204 You should be advised that the authentication method of telnet uses
205 clear text transmissions...meaning that without proper network security
206 measures someone could sniff your username and password off the
207 network. I may attempt to incorporate SSH in a future version of this
208 module, but it is very doubtful. Right now SSH adds a LOT of
209 processing overhead to a router, and isn't incredibly easy to implement
210 in perl.
211
212 Having said this, don't be too scared of telnet. Remember, the
213 original IOSPing module used RSH, which is even more scary to use from
214 a security perspective.
215
216 Ping packet size
217 The FPing manpage has the following to say on the topic of ping packet
218 size:
219
220 Number of bytes of ping data to send. The minimum size (normally 12)
221 allows room for the data that fping needs to do its work (sequence
222 number, timestamp). The reported received data size includes the IP
223 header (normally 20 bytes) and ICMP header (8 bytes), so the minimum
224 total size is 40 bytes. Default is 56, as in ping. Maximum is the
225 theoretical maximum IP datagram size (64K), though most systems limit
226 this to a smaller, system-dependent number.
227
228
229
2302.8.2 2022-07-23 Smokeping_probes_TelnetIOSPing(3)