zabby 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|