• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

agent/H18-Jun-2014-143113

aggregate/H18-Jun-2014-6045

application/H18-Jun-2014-9071

data/H18-Jun-2014-4738

ext/H18-Jun-2014-203166

spec/H18-Jun-2014-531420

util/H18-Jun-2014-2721

validator/H18-Jun-2014-7358

.gitignoreH A D18-Jun-201427 32

.travis.ymlH A D18-Jun-2014318 1514

CHANGELOG.mdH A D18-Jun-2014526 4018

GemfileH A D18-Jun-2014349 1813

README.mdH A D18-Jun-20142.6 KiB7346

RakefileH A D18-Jun-20143 KiB9375

buildops.yamlH A D18-Jun-201454 54

README.md

1Nettest agent
2=============
3
4This is a simple agent that will execute a ping or remote connection test on mcollective hosts
5
6I often find myself logging onto boxes to ping different sites to diagnose local or remote network issues, this means I can now just issue a single command and get results from anywhere I’m running mcollective.
7
8Installation
9------------
10
11* Install RubyGem [Net::Ping](http://raa.ruby-lang.org/project/net-ping/)
12* Follow the [basic plugin install guide](http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/InstalingPlugins)
13
14Usage
15-----
16
17ICMP ping test:
18
19    $ mco nettest ping hostname
20    Do you really want to perform network tests unfiltered? (y/n): y
21
22     * [ ============================================================> ] 11 / 11
23
24    node1.example.net                        time = 0.429
25    node8.example.net                        time = 0.388
26    node5.example.net                        time = 0.686
27    node4.example.net                        time = 1.858
28    middleware.example.net                   time = 2.697
29    node7.example.net                        time = 0.637
30    node0.example.net                        time = 16.455
31    node9.example.net                        time = 1.974
32    node6.example.net                        time = 0.415
33    node3.example.net                        time = 0.389
34    node2.example.net                        time = 0.4
35
36    Summary of RTT:
37
38       Min: 0.388ms  Max: 16.455ms  Average: 2.393ms
39
40
41    Finished processing 11 / 11 hosts in 85.76 ms
42
43TCP connection test to port 8140:
44
45    $ mco nettest connect hostname 8140
46
47Validator
48---------
49
50The nettest agent supplies an fqdn validator which will validate if a string is a valid uri.
51
52    validate :fqdn, :nettest_fqdn
53
54The nettest agent supplies a server address validator which will validate that a given string includes both a valid hostname and port number separated by a colon.
55
56    validate :serveraddress, :nettest_server_address
57
58Data Plugin
59-----------
60
61The nettest agent also supplies a data plugin which uses the nettest agent to check if a connection to a fqdn at a specific port can be made. The data plugin will return 'true' or 'false' and can be used during discovery or any other place where the MCollective discovery language is used.
62
63    $ mco rpc rpcutil -S "Nettest('myhost', '8080').connect=true"
64
65Mma Aggregate Plugin
66--------------------
67
68The nettest agent supplies a mma aggregate plugin which will determine the minimum value, maximum value and average value of a set of inputs determinted in a DDL.
69
70    summarize do
71      aggregate nettest_mma(:rtt, :format => "Min: %.3fms  Max: %.3fms  Average: %.3fms")
72    end
73