riemann-dash 0.2.0 → 0.2.1

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/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.