Commit | Line | Data |
---|---|---|
f9c5fff0 GMF |
1 | Table of Contents |
2 | ======================================= | |
3 | 1. Introduction | |
afdd699d GMF |
4 | 2. Configuration File |
5 | 3. Command line | |
6 | 4. References | |
f9c5fff0 GMF |
7 | |
8 | ||
9 | ||
c08bc448 GMF |
10 | 1. Introduction |
11 | ======================================= | |
12 | This application provides means to check the availability of remote hosts | |
13 | through pings to them. | |
14 | ||
15 | ||
16 | 1.1. Rationale | |
17 | --------------------------------------- | |
48169a4b GMF |
18 | The application uses ICMP echo requests messages, or TCP segments to verify |
19 | whether a given host is available (up) or not (down). | |
c08bc448 GMF |
20 | |
21 | The host's address can be an IP or a DNS. | |
22 | ||
23 | ||
24 | 1.2. How to use | |
25 | --------------------------------------- | |
26 | There are many ways to invoke the application, the simplest is just type: | |
aca0d1d7 | 27 | ./pingcheck |
12589451 | 28 | which uses the configuration values from the configuration file (described in |
f9c5fff0 | 29 | the Configuration File section). |
c08bc448 | 30 | |
703f4d65 | 31 | |
c08bc448 GMF |
32 | 1.3. Resources |
33 | --------------------------------------- | |
f9c5fff0 GMF |
34 | Further information about the problem domain can be found in the References |
35 | section. | |
36 | ||
37 | ||
38 | 1.4. Legal Issues | |
39 | --------------------------------------- | |
96d2fb59 | 40 | Most parts are licensed under the GPLv2 + linking exception. |
c08bc448 | 41 | |
12589451 GMF |
42 | The ICMP code, bost::net::dns and the "boost pinger" are licensed under the |
43 | boost license and include a note about this in the beginning of the source code. | |
c08bc448 GMF |
44 | |
45 | ||
afdd699d | 46 | 2. Configuration file |
c08bc448 | 47 | ======================================= |
12589451 GMF |
48 | In this section are described the configuration items, along with they possible |
49 | values and meanings. This section is organized in each major configuration | |
50 | block. | |
7a073300 GMF |
51 | |
52 | ||
afdd699d | 53 | 2.1. General |
7a073300 GMF |
54 | --------------------------------------- |
55 | This configurations are shared among and affect all the hosts. | |
6265d17e GMF |
56 | - default-source-network-interface: the local network interface from where the |
57 | ping packages will originate. If this configuration is present, all hosts | |
58 | will use this interface as source, otherwise, a per host source-network- | |
59 | interface must be provided. | |
61e224f8 GMF |
60 | - nameserver: the server which the hosts names will be resolved. It is the |
61 | lookup server which the application will query first. If left blank or omited, | |
62 | it will use the /etc/resolv.conf. | |
361552be | 63 | You can use the nslookup <host> to figure out the nameserver. |
a341119a | 64 | - hosts-down-limit: an absolute number, which ranges from 0 to the number of |
c5e4bfa1 GMF |
65 | hosts available. This value represents the minimum number of hosts that have |
66 | to fail (i.e. do not reply to the ping) in order to alert any external system. | |
a341119a | 67 | - ping-fail-limit: percentage of pings to a host that can fail. If the |
c5e4bfa1 GMF |
68 | percentage of failed pings to a host exceed this number, then the host is |
69 | considered down. | |
d52d036a | 70 | - status-notifier-cmd: the command line that is called when a host is down, or |
c1d76f1b GMF |
71 | up. Accepted variables are: |
72 | ${status} - down or up | |
1634f2a1 GMF |
73 | - link-up-interval: how long (in minutes) the pings must be returned with |
74 | success in order to consider the link up, or stable. | |
75 | - link-down-interval: how long (in minutes) the pings must fail, in order to the | |
76 | application consider the link down. | |
703f4d65 | 77 | |
703f4d65 | 78 | |
afdd699d | 79 | 2.2. Host |
7a073300 | 80 | --------------------------------------- |
d52d036a | 81 | - name: the DNS or IP of the host to ping. Take in consideration that, if a |
7a073300 GMF |
82 | DNS is given, the application pings all IPs in the look up table, however, if |
83 | IP is provide, it is the only which will be pinged. | |
48169a4b GMF |
84 | - port: when using a port based protocol, like TCP, this field specifies in |
85 | which port to ping the host. | |
6265d17e GMF |
86 | - source-network-interface: the local network interface from where the ping |
87 | packages for a given host will originate. This setting is used only if the | |
88 | global network interface was not provided. | |
d52d036a | 89 | - interval: the host will be pinged every "interval" seconds. |
42c9d872 | 90 | - ping-protocol: indicates which protocol to use to ping the destination host, |
59bbbed9 | 91 | the currently supported protocols are TCP (tcp, tcp_ipv6) and ICMP (icmp, icmpv6). |
7a073300 GMF |
92 | |
93 | ||
f9c5fff0 | 94 | |
afdd699d GMF |
95 | 3. Command line |
96 | ======================================= | |
97 | The command line accepts the general configuration file options plus the | |
98 | following: | |
99 | - config-file: command line to specify a file where the hosts and other | |
100 | configuration information are provided. | |
078d3cca | 101 | - daemon: run the application as a daemon. |
3625c0e5 GMF |
102 | - log-level: apply a filter of which log messages will be printed. The available |
103 | options are the default Unix levels (e.g. debug, info, etc.). | |
afdd699d GMF |
104 | |
105 | ||
106 | ||
107 | 4. References | |
f9c5fff0 GMF |
108 | ======================================= |
109 | [1] http://tools.ietf.org/html/rfc792 | |
110 | [2] http://en.wikipedia.org/wiki/Ping | |
111 | [3] http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol | |
112 | [4] http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio.html | |
113 | [5] http://www.boost.org/doc/libs/1_45_0/doc/html/program_options.html | |
48169a4b | 114 | [6] http://www.networkuptime.com/nmap/page4-4.shtml |