riemann-dash 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -1,8 +1,7 @@
1
1
  Riemann-Dash
2
2
  ============
3
3
 
4
- An extensible Sinatra dashboard for Riemann. Connects to Riemann over the
5
- network and shows events matching the queries you configure.
4
+ A javascript, websockets-powered dashboard for Riemann.
6
5
 
7
6
  Get started
8
7
  ==========
@@ -12,8 +11,7 @@ gem install riemann-dash
12
11
  riemann-dash
13
12
  ```
14
13
 
15
- Riemann-dash will connect to a local Riemann server on port 5555, and display a
16
- basic dashboard of all events in that server's index.
14
+ Then open http://localhost:4567 in a browser. Riemann-dash will connect to the local host (relative to your browser) by default, and show you a small manual.
17
15
 
18
16
  Configuring
19
17
  ===========
@@ -28,24 +26,3 @@ options, etc.
28
26
  set :port, 6000 # HTTP server on port 6000
29
27
  config[:client][:host] = 'my.ustate.server'
30
28
  ```
31
-
32
- You'll probably want a more specific dashboard:
33
-
34
- ``` ruby
35
- config[:views] = 'my/custom/view/directory'
36
- ```
37
-
38
- Then you can write your own index.erb (and other views too, if you like). I've
39
- provided an default stylesheet, layout, and dashboard in
40
- lib/riemann/dash/views--as well as an extensive set of functions for laying out
41
- events from a given query: see lib/riemann/dash/helper/renderer.rb.
42
-
43
- A long history with cacti, nagios, and the like has convinced me that a.) web
44
- configuration of dashboards is inevitably slower than just writing the code and
45
- b.) you're almost certainly going to want to need more functions than I can
46
- give you. My goal is to give you the tools to make it easier and get out of
47
- your way.
48
-
49
- An example config.rb, additional controllers, views, and public directory are
50
- all in doc/dash. Should give you ideas for extending the dashboard for your own
51
- needs.
@@ -157,11 +157,38 @@ dash = (function() {
157
157
  );
158
158
  }
159
159
 
160
+ var help = function() {
161
+ var dialog = $(
162
+ '<div><h1>Help</h1><ul>' +
163
+ '<li><b>e</b>: edit the view</li>' +
164
+ '<li><b>?</b>: display this help box</li>' +
165
+ '<li><b>s</b>: save the dashboard</li>' +
166
+ '<li><b>+</b>: increase the size of the view</li>' +
167
+ '<li><b>-</b>: decrease the size of the view</li>' +
168
+ '<li><b>v</b>: split the view vertically</li>' +
169
+ '<li><b>h</b>: split the view horizontally</li>' +
170
+ '<li><b>&#8592;</b>: left arrow move the view to the left</li>' +
171
+ '<li><b>&#8594;</b>: right arrow move the view to the right</li>' +
172
+ '<li><b>&#8593;</b>: up arrow move the view up>' +
173
+ '<li><b>&#8595;</b>: down arrow move the view down</li>' +
174
+ '<li><b>d</b>: delete a view</li>' +
175
+ '<li><b>delete</b>: delete a view</li>' +
176
+ '<li><b>alt-1, alt-2, etc</b>: switch to a different workplace</li>' +
177
+ '</ul></div>'
178
+ );
179
+
180
+ // keys.disable();
181
+ dialog.modal({onClose: function() {
182
+ keys.enable();
183
+ $.modal.close();
184
+ }});
185
+ }
186
+
160
187
  // Global keybindings.
161
- // s is for save
162
188
  keys.bind(80, subs.toggle); // p
163
189
  keys.bind(82, reload); // r
164
190
  keys.bind(83, save); // s
191
+ keys.bind(191, help); // ?
165
192
  keys.bind(49, function(e) { e.altKey && switchWorkspace(workspaces[0]) });
166
193
  keys.bind(50, function(e) { e.altKey && switchWorkspace(workspaces[1]) });
167
194
  keys.bind(51, function(e) { e.altKey && switchWorkspace(workspaces[2]) });
@@ -74,9 +74,11 @@ var view = (function() {
74
74
  focused.parent.focus();
75
75
  } },
76
76
  46: function() { focused.delete() }, // delete
77
+ 68: function() { focused.delete() }, // d
78
+
77
79
  69: function() { focused.edit() }, // e
78
80
  86: function() { focused.split('VStack', 1) }, // v
79
- 87: function() { focused.split('HStack', 1) }, // h
81
+ 72: function() { focused.split('HStack', 1) }, // h
80
82
 
81
83
  187: function() { focused.grow(); }, // +
82
84
  189: function() { focused.shrink(); } // -
