zabby 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/.yardopts +1 -0
- data/ChangeLog.rdoc +11 -0
- data/README.rdoc +35 -0
- data/Rakefile +2 -1
- data/bin/zabbysh +49 -19
- data/lib/zabby/connection.rb +5 -1
- data/lib/zabby/runner.rb +3 -2
- data/lib/zabby/version.rb +1 -1
- data/zabby.gemspec +3 -1
- metadata +13 -37
- data/doc/Zabby.html +0 -208
- data/doc/Zabby/AuthenticationError.html +0 -116
- data/doc/Zabby/Config.html +0 -414
- data/doc/Zabby/ConfigurationError.html +0 -116
- data/doc/Zabby/Connection.html +0 -1617
- data/doc/Zabby/ResponseCodeError.html +0 -116
- data/doc/Zabby/Runner.html +0 -1057
- data/doc/Zabby/ZObject.html +0 -480
- data/doc/_index.html +0 -188
- data/doc/class_list.html +0 -47
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -55
- data/doc/css/style.css +0 -322
- data/doc/file.ChangeLog.html +0 -91
- data/doc/file.LICENSE.html +0 -132
- data/doc/file.README.html +0 -271
- data/doc/file.TODO.html +0 -99
- data/doc/file_list.html +0 -58
- data/doc/frames.html +0 -13
- data/doc/index.html +0 -271
- data/doc/js/app.js +0 -205
- data/doc/js/full_list.js +0 -167
- data/doc/js/jquery.js +0 -16
- data/doc/method_list.html +0 -382
- data/doc/top-level-namespace.html +0 -103
data/doc/file.ChangeLog.html
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=fr_fr" />
|
6
|
-
<title>
|
7
|
-
File: ChangeLog
|
8
|
-
|
9
|
-
— Documentation by YARD 0.7.4
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
-
|
17
|
-
<script type="text/javascript" charset="utf-8">
|
18
|
-
relpath = '';
|
19
|
-
if (relpath != '') relpath += '/';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
23
|
-
|
24
|
-
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
25
|
-
|
26
|
-
|
27
|
-
</head>
|
28
|
-
<body>
|
29
|
-
<script type="text/javascript" charset="utf-8">
|
30
|
-
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
-
</script>
|
32
|
-
|
33
|
-
<div id="header">
|
34
|
-
<div id="menu">
|
35
|
-
|
36
|
-
<a href="_index.html" title="Index">Index</a> »
|
37
|
-
<span class="title">File: ChangeLog</span>
|
38
|
-
|
39
|
-
|
40
|
-
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div id="search">
|
44
|
-
|
45
|
-
<a id="class_list_link" href="#">Class List</a>
|
46
|
-
|
47
|
-
<a id="method_list_link" href="#">Method List</a>
|
48
|
-
|
49
|
-
<a id="file_list_link" href="#">File List</a>
|
50
|
-
|
51
|
-
</div>
|
52
|
-
<div class="clear"></div>
|
53
|
-
</div>
|
54
|
-
|
55
|
-
<iframe id="search_frame"></iframe>
|
56
|
-
|
57
|
-
<div id="content"><div id='filecontents'><h1>ChangeLog for Zabby</h1>
|
58
|
-
<h2>v0.0.4 (2011/12/21)</h2>
|
59
|
-
<ul>
|
60
|
-
<li>Same as v0.0.3 that I could not publish on rubygems.org
|
61
|
-
|
62
|
-
</li>
|
63
|
-
</ul>
|
64
|
-
<h2>v0.0.3 (2011/12/21)</h2>
|
65
|
-
<ul>
|
66
|
-
<li>Improve documentation and add all Zabbix API verbs
|
67
|
-
|
68
|
-
</li>
|
69
|
-
</ul>
|
70
|
-
<h2>v0.0.2 (2011/12/20)</h2>
|
71
|
-
<ul>
|
72
|
-
<li>First public release.
|
73
|
-
|
74
|
-
</li>
|
75
|
-
</ul>
|
76
|
-
<h2>v0.0.1 (2011/12/18)</h2>
|
77
|
-
<ul>
|
78
|
-
<li>Unpublished.
|
79
|
-
|
80
|
-
</li>
|
81
|
-
</ul>
|
82
|
-
</div></div>
|
83
|
-
|
84
|
-
<div id="footer">
|
85
|
-
Generated on Wed Dec 21 12:25:11 2011 by
|
86
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
87
|
-
0.7.4 (ruby-1.8.7).
|
88
|
-
</div>
|
89
|
-
|
90
|
-
</body>
|
91
|
-
</html>
|
data/doc/file.LICENSE.html
DELETED
@@ -1,132 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=fr_fr" />
|
6
|
-
<title>
|
7
|
-
File: LICENSE
|
8
|
-
|
9
|
-
— Documentation by YARD 0.7.4
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
-
|
17
|
-
<script type="text/javascript" charset="utf-8">
|
18
|
-
relpath = '';
|
19
|
-
if (relpath != '') relpath += '/';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
23
|
-
|
24
|
-
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
25
|
-
|
26
|
-
|
27
|
-
</head>
|
28
|
-
<body>
|
29
|
-
<script type="text/javascript" charset="utf-8">
|
30
|
-
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
-
</script>
|
32
|
-
|
33
|
-
<div id="header">
|
34
|
-
<div id="menu">
|
35
|
-
|
36
|
-
<a href="_index.html" title="Index">Index</a> »
|
37
|
-
<span class="title">File: LICENSE</span>
|
38
|
-
|
39
|
-
|
40
|
-
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div id="search">
|
44
|
-
|
45
|
-
<a id="class_list_link" href="#">Class List</a>
|
46
|
-
|
47
|
-
<a id="method_list_link" href="#">Method List</a>
|
48
|
-
|
49
|
-
<a id="file_list_link" href="#">File List</a>
|
50
|
-
|
51
|
-
</div>
|
52
|
-
<div class="clear"></div>
|
53
|
-
</div>
|
54
|
-
|
55
|
-
<iframe id="search_frame"></iframe>
|
56
|
-
|
57
|
-
<div id="content"><div id='filecontents'><p>
|
58
|
-
Copyright 2011 Farzad FARID / Pragmatic Source. All rights reserved.
|
59
|
-
</p>
|
60
|
-
<p>
|
61
|
-
Redistribution and use in source and binary forms, with or without
|
62
|
-
modification, are permitted provided that the following conditions are met:
|
63
|
-
</p>
|
64
|
-
<pre class="code">
|
65
|
-
<span class='float val'>1</span><span class='dot token'>.</span> <span class='rubyid_Redistributions constant id'>Redistributions</span> <span class='rubyid_of identifier id'>of</span> <span class='rubyid_source identifier id'>source</span> <span class='rubyid_code identifier id'>code</span> <span class='rubyid_must identifier id'>must</span> <span class='rubyid_retain identifier id'>retain</span> <span class='rubyid_the identifier id'>the</span> <span class='rubyid_above identifier id'>above</span> <span class='rubyid_copyright identifier id'>copyright</span> <span class='rubyid_notice identifier id'>notice</span><span class='comma token'>,</span> <span class='rubyid_this identifier id'>this</span> <span class='rubyid_list identifier id'>list</span> <span class='rubyid_of identifier id'>of</span>
|
66
|
-
<span class='rubyid_conditions identifier id'>conditions</span> <span class='rubyid_and and kw'>and</span> <span class='rubyid_the identifier id'>the</span> <span class='rubyid_following identifier id'>following</span> <span class='rubyid_disclaimer identifier id'>disclaimer</span><span class='dot token'>.</span>
|
67
|
-
|
68
|
-
<span class='float val'>2</span><span class='dot token'>.</span> <span class='rubyid_Redistributions constant id'>Redistributions</span> <span class='rubyid_in in kw'>in</span> <span class='rubyid_binary identifier id'>binary</span> <span class='rubyid_form identifier id'>form</span> <span class='rubyid_must identifier id'>must</span> <span class='rubyid_reproduce identifier id'>reproduce</span> <span class='rubyid_the identifier id'>the</span> <span class='rubyid_above identifier id'>above</span> <span class='rubyid_copyright identifier id'>copyright</span> <span class='rubyid_notice identifier id'>notice</span><span class='comma token'>,</span> <span class='rubyid_this identifier id'>this</span> <span class='rubyid_list identifier id'>list</span>
|
69
|
-
<span class='rubyid_of identifier id'>of</span> <span class='rubyid_conditions identifier id'>conditions</span> <span class='rubyid_and and kw'>and</span> <span class='rubyid_the identifier id'>the</span> <span class='rubyid_following identifier id'>following</span> <span class='rubyid_disclaimer identifier id'>disclaimer</span> <span class='rubyid_in in kw'>in</span> <span class='rubyid_the identifier id'>the</span> <span class='rubyid_documentation identifier id'>documentation</span> <span class='rubyid_and and kw'>and</span><span class='regexp val'>/or other materials
|
70
|
-
provided with the distribution.
|
71
|
-
</span></pre>
|
72
|
-
<p>
|
73
|
-
THIS SOFTWARE IS PROVIDED BY PRAGMATIC SOURCE ’’AS
|
74
|
-
IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
75
|
-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
76
|
-
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PRAGMATIC SOURCE OR
|
77
|
-
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
78
|
-
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
79
|
-
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
80
|
-
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
81
|
-
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
82
|
-
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
83
|
-
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
84
|
-
</p>
|
85
|
-
<p>
|
86
|
-
The views and conclusions contained in the software and documentation are
|
87
|
-
those of the authors and should not be interpreted as representing official
|
88
|
-
policies, either expressed or implied, of Pragmatic Source.
|
89
|
-
</p>
|
90
|
-
<p>
|
91
|
-
OTHER LICENSES COVERING PORTIONS OF CODE
|
92
|
-
</p>
|
93
|
-
<h6>==================================</h6>
|
94
|
-
<p>
|
95
|
-
Portions of code in "Zabbix::Running" were inspired by Rush
|
96
|
-
(https://github.com/adamwiggins/rush):
|
97
|
-
</p>
|
98
|
-
<p>
|
99
|
-
Copyright © 2010 Adam Wiggins
|
100
|
-
</p>
|
101
|
-
<p>
|
102
|
-
Permission is hereby granted, free of charge, to any person obtaining a
|
103
|
-
copy of this software and associated documentation files (the
|
104
|
-
"Software"), to deal in the Software without restriction,
|
105
|
-
including without limitation the rights to use, copy, modify, merge,
|
106
|
-
publish, distribute, sublicense, and/or sell copies of the Software, and to
|
107
|
-
permit persons to whom the Software is furnished to do so, subject to the
|
108
|
-
following conditions:
|
109
|
-
</p>
|
110
|
-
<p>
|
111
|
-
The above copyright notice and this permission notice shall be included in
|
112
|
-
all copies or substantial portions of the Software.
|
113
|
-
</p>
|
114
|
-
<p>
|
115
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
116
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
117
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
118
|
-
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
119
|
-
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
120
|
-
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
121
|
-
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
122
|
-
</p>
|
123
|
-
</div></div>
|
124
|
-
|
125
|
-
<div id="footer">
|
126
|
-
Generated on Wed Dec 21 12:25:11 2011 by
|
127
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
128
|
-
0.7.4 (ruby-1.8.7).
|
129
|
-
</div>
|
130
|
-
|
131
|
-
</body>
|
132
|
-
</html>
|
data/doc/file.README.html
DELETED
@@ -1,271 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=fr_fr" />
|
6
|
-
<title>
|
7
|
-
File: README
|
8
|
-
|
9
|
-
— Documentation by YARD 0.7.4
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
-
|
17
|
-
<script type="text/javascript" charset="utf-8">
|
18
|
-
relpath = '';
|
19
|
-
if (relpath != '') relpath += '/';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
23
|
-
|
24
|
-
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
25
|
-
|
26
|
-
|
27
|
-
</head>
|
28
|
-
<body>
|
29
|
-
<script type="text/javascript" charset="utf-8">
|
30
|
-
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
-
</script>
|
32
|
-
|
33
|
-
<div id="header">
|
34
|
-
<div id="menu">
|
35
|
-
|
36
|
-
<a href="_index.html" title="Index">Index</a> »
|
37
|
-
<span class="title">File: README</span>
|
38
|
-
|
39
|
-
|
40
|
-
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div id="search">
|
44
|
-
|
45
|
-
<a id="class_list_link" href="#">Class List</a>
|
46
|
-
|
47
|
-
<a id="method_list_link" href="#">Method List</a>
|
48
|
-
|
49
|
-
<a id="file_list_link" href="#">File List</a>
|
50
|
-
|
51
|
-
</div>
|
52
|
-
<div class="clear"></div>
|
53
|
-
</div>
|
54
|
-
|
55
|
-
<iframe id="search_frame"></iframe>
|
56
|
-
|
57
|
-
<div id="content"><div id='filecontents'><h1>Zabby</h1>
|
58
|
-
<p>
|
59
|
-
Zabby[http://zabby.org] is a Ruby library and client for
|
60
|
-
Zabbix[http://www.zabbix.com/]. It provides a simple and clean interface to
|
61
|
-
the Web Services[http://www.zabbix.com/documentation/1.8/api].
|
62
|
-
</p>
|
63
|
-
<h2>Goals</h2>
|
64
|
-
<p>
|
65
|
-
There already are Ruby Zabbix libraries but some of them are unfinished
|
66
|
-
(and apparently abandonned) and some other’s code is too complicated
|
67
|
-
or poorly designed. This is why I decided to write another tool for which
|
68
|
-
my primary goal is to keep the code design, the user interaction and
|
69
|
-
application interface clean and simple.
|
70
|
-
</p>
|
71
|
-
<p>
|
72
|
-
Zabby has the following caracteristics:
|
73
|
-
</p>
|
74
|
-
<ul>
|
75
|
-
<li>Works both as a Ruby API and a command line tool.
|
76
|
-
|
77
|
-
</li>
|
78
|
-
<li>Uses an internal Ruby DSL (Domain Specific Langage) that give access to the
|
79
|
-
full power of Ruby scripting in your configurarion files. No need for a
|
80
|
-
specific configuration language.
|
81
|
-
|
82
|
-
</li>
|
83
|
-
<li>Simple design: avoids spaghetti code, WTF and facepalm, unlike some other
|
84
|
-
Ruby Zabbix libraries.
|
85
|
-
|
86
|
-
</li>
|
87
|
-
</ul>
|
88
|
-
<h2>Features</h2>
|
89
|
-
<ul>
|
90
|
-
<li>Low level Ruby API that maps every Zabbix API (JSON RPC) to Ruby hashes.
|
91
|
-
|
92
|
-
</li>
|
93
|
-
<li>Higher level Ruby DSL, both available in pure Ruby and for writing
|
94
|
-
configuration files.
|
95
|
-
|
96
|
-
</li>
|
97
|
-
<li>Supports SSL and authenticated HTTP proxies.
|
98
|
-
|
99
|
-
</li>
|
100
|
-
<li>Full featured IRB like shell included with Readline support. You can mix
|
101
|
-
Zabbix instructions with Ruby calls transparently.
|
102
|
-
|
103
|
-
</li>
|
104
|
-
</ul>
|
105
|
-
<h2>Examples</h2>
|
106
|
-
<h3>API use</h3>
|
107
|
-
<p>
|
108
|
-
The barebone API can be used in Ruby like this:
|
109
|
-
</p>
|
110
|
-
<pre class="code">
|
111
|
-
<span class='rubyid_require identifier id'>require</span> <span class='string val'>"rubygems"</span>
|
112
|
-
<span class='rubyid_require identifier id'>require</span> <span class='string val'>"zabby"</span>
|
113
|
-
<span class='rubyid_require identifier id'>require</span> <span class='string val'>"pp"</span>
|
114
|
-
|
115
|
-
<span class='rubyid_z identifier id'>z</span> <span class='assign token'>=</span> <span class='rubyid_Zabby constant id'>Zabby</span><span class='dot token'>.</span><span class='rubyid_init identifier id'>init</span> <span class='rubyid_do do kw'>do</span>
|
116
|
-
<span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
|
117
|
-
<span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
|
118
|
-
<span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
|
119
|
-
<span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
|
120
|
-
<span class='rubyid_proxy_user identifier id'>proxy_user</span> <span class='string val'>"john"</span>
|
121
|
-
<span class='rubyid_proxy_password identifier id'>proxy_password</span> <span class='string val'>"D0e"</span>
|
122
|
-
<span class='rubyid_end end kw'>end</span>
|
123
|
-
<span class='rubyid_z identifier id'>z</span><span class='dot token'>.</span><span class='rubyid_login identifier id'>login</span>
|
124
|
-
|
125
|
-
<span class='rubyid_pp identifier id'>pp</span> <span class='rubyid_z identifier id'>z</span><span class='dot token'>.</span><span class='rubyid_connection identifier id'>connection</span><span class='dot token'>.</span><span class='rubyid_perform_request identifier id'>perform_request</span><span class='lparen token'>(</span><span class='string val'>"host"</span><span class='comma token'>,</span> <span class='string val'>"get"</span><span class='comma token'>,</span> <span class='lbrace token'>{</span> <span class='string val'>"filter"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='lbrace token'>{</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"master.example.com"</span> <span class='rbrace token'>}</span> <span class='rbrace token'>}</span><span class='rparen token'>)</span>
|
126
|
-
<span class='rubyid_pp identifier id'>pp</span> <span class='rubyid_z identifier id'>z</span><span class='dot token'>.</span><span class='rubyid_connection identifier id'>connection</span><span class='dot token'>.</span><span class='rubyid_perform_request identifier id'>perform_request</span><span class='lparen token'>(</span><span class='string val'>"item"</span><span class='comma token'>,</span> <span class='string val'>"get"</span><span class='comma token'>,</span> <span class='lbrace token'>{</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"master.example.com"</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"shorten"</span> <span class='rbrace token'>}</span><span class='rparen token'>)</span>
|
127
|
-
</pre>
|
128
|
-
<ul>
|
129
|
-
<li>The <em>server</em>, <em>user</em> and <em>passord</em> are necessary.
|
130
|
-
|
131
|
-
</li>
|
132
|
-
<li>If you don’t provide the path to the JSON-RPC script
|
133
|
-
"/api_jsonrpc.php" is appended to the URI automatically.
|
134
|
-
|
135
|
-
</li>
|
136
|
-
<li>The <em>proxy_*</em> settings are optionnal.
|
137
|
-
|
138
|
-
</li>
|
139
|
-
</ul>
|
140
|
-
<h3>Shell</h3>
|
141
|
-
<p>
|
142
|
-
<b>zabbysh</b> is an simple Zabbix Shell. It runs either interactively or
|
143
|
-
can be used to execute a command file with the "-f CMD_FILE"
|
144
|
-
option.
|
145
|
-
</p>
|
146
|
-
<p>
|
147
|
-
If the command file does not end with "exit" then the program
|
148
|
-
drops into the shell after executing the file.
|
149
|
-
</p>
|
150
|
-
<p>
|
151
|
-
<b>zabbysh</b> provides Readline support but does no support advanced IRB
|
152
|
-
features likes multi-lines instructions.
|
153
|
-
</p>
|
154
|
-
<p>
|
155
|
-
<b>zabbyrb</b> is another Zabbix Shell based on <b>IRB</b>. It provides the
|
156
|
-
whole power of IRB but may be less stable than zabbysh because the IRB API
|
157
|
-
is poorly documented and hard to use.
|
158
|
-
</p>
|
159
|
-
<h4>Interactive shell</h4>
|
160
|
-
<pre class="code">
|
161
|
-
<span class='comment val'># zabbysh</span>
|
162
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
|
163
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
|
164
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
|
165
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
|
166
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_user identifier id'>proxy_user</span> <span class='string val'>"john"</span>
|
167
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='rubyid_proxy_password identifier id'>proxy_password</span> <span class='string val'>"D0e"</span>
|
168
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_login identifier id'>login</span>
|
169
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_puts identifier id'>puts</span> <span class='rubyid_logged_in? fid id'>logged_in?</span>
|
170
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_host identifier id'>host</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='string val'>"filter"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='lbrace token'>{</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"monitor.example.com"</span> <span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"extend"</span>
|
171
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_item identifier id'>item</span><span class='dot token'>.</span><span class='rubyid_get identifier id'>get</span> <span class='string val'>"host"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"monitor.example.com"</span><span class='comma token'>,</span> <span class='string val'>"output"</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='string val'>"refer"</span>
|
172
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='lbrack token'>[</span><span class='dot3 op'>...</span><span class='rbrack token'>]</span>
|
173
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logout identifier id'>logout</span>
|
174
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_exit identifier id'>exit</span>
|
175
|
-
</pre>
|
176
|
-
<h4>Execute a command script</h4>
|
177
|
-
<p>
|
178
|
-
Create a file and put the same instructions as above in it, then execute
|
179
|
-
<b>zabbysh</b>:
|
180
|
-
</p>
|
181
|
-
<pre class="code">
|
182
|
-
<span class='comment val'># zabbysh --file my_zabbix_commands.txt</span>
|
183
|
-
</pre>
|
184
|
-
<h2>Requirements</h2>
|
185
|
-
<ul>
|
186
|
-
<li>Ruby 1.8.5. IT BASICALLY RUNS ANYWHERE!
|
187
|
-
|
188
|
-
</li>
|
189
|
-
<li>JSON library: ‘json’ or ‘json_pure’
|
190
|
-
|
191
|
-
</li>
|
192
|
-
<li>OptionParser
|
193
|
-
|
194
|
-
</li>
|
195
|
-
<li>Readline (optionnal, used by the interactive shell)
|
196
|
-
|
197
|
-
</li>
|
198
|
-
</ul>
|
199
|
-
<h2>References</h2>
|
200
|
-
<ul>
|
201
|
-
<li>Main web site: http://zabby.org
|
202
|
-
|
203
|
-
</li>
|
204
|
-
<li>GitHub projet: https://github.com/Pragmatic-Source/zabby
|
205
|
-
|
206
|
-
</li>
|
207
|
-
<li>RubyGems.org homepage: https://rubygems.org/gems/zabby
|
208
|
-
|
209
|
-
</li>
|
210
|
-
<li>Author’s company: http://www.pragmatic-source.com
|
211
|
-
|
212
|
-
</li>
|
213
|
-
</ul>
|
214
|
-
<h2>Contributing</h2>
|
215
|
-
<p>
|
216
|
-
All contributions are welcome. You can either open a ticket on Github, send
|
217
|
-
a pull request with a patch or send an email to the author.
|
218
|
-
</p>
|
219
|
-
<h2>Author</h2>
|
220
|
-
<p>
|
221
|
-
Farzad FARID mailto:ffarid@pragmatic-source.com
|
222
|
-
</p>
|
223
|
-
<h3>Thanks to</h3>
|
224
|
-
<ul>
|
225
|
-
<li>Jean-Hadrien Chabran (jhchabran): Advices on code design.
|
226
|
-
|
227
|
-
</li>
|
228
|
-
<li>Nicolas Blanco (slainer68): Advices on code design and Triple Facepalming
|
229
|
-
after reading other Ruby/Zabbix code.
|
230
|
-
|
231
|
-
</li>
|
232
|
-
<li>Renaud Chaput (renchap): For suggesting the "zabby" name.
|
233
|
-
|
234
|
-
</li>
|
235
|
-
</ul>
|
236
|
-
<h3>Sources of inspiration</h3>
|
237
|
-
<ul>
|
238
|
-
<li>Adam Wiggins’s Rush[https://github.com/adamwiggins/rush] for the
|
239
|
-
interactive shell.
|
240
|
-
|
241
|
-
</li>
|
242
|
-
<li>Other Zabbix Ruby libraries (only the good parts ;) ):
|
243
|
-
|
244
|
-
</li>
|
245
|
-
</ul>
|
246
|
-
<table>
|
247
|
-
<tr><td valign="top">zabcon[http://trac.red-tux.net/]:</td><td>Zabcon is a command line interface for Zabbix written in Ruby
|
248
|
-
|
249
|
-
</td></tr>
|
250
|
-
<tr><td valign="top">rzabbix[http://github.com/neerfri/rzabbix]:</td><td>Zabbix API client for Ruby
|
251
|
-
|
252
|
-
</td></tr>
|
253
|
-
<tr><td valign="top">rubix[https://github.com/dhruvbansal/rubix]:</td><td>Rubix is a Ruby client for Zabbix
|
254
|
-
|
255
|
-
</td></tr>
|
256
|
-
</table>
|
257
|
-
<h2>License</h2>
|
258
|
-
<p>
|
259
|
-
This software is release under the <b>Simplified BSD license</b>. See the
|
260
|
-
LICENSE file.
|
261
|
-
</p>
|
262
|
-
</div></div>
|
263
|
-
|
264
|
-
<div id="footer">
|
265
|
-
Generated on Wed Dec 21 12:25:11 2011 by
|
266
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
267
|
-
0.7.4 (ruby-1.8.7).
|
268
|
-
</div>
|
269
|
-
|
270
|
-
</body>
|
271
|
-
</html>
|