Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Teredo server check
0.1
2011-06-08
- Nagios 3.x
GPL
95071
File | Description |
---|---|
check_teredo_server.tar.bz2 | check_teredo_server.tar.bz2 |
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
This is a nagios plugin for teredo server monitoring.
License: GPLv2
Installation
=============
Source code includes simple make file to compile it. It should compile
on most linux distributions:
# make
Plugin binary is called 'check_teredo_server' you should manually copy
it to your nagios plugins directory.
How does it work?
==================
To check teredo server this plugin acts as a new teredo client. It sends
IPv6 Router Solicitation message encapsulated in UDP with additional teredo
authentication header to the server and waits for reply with Router
Advertisement message. Server sends IPv6 Router Advertisement encapsulated
in UDP and with teredo authentication and teredo origin headers.
Teredo server is considered working properly if plugin receives a valid
response (with matching nonce value in authentication header and valid
Router Advertisement message) within 10 seconds. Socket timeout value
can be changed via -t argument.
The RS packets sent from plugin sets ConeBit=0 to increase the possibility
to get a reply. Plugin does not include full teredo qualification procedure
(does not try with ConeBit=1 first). For more details look at RFC 4380.
This plugin DOES NOT test teredo server relaying capabilities by sending bubbles or ICMPv6 echo packets.
Usage
======
Command line arguments:
-H, --hostname=ADDRESS IPv4 address or domain name of teredo server
-p, --port=INTEGER Teredo server port (default: 3544)
-t, --timeout=INTEGER Seconds to wait for reply (default: 10)
-w, --warning=DOUBLE Response time to result in warning status (seconds)
-c, --critical=DOUBLE Response time to result in critical status (seconds)
Example of testing plugin from command line:
./check_teredo_server -H teredo.litnet.lt -t 5 -w 0.01 -c 0.1
./check_teredo_server -H teredo.ipv6.microsoft.com -t 5 -w 0.1 -c 0.5
Example of test results:
TEREDO_SERVER OK - Origin: xxx.xxx.xxx.xxx:pppp, Prefix: 2001:0:c1db:3d39::/64|time=0.000289s
Origin - shows your external IP and port as seen by teredo server
Prefix - shows what prefix teredo server advertises (It is derived from
teredo server IPv4 address).
time - shows delay between request and response (RTT to the teredo server).
Example for plugin definition in commands.cfg:
# 'check_teredo_server' command definition
define command{
command_name check_teredo_server
command_line $USER1$/check_teredo_server -H $ARG1$ -w 0.01 -c 0.1
}
Example of service description in some_host.cfg:
define service{
use generic-service
host_name some_host
service_description TEREDO_SERVER1
check_command check_teredo_server!193.219.61.57
}
define service{
use generic-service
host_name some_host
service_description TEREDO_SERVER2
check_command check_teredo_server!193.219.61.58
}
NOTE: Teredo servers usually use two consecutive IP addresses that should be
checked. If you do not have them registered as separate hosts you can pass
IP address as a command argument.
If you are monitoring both IP addresses as separate hosts you can use
$HOSTADDRESS$ macro in command description.
TODO
=====
*) Add teredo authentication support.
*) Add ConeBit=1 test
*) Add teredo server relaying capabilities test.
Report bugs to julius.kriukas@ktu.lt.
License: GPLv2
Installation
=============
Source code includes simple make file to compile it. It should compile
on most linux distributions:
# make
Plugin binary is called 'check_teredo_server' you should manually copy
it to your nagios plugins directory.
How does it work?
==================
To check teredo server this plugin acts as a new teredo client. It sends
IPv6 Router Solicitation message encapsulated in UDP with additional teredo
authentication header to the server and waits for reply with Router
Advertisement message. Server sends IPv6 Router Advertisement encapsulated
in UDP and with teredo authentication and teredo origin headers.
Teredo server is considered working properly if plugin receives a valid
response (with matching nonce value in authentication header and valid
Router Advertisement message) within 10 seconds. Socket timeout value
can be changed via -t argument.
The RS packets sent from plugin sets ConeBit=0 to increase the possibility
to get a reply. Plugin does not include full teredo qualification procedure
(does not try with ConeBit=1 first). For more details look at RFC 4380.
This plugin DOES NOT test teredo server relaying capabilities by sending bubbles or ICMPv6 echo packets.
Usage
======
Command line arguments:
-H, --hostname=ADDRESS IPv4 address or domain name of teredo server
-p, --port=INTEGER Teredo server port (default: 3544)
-t, --timeout=INTEGER Seconds to wait for reply (default: 10)
-w, --warning=DOUBLE Response time to result in warning status (seconds)
-c, --critical=DOUBLE Response time to result in critical status (seconds)
Example of testing plugin from command line:
./check_teredo_server -H teredo.litnet.lt -t 5 -w 0.01 -c 0.1
./check_teredo_server -H teredo.ipv6.microsoft.com -t 5 -w 0.1 -c 0.5
Example of test results:
TEREDO_SERVER OK - Origin: xxx.xxx.xxx.xxx:pppp, Prefix: 2001:0:c1db:3d39::/64|time=0.000289s
Origin - shows your external IP and port as seen by teredo server
Prefix - shows what prefix teredo server advertises (It is derived from
teredo server IPv4 address).
time - shows delay between request and response (RTT to the teredo server).
Example for plugin definition in commands.cfg:
# 'check_teredo_server' command definition
define command{
command_name check_teredo_server
command_line $USER1$/check_teredo_server -H $ARG1$ -w 0.01 -c 0.1
}
Example of service description in some_host.cfg:
define service{
use generic-service
host_name some_host
service_description TEREDO_SERVER1
check_command check_teredo_server!193.219.61.57
}
define service{
use generic-service
host_name some_host
service_description TEREDO_SERVER2
check_command check_teredo_server!193.219.61.58
}
NOTE: Teredo servers usually use two consecutive IP addresses that should be
checked. If you do not have them registered as separate hosts you can pass
IP address as a command argument.
If you are monitoring both IP addresses as separate hosts you can use
$HOSTADDRESS$ macro in command description.
TODO
=====
*) Add teredo authentication support.
*) Add ConeBit=1 test
*) Add teredo server relaying capabilities test.
Report bugs to julius.kriukas@ktu.lt.
Reviews (0)
Be the first to review this listing!