@@ -50,8 +50,8 @@
50
50
  Grid.prototype.editForm = function() {
51
51
  return Mustache.render('<label for="title">Title</label>' +
52
52
  '<input type="text" name="title" value="{{title}}" /><br />' +
53
- '<label for="query">Query</label>' +
54
- '<input type="text" name="query" value="{{query}}" /><br />' +
53
+ '<label for="query">Query</label><br />' +
54
+ '<textarea name="query" class="query">{{query}}</textarea><br />' +
55
55
  '<label for="max">Max</label>' +
56
56
  '<input type="text" name="max" value="{{max}}" /><br />' +
57
57
  '<span class="desc">"all", "host", "service", or any number.</span>',
@@ -1,4 +1,4 @@
1
1
  module Riemann; end
2
2
  class Riemann::Dash
3
- VERSION = '0.2.0'
3
+ VERSION = '0.2.1'
4
4
  end
@@ -275,6 +275,11 @@ html,table {
275
275
  cursor:pointer;
276
276
  }
277
277
 
278
+ textarea.query {
279
+ width: 100%;
280
+ height: 100px;
281
+ }
282
+
278
283
  .quickfit {
279
284
  display: block;
280
285
  white-space: nowrap;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riemann-dash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-16 00:00:00.000000000 Z
12
+ date: 2013-02-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: riemann-client
16
- requirement: &11919920 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 0.0.7
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *11919920
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.0.7
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: erubis
27
- requirement: &11918520 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 2.7.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *11918520
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.7.0
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: sinatra
38
- requirement: &11917660 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: 1.3.2
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *11917660
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.2
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: sass
49
- requirement: &11916360 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: 3.1.14
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *11916360
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 3.1.14
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: thin
60
- requirement: &11914740 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,18 +85,28 @@ dependencies:
65
85
  version: 1.3.1
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *11914740
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.1
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: multi_json
71
- requirement: &11540560 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
- - - =
99
+ - - '='
75
100
  - !ruby/object:Gem::Version
76
101
  version: 1.3.6
77
102
  type: :runtime
78
103
  prerelease: false
79
- version_requirements: *11540560
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.3.6
80
110
  description:
81
111
  email: aphyr@aphyr.com
82
112
  executables:
@@ -85,37 +115,37 @@ extensions: []
85
115
  extra_rdoc_files: []
86
116
  files:
87
117
  - lib/riemann/dash.rb
88
- - lib/riemann/dash/rack/static.rb
118
+ - lib/riemann/dash/controller/css.rb
119
+ - lib/riemann/dash/controller/index.rb
120
+ - lib/riemann/dash/public/clock.js
121
+ - lib/riemann/dash/public/dash.js
89
122
  - lib/riemann/dash/public/format.js
90
- - lib/riemann/dash/public/view.js
91
123
  - lib/riemann/dash/public/jquery-1.7.2.min.js
92
- - lib/riemann/dash/public/mustache.js
93
- - lib/riemann/dash/public/x.png
94
- - lib/riemann/dash/public/util.js
95
124
  - lib/riemann/dash/public/jquery-ui-1.9.0.custom.min.js
96
- - lib/riemann/dash/public/underscore-min.js
125
+ - lib/riemann/dash/public/jquery.json-2.2.min.js
126
+ - lib/riemann/dash/public/jquery.quickfit.js
127
+ - lib/riemann/dash/public/jquery.simplemodal.1.4.3.min.js
128
+ - lib/riemann/dash/public/keys.js
129
+ - lib/riemann/dash/public/mustache.js
97
130
  - lib/riemann/dash/public/persistence.js
131
+ - lib/riemann/dash/public/profile.js
98
132
  - lib/riemann/dash/public/subs.js
99
- - lib/riemann/dash/public/jquery.simplemodal.1.4.3.min.js
100
- - lib/riemann/dash/public/views/help.js
101
- - lib/riemann/dash/public/views/grid.js
102
- - lib/riemann/dash/public/views/title.js
103
- - lib/riemann/dash/public/views/gauge.js
104
- - lib/riemann/dash/public/jquery.quickfit.js
133
+ - lib/riemann/dash/public/toastr.css
105
134
  - lib/riemann/dash/public/toastr.js
106
135
  - lib/riemann/dash/public/toolbar.js
107
- - lib/riemann/dash/public/toastr.css
108
- - lib/riemann/dash/public/dash.js
109
- - lib/riemann/dash/public/profile.js
110
- - lib/riemann/dash/public/clock.js
111
- - lib/riemann/dash/public/jquery.json-2.2.min.js
112
- - lib/riemann/dash/public/keys.js
136
+ - lib/riemann/dash/public/underscore-min.js
137
+ - lib/riemann/dash/public/util.js
138
+ - lib/riemann/dash/public/view.js
139
+ - lib/riemann/dash/public/views/gauge.js
140
+ - lib/riemann/dash/public/views/grid.js
141
+ - lib/riemann/dash/public/views/help.js
142
+ - lib/riemann/dash/public/views/title.js
143
+ - lib/riemann/dash/public/x.png
144
+ - lib/riemann/dash/rack/static.rb
113
145
  - lib/riemann/dash/version.rb
114
- - lib/riemann/dash/controller/index.rb
115
- - lib/riemann/dash/controller/css.rb
116
146
  - lib/riemann/dash/views/css.scss
117
- - lib/riemann/dash/views/layout.erubis
118
147
  - lib/riemann/dash/views/index.erubis
148
+ - lib/riemann/dash/views/layout.erubis
119
149
  - bin/riemann-dash
120
150
  - LICENSE
121
151
  - README.markdown
@@ -139,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
169
  version: '0'
140
170
  requirements: []
141
171
  rubyforge_project: riemann-dash
142
- rubygems_version: 1.8.10
172
+ rubygems_version: 1.8.25
143
173
  signing_key:
144
174
  specification_version: 3
145
175
  summary: HTTP dashboard for the distributed event system Riemann.