zabby 0.0.2 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog.rdoc +17 -0
- data/README.rdoc +8 -6
- data/Rakefile +4 -2
- data/TODO.rdoc +12 -0
- data/doc/Zabby.html +9 -9
- data/doc/Zabby/AuthenticationError.html +1 -1
- data/doc/Zabby/Config.html +2 -2
- data/doc/Zabby/ConfigurationError.html +1 -1
- data/doc/Zabby/Connection.html +3 -3
- data/doc/Zabby/ResponseCodeError.html +1 -1
- data/doc/Zabby/Runner.html +142 -201
- data/doc/Zabby/ZObject.html +480 -0
- data/doc/_index.html +14 -1
- data/doc/class_list.html +1 -1
- data/doc/file.ChangeLog.html +91 -0
- data/doc/file.LICENSE.html +1 -1
- data/doc/file.README.html +52 -15
- data/doc/file.TODO.html +99 -0
- data/doc/file_list.html +6 -0
- data/doc/index.html +52 -15
- data/doc/method_list.html +70 -46
- data/doc/top-level-namespace.html +1 -1
- data/lib/zabby/runner.rb +28 -3
- data/lib/zabby/version.rb +1 -1
- data/lib/zabby/zobject.rb +5 -1
- metadata +8 -3
data/doc/_index.html
CHANGED
@@ -66,6 +66,12 @@
|
|
66
66
|
<li class="r2"><a href="file.LICENSE.html" title="LICENSE">LICENSE</a></li>
|
67
67
|
|
68
68
|
|
69
|
+
<li class="r1"><a href="file.TODO.html" title="TODO">TODO</a></li>
|
70
|
+
|
71
|
+
|
72
|
+
<li class="r2"><a href="file.ChangeLog.html" title="ChangeLog">ChangeLog</a></li>
|
73
|
+
|
74
|
+
|
69
75
|
</ul>
|
70
76
|
|
71
77
|
<div class="clear"></div>
|
@@ -149,6 +155,13 @@
|
|
149
155
|
<li class="letter">Z</li>
|
150
156
|
<ul>
|
151
157
|
|
158
|
+
<li>
|
159
|
+
<span class='object_link'><a href="Zabby/ZObject.html" title="Zabby::ZObject (class)">ZObject</a></span>
|
160
|
+
|
161
|
+
<small>(Zabby)</small>
|
162
|
+
|
163
|
+
</li>
|
164
|
+
|
152
165
|
<li>
|
153
166
|
<span class='object_link'><a href="Zabby.html" title="Zabby (module)">Zabby</a></span>
|
154
167
|
|
@@ -166,7 +179,7 @@
|
|
166
179
|
</div>
|
167
180
|
|
168
181
|
<div id="footer">
|
169
|
-
Generated on
|
182
|
+
Generated on Wed Dec 21 12:25:10 2011 by
|
170
183
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
171
184
|
0.7.4 (ruby-1.8.7).
|
172
185
|
</div>
|
data/doc/class_list.html
CHANGED
@@ -39,7 +39,7 @@
|
|
39
39
|
|
40
40
|
<ul id="full_list" class="class">
|
41
41
|
<li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
|
42
|
-
<li><a class='toggle'></a> <span class='object_link'><a href="Zabby.html" title="Zabby (module)">Zabby</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="Zabby/AuthenticationError.html" title="Zabby::AuthenticationError (class)">AuthenticationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Config.html" title="Zabby::Config (class)">Config</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ConfigurationError.html" title="Zabby::ConfigurationError (class)">ConfigurationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Connection.html" title="Zabby::Connection (class)">Connection</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ResponseCodeError.html" title="Zabby::ResponseCodeError (class)">ResponseCodeError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Runner.html" title="Zabby::Runner (class)">Runner</a></span> < Object<small class='search_info'>Zabby</small></li></ul>
|
42
|
+
<li><a class='toggle'></a> <span class='object_link'><a href="Zabby.html" title="Zabby (module)">Zabby</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="Zabby/AuthenticationError.html" title="Zabby::AuthenticationError (class)">AuthenticationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Config.html" title="Zabby::Config (class)">Config</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ConfigurationError.html" title="Zabby::ConfigurationError (class)">ConfigurationError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Connection.html" title="Zabby::Connection (class)">Connection</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ResponseCodeError.html" title="Zabby::ResponseCodeError (class)">ResponseCodeError</a></span> < StandardError<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/Runner.html" title="Zabby::Runner (class)">Runner</a></span> < Object<small class='search_info'>Zabby</small></li><li><span class='object_link'><a href="Zabby/ZObject.html" title="Zabby::ZObject (class)">ZObject</a></span> < Object<small class='search_info'>Zabby</small></li></ul>
|
43
43
|
|
44
44
|
</ul>
|
45
45
|
</div>
|
@@ -0,0 +1,91 @@
|
|
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
CHANGED
@@ -123,7 +123,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
123
123
|
</div></div>
|
124
124
|
|
125
125
|
<div id="footer">
|
126
|
-
Generated on
|
126
|
+
Generated on Wed Dec 21 12:25:11 2011 by
|
127
127
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
128
128
|
0.7.4 (ruby-1.8.7).
|
129
129
|
</div>
|
data/doc/file.README.html
CHANGED
@@ -83,6 +83,23 @@ specific configuration language.
|
|
83
83
|
<li>Simple design: avoids spaghetti code, WTF and facepalm, unlike some other
|
84
84
|
Ruby Zabbix libraries.
|
85
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
|
+
|
86
103
|
</li>
|
87
104
|
</ul>
|
88
105
|
<h2>Examples</h2>
|
@@ -96,7 +113,7 @@ The barebone API can be used in Ruby like this:
|
|
96
113
|
<span class='rubyid_require identifier id'>require</span> <span class='string val'>"pp"</span>
|
97
114
|
|
98
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>
|
99
|
-
<span class='
|
116
|
+
<span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
|
100
117
|
<span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
|
101
118
|
<span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
|
102
119
|
<span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
|
@@ -109,7 +126,7 @@ The barebone API can be used in Ruby like this:
|
|
109
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>
|
110
127
|
</pre>
|
111
128
|
<ul>
|
112
|
-
<li>The <em>
|
129
|
+
<li>The <em>server</em>, <em>user</em> and <em>passord</em> are necessary.
|
113
130
|
|
114
131
|
</li>
|
115
132
|
<li>If you don’t provide the path to the JSON-RPC script
|
@@ -120,27 +137,38 @@ The barebone API can be used in Ruby like this:
|
|
120
137
|
|
121
138
|
</li>
|
122
139
|
</ul>
|
123
|
-
<h3>Shell
|
140
|
+
<h3>Shell</h3>
|
124
141
|
<p>
|
125
|
-
<b>zabbysh</b> is an
|
126
|
-
|
127
|
-
|
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.
|
128
145
|
</p>
|
129
146
|
<p>
|
130
147
|
If the command file does not end with "exit" then the program
|
131
148
|
drops into the shell after executing the file.
|
132
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>
|
133
159
|
<h4>Interactive shell</h4>
|
134
160
|
<pre class="code">
|
135
161
|
<span class='comment val'># zabbysh</span>
|
136
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='
|
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>
|
137
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>
|
138
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>
|
139
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>
|
140
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>
|
141
|
-
<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'>"
|
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>
|
142
168
|
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_login identifier id'>login</span>
|
143
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logged_in? fid id'>logged_in?</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>
|
144
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>
|
145
173
|
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logout identifier id'>logout</span>
|
146
174
|
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_exit identifier id'>exit</span>
|
@@ -155,10 +183,10 @@ Create a file and put the same instructions as above in it, then execute
|
|
155
183
|
</pre>
|
156
184
|
<h2>Requirements</h2>
|
157
185
|
<ul>
|
158
|
-
<li>Ruby 1.8.
|
186
|
+
<li>Ruby 1.8.5. IT BASICALLY RUNS ANYWHERE!
|
159
187
|
|
160
188
|
</li>
|
161
|
-
<li>JSON library: json_pure
|
189
|
+
<li>JSON library: ‘json’ or ‘json_pure’
|
162
190
|
|
163
191
|
</li>
|
164
192
|
<li>OptionParser
|
@@ -175,15 +203,24 @@ Create a file and put the same instructions as above in it, then execute
|
|
175
203
|
</li>
|
176
204
|
<li>GitHub projet: https://github.com/Pragmatic-Source/zabby
|
177
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
|
+
|
178
212
|
</li>
|
179
213
|
</ul>
|
180
|
-
<h2>
|
214
|
+
<h2>Contributing</h2>
|
181
215
|
<p>
|
182
|
-
|
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.
|
183
218
|
</p>
|
219
|
+
<h2>Author</h2>
|
184
220
|
<p>
|
185
|
-
|
221
|
+
Farzad FARID mailto:ffarid@pragmatic-source.com
|
186
222
|
</p>
|
223
|
+
<h3>Thanks to</h3>
|
187
224
|
<ul>
|
188
225
|
<li>Jean-Hadrien Chabran (jhchabran): Advices on code design.
|
189
226
|
|
@@ -225,7 +262,7 @@ LICENSE file.
|
|
225
262
|
</div></div>
|
226
263
|
|
227
264
|
<div id="footer">
|
228
|
-
Generated on
|
265
|
+
Generated on Wed Dec 21 12:25:11 2011 by
|
229
266
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
230
267
|
0.7.4 (ruby-1.8.7).
|
231
268
|
</div>
|
data/doc/file.TODO.html
ADDED
@@ -0,0 +1,99 @@
|
|
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: TODO
|
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: TODO</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>TODO list for Zabby</h1>
|
58
|
+
<p>
|
59
|
+
Zabby is still a young projet! There are many features missing and possible
|
60
|
+
improvements:
|
61
|
+
</p>
|
62
|
+
<ul>
|
63
|
+
<li>Document the code with <b>Yard</b>
|
64
|
+
|
65
|
+
</li>
|
66
|
+
<li>Write tests:
|
67
|
+
|
68
|
+
<ul>
|
69
|
+
<li>Use RSpec
|
70
|
+
|
71
|
+
</li>
|
72
|
+
<li>Use a <em>webmock</em> to simulate a Zabix Server, maybe <b>VCR</b>
|
73
|
+
|
74
|
+
</li>
|
75
|
+
</ul>
|
76
|
+
</li>
|
77
|
+
<li>Validate API verbs
|
78
|
+
|
79
|
+
</li>
|
80
|
+
<li>Betting Exceptions and error handling
|
81
|
+
|
82
|
+
</li>
|
83
|
+
<li>Add online help to the shell
|
84
|
+
|
85
|
+
</li>
|
86
|
+
<li>Improve or merge <tt>zabbysh</tt> and <tt>zabbyrb</tt>
|
87
|
+
|
88
|
+
</li>
|
89
|
+
</ul>
|
90
|
+
</div></div>
|
91
|
+
|
92
|
+
<div id="footer">
|
93
|
+
Generated on Wed Dec 21 12:25:11 2011 by
|
94
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
95
|
+
0.7.4 (ruby-1.8.7).
|
96
|
+
</div>
|
97
|
+
|
98
|
+
</body>
|
99
|
+
</html>
|
data/doc/file_list.html
CHANGED
@@ -46,6 +46,12 @@
|
|
46
46
|
<li class="r2"><a href="file.LICENSE.html" title="LICENSE">LICENSE</a></li>
|
47
47
|
|
48
48
|
|
49
|
+
<li class="r1"><a href="file.TODO.html" title="TODO">TODO</a></li>
|
50
|
+
|
51
|
+
|
52
|
+
<li class="r2"><a href="file.ChangeLog.html" title="ChangeLog">ChangeLog</a></li>
|
53
|
+
|
54
|
+
|
49
55
|
</ul>
|
50
56
|
</div>
|
51
57
|
</body>
|
data/doc/index.html
CHANGED
@@ -83,6 +83,23 @@ specific configuration language.
|
|
83
83
|
<li>Simple design: avoids spaghetti code, WTF and facepalm, unlike some other
|
84
84
|
Ruby Zabbix libraries.
|
85
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
|
+
|
86
103
|
</li>
|
87
104
|
</ul>
|
88
105
|
<h2>Examples</h2>
|
@@ -96,7 +113,7 @@ The barebone API can be used in Ruby like this:
|
|
96
113
|
<span class='rubyid_require identifier id'>require</span> <span class='string val'>"pp"</span>
|
97
114
|
|
98
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>
|
99
|
-
<span class='
|
116
|
+
<span class='rubyid_server identifier id'>server</span> <span class='string val'>"https://monitoring.example.com"</span>
|
100
117
|
<span class='rubyid_user identifier id'>user</span> <span class='string val'>"api_user"</span>
|
101
118
|
<span class='rubyid_password identifier id'>password</span> <span class='string val'>"s3cr3t"</span>
|
102
119
|
<span class='rubyid_proxy_host identifier id'>proxy_host</span> <span class='string val'>"http://10.10.10.10"</span>
|
@@ -109,7 +126,7 @@ The barebone API can be used in Ruby like this:
|
|
109
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>
|
110
127
|
</pre>
|
111
128
|
<ul>
|
112
|
-
<li>The <em>
|
129
|
+
<li>The <em>server</em>, <em>user</em> and <em>passord</em> are necessary.
|
113
130
|
|
114
131
|
</li>
|
115
132
|
<li>If you don’t provide the path to the JSON-RPC script
|
@@ -120,27 +137,38 @@ The barebone API can be used in Ruby like this:
|
|
120
137
|
|
121
138
|
</li>
|
122
139
|
</ul>
|
123
|
-
<h3>Shell
|
140
|
+
<h3>Shell</h3>
|
124
141
|
<p>
|
125
|
-
<b>zabbysh</b> is an
|
126
|
-
|
127
|
-
|
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.
|
128
145
|
</p>
|
129
146
|
<p>
|
130
147
|
If the command file does not end with "exit" then the program
|
131
148
|
drops into the shell after executing the file.
|
132
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>
|
133
159
|
<h4>Interactive shell</h4>
|
134
160
|
<pre class="code">
|
135
161
|
<span class='comment val'># zabbysh</span>
|
136
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_set identifier id'>set</span> <span class='
|
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>
|
137
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>
|
138
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>
|
139
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>
|
140
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>
|
141
|
-
<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'>"
|
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>
|
142
168
|
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_login identifier id'>login</span>
|
143
|
-
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logged_in? fid id'>logged_in?</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>
|
144
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>
|
145
173
|
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_logout identifier id'>logout</span>
|
146
174
|
<span class='rubyid_zabby identifier id'>zabby</span><span class='gt op'>></span> <span class='rubyid_exit identifier id'>exit</span>
|
@@ -155,10 +183,10 @@ Create a file and put the same instructions as above in it, then execute
|
|
155
183
|
</pre>
|
156
184
|
<h2>Requirements</h2>
|
157
185
|
<ul>
|
158
|
-
<li>Ruby 1.8.
|
186
|
+
<li>Ruby 1.8.5. IT BASICALLY RUNS ANYWHERE!
|
159
187
|
|
160
188
|
</li>
|
161
|
-
<li>JSON library: json_pure
|
189
|
+
<li>JSON library: ‘json’ or ‘json_pure’
|
162
190
|
|
163
191
|
</li>
|
164
192
|
<li>OptionParser
|
@@ -175,15 +203,24 @@ Create a file and put the same instructions as above in it, then execute
|
|
175
203
|
</li>
|
176
204
|
<li>GitHub projet: https://github.com/Pragmatic-Source/zabby
|
177
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
|
+
|
178
212
|
</li>
|
179
213
|
</ul>
|
180
|
-
<h2>
|
214
|
+
<h2>Contributing</h2>
|
181
215
|
<p>
|
182
|
-
|
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.
|
183
218
|
</p>
|
219
|
+
<h2>Author</h2>
|
184
220
|
<p>
|
185
|
-
|
221
|
+
Farzad FARID mailto:ffarid@pragmatic-source.com
|
186
222
|
</p>
|
223
|
+
<h3>Thanks to</h3>
|
187
224
|
<ul>
|
188
225
|
<li>Jean-Hadrien Chabran (jhchabran): Advices on code design.
|
189
226
|
|
@@ -225,7 +262,7 @@ LICENSE file.
|
|
225
262
|
</div></div>
|
226
263
|
|
227
264
|
<div id="footer">
|
228
|
-
Generated on
|
265
|
+
Generated on Wed Dec 21 12:25:11 2011 by
|
229
266
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
230
267
|
0.7.4 (ruby-1.8.7).
|
231
268
|
</div>
|