pencil 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/pencil ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ $: << File.dirname($0) + "/../lib"
3
+
4
+ require "dash"
5
+
6
+ Rack::Handler::WEBrick.run(Dash::App, :Port => Dash::App.port)
@@ -0,0 +1,36 @@
1
+ ---
2
+ :dashboards:
3
+ syncstorage:
4
+ title: syncstorage_overview
5
+ graphs:
6
+ - syncstorage_qps:
7
+ # hosts: ["sync*_web"]
8
+ - syncstorage_401:
9
+ - syncstorage_exceptions:
10
+ - cpu_usage:
11
+ - network_traffic:
12
+ hosts: ["sync*_web", "wp-web*"]
13
+ ldap_slaves:
14
+ title: LDAP slaves
15
+ graphs:
16
+ - ldap_ops:
17
+ - load_average:
18
+ - cpu_usage:
19
+ - network_traffic:
20
+ hosts: ["slave*_ldap", "wp-slave*"]
21
+ ldap_masters:
22
+ title: LDAP masters
23
+ graphs:
24
+ - ldap_ops:
25
+ - load_average:
26
+ - cpu_usage:
27
+ - network_traffic:
28
+ hosts: ["master*_ldap", "wp-master*"]
29
+ sync_mysql:
30
+ title: sync mysql
31
+ graphs:
32
+ - mysql_ops:
33
+ - load_average:
34
+ - cpu_usage:
35
+ - network_traffic:
36
+ hosts: ["sync*_db", "wp-db*"]
@@ -0,0 +1,147 @@
1
+ ---
2
+ :graphs:
3
+ syncstorage_qps:
4
+ title: "syncstorage qps"
5
+ targets:
6
+ syncstorage.request_rate.200:
7
+ :key: 200
8
+ :color: green
9
+ syncstorage.request_rate.302:
10
+ :key: 302
11
+ :color: blue
12
+ syncstorage.request_rate.401:
13
+ :key: 401
14
+ :color: brown
15
+ syncstorage.request_rate.404:
16
+ :key: 404
17
+ :color: purple
18
+ syncstorage.request_rate.500:
19
+ :key: 500
20
+ :color: yellow
21
+ syncstorage.request_rate.502:
22
+ :key: 502
23
+ :color: "#cc0000"
24
+ syncstorage.request_rate.503:
25
+ :key: 503
26
+ :color: red
27
+ areaMode: stacked
28
+ hosts: ["sync*_web", "test*_web", "wp-web*"]
29
+
30
+ syncstorage_401:
31
+ title: "syncstorage 401s"
32
+ targets:
33
+ syncstorage.request_rate.401:
34
+ :key: 200
35
+ :color: brown
36
+ hosts: ["sync*_web", "test*_web", "wp-web*"]
37
+
38
+ syncstorage_exceptions:
39
+ title: "syncstorage exceptions"
40
+ targets:
41
+ syncstorage.log.exception:
42
+ :key: exceptions/s
43
+ :color: red
44
+ hosts: ["sync*_web", "test*_web", "wp-web*"]
45
+
46
+ cpu_usage:
47
+ title: "cpu usage"
48
+ targets:
49
+ system.cpu.system:
50
+ :key: CPU/system
51
+ :color: yellow
52
+ system.cpu.wio:
53
+ :key: CPU/wio
54
+ :color: red
55
+ system.cpu.nice:
56
+ :key: CPU/nice
57
+ :color: green
58
+ system.cpu.user:
59
+ :key: CPU/user
60
+ :color: blue
61
+ areaMode: stacked
62
+ hosts: ["*"]
63
+
64
+ load_average:
65
+ title: "1 minute load average"
66
+ targets:
67
+ system.load.1:
68
+ :key: load
69
+ hosts: ["*"]
70
+
71
+ network_traffic:
72
+ title: "network traffic"
73
+ targets:
74
+ system.network.in:
75
+ :key: bits in
76
+ :color: green
77
+ system.network.out:
78
+ :key: bits out
79
+ :color: blue
80
+
81
+ hosts: ["*"]
82
+ scale: 8 # bytes -> bits
83
+
84
+ ldap_ops:
85
+ title: "ldap operations"
86
+ targets:
87
+ slapd.ops.add:
88
+ :key: add
89
+ :color: red
90
+ slapd.ops.bind:
91
+ :key: bind
92
+ :color: brown
93
+ slapd.ops.modify:
94
+ :key: modify
95
+ :color: purple
96
+ slapd.ops.search:
97
+ :key: search
98
+ :color: green
99
+
100
+ areaMode: stacked
101
+ hosts: ["slave*ldap", "master*ldap", "wp-master*"]
102
+
103
+ mysql_ops:
104
+ title: "mysql operations"
105
+ targets:
106
+ mysql.ops.delete:
107
+ :key: delete
108
+ :color: red
109
+ mysql.ops.insert:
110
+ :key: insert
111
+ :color: brown
112
+ mysql.ops.update:
113
+ :key: update
114
+ :color: purple
115
+ mysql.ops.select:
116
+ :key: select
117
+ :color: green
118
+
119
+ areaMode: stacked
120
+ hosts: ["sync*_db", "wp-db*"]
121
+
122
+ memory_usage:
123
+ title: "system memory usage"
124
+ targets:
125
+ ? - system.memory.total:
126
+ - system.memory.free:
127
+ - system.memory.cached:
128
+ - system.memory.shared:
129
+ - system.memory.buffers:
130
+ :
131
+ :key: used
132
+ :color: green
133
+ :diffSeries:
134
+ system.memory.total:
135
+ :key: total
136
+ :color: white
137
+ system.memory.cached:
138
+ :key: cached
139
+ :color: purple
140
+
141
+ scale: 1024 # M -> G
142
+ hosts: ["*"]
143
+ # some random options for demonstration
144
+ template: alphas
145
+ bgcolor: "#AFFFFF"
146
+ vtitle: tvtnolgrf
147
+ lineWidth: 20
@@ -0,0 +1,21 @@
1
+ ---
2
+ :config:
3
+ :graphite_url: http://graphite-global.phx.weave.mozilla.com
4
+ :default_colors:
5
+ ["blue", "green", "yellow", "red", "purple", "brown", "aqua", "gold"]
6
+ :url_opts:
7
+ :width: 1000
8
+ :height: 400
9
+ :fontSize: 15
10
+ :start: "8 hours ago" # chronic timespec
11
+ :template: "noc"
12
+ :yMin: 0
13
+ :margin: 5
14
+ :thickness: 2
15
+
16
+ :refresh_rate: 60
17
+ :host_sort: "sensible"
18
+ :quantum: 30 # map requests to 30 second intervals
19
+ :date_format: "%X %x" # strftime
20
+ :metric_format: "%m.%c.%h" #%m metric, %c cluster, %h host
21
+ :now_threshold: 300 # Time.at(Time.now - now_threshold) considered Time.now
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pencil
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
+ platform: ruby
12
+ authors:
13
+ - Pete Fritchman
14
+ - Wesley Dawson
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-07-12 00:00:00 -07:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: rack
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: sinatra
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: json
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ type: :runtime
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ name: chronic
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ type: :runtime
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: chronic_duration
80
+ prerelease: false
81
+ requirement: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
89
+ version: "0"
90
+ type: :runtime
91
+ version_requirements: *id005
92
+ description: Graphite dashboard frontend
93
+ email:
94
+ - petef@databits.net
95
+ - wdawson@mozilla.com
96
+ executables:
97
+ - pencil
98
+ extensions: []
99
+
100
+ extra_rdoc_files: []
101
+
102
+ files:
103
+ - examples/graphs.yml
104
+ - examples/pencil.yml
105
+ - examples/dashboards.yml
106
+ - bin/pencil
107
+ has_rdoc: true
108
+ homepage: https://github.com/fetep/pencil
109
+ licenses:
110
+ - Mozilla Public License (1.1)
111
+ post_install_message:
112
+ rdoc_options: []
113
+
114
+ require_paths:
115
+ - lib
116
+ - lib
117
+ required_ruby_version: !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ hash: 3
123
+ segments:
124
+ - 0
125
+ version: "0"
126
+ required_rubygems_version: !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ hash: 3
132
+ segments:
133
+ - 0
134
+ version: "0"
135
+ requirements: []
136
+
137
+ rubyforge_project:
138
+ rubygems_version: 1.3.7
139
+ signing_key:
140
+ specification_version: 3
141
+ summary: pencil -- Graphite dashboard system
142
+ test_files: []
143
+