silw 0.0.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.
- checksums.yaml +7 -0
- data/.gitignore +44 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +119 -0
- data/Rakefile +8 -0
- data/SILW_server_page_example.png +0 -0
- data/bin/silw +21 -0
- data/lib/silw.rb +35 -0
- data/lib/silw/agent.rb +17 -0
- data/lib/silw/cli.rb +165 -0
- data/lib/silw/command.rb +25 -0
- data/lib/silw/helpers.rb +54 -0
- data/lib/silw/plugin.rb +19 -0
- data/lib/silw/plugins/cpu.rb +55 -0
- data/lib/silw/plugins/diskio.rb +70 -0
- data/lib/silw/plugins/mem.rb +43 -0
- data/lib/silw/server.rb +46 -0
- data/lib/silw/version.rb +3 -0
- data/lib/silw/views/index.haml +30 -0
- data/lib/silw/views/layout.haml +50 -0
- data/lib/silw/views/partials/_cpu.haml +9 -0
- data/lib/silw/views/partials/_diskio.haml +12 -0
- data/lib/silw/views/partials/_mem.haml +12 -0
- data/silw.gemspec +46 -0
- data/spec/fixtures/cpu_t0.txt +11 -0
- data/spec/fixtures/cpu_t1.txt +11 -0
- data/spec/fixtures/diskstats.txt +48 -0
- data/spec/fixtures/mem.txt +25 -0
- data/spec/fixtures/silw.yaml +17 -0
- data/spec/fixtures/silw_with_logstash.yaml +22 -0
- data/spec/fixtures/top.txt +0 -0
- data/spec/silw_spec.rb +59 -0
- data/spec/spec_helper.rb +15 -0
- metadata +368 -0
data/silw.gemspec
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'silw/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "silw"
|
8
|
+
spec.version = Silw::VERSION
|
9
|
+
spec.authors = ["Florin T.PATRASCU"]
|
10
|
+
spec.email = ["florin.patrascu@gmail.com"]
|
11
|
+
spec.summary = %q{SImple Linux stats Watcher.}
|
12
|
+
spec.description = %q{Read various system stats from local or remote systems and publish them in a simple and configurable dashboard}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
# Gem dependencies for development
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.5"
|
23
|
+
spec.add_development_dependency "rake"
|
24
|
+
spec.add_development_dependency "rspec"
|
25
|
+
spec.add_dependency 'rack', '~> 1.4.1'
|
26
|
+
spec.add_dependency 'rack-contrib', '~> 1.1.0'
|
27
|
+
spec.add_dependency 'rack-cache', '~> 1.1.0'
|
28
|
+
spec.add_dependency 'sinatra', '~> 1.3.2'
|
29
|
+
spec.add_dependency 'sinatra-contrib', '~> 1.3.1'
|
30
|
+
spec.add_dependency 'net-sftp'
|
31
|
+
spec.add_dependency 'thor'
|
32
|
+
spec.add_dependency 'eventmachine'
|
33
|
+
spec.add_dependency 'thin'
|
34
|
+
spec.add_dependency 'logger'
|
35
|
+
spec.add_dependency 'chronic_duration'
|
36
|
+
spec.add_dependency 'logstash-logger'
|
37
|
+
# authentication
|
38
|
+
spec.add_dependency 'omniauth', '~> 1.0.2'
|
39
|
+
spec.add_dependency 'omniauth-browserid', '~> 0.0.1'
|
40
|
+
|
41
|
+
# frontend/views/assets related
|
42
|
+
spec.add_dependency 'haml', '~> 3.1.4'
|
43
|
+
spec.add_dependency 'i18n', '~> 0.6.0'
|
44
|
+
spec.add_dependency 'tilt', '~> 1.4'
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
cpu 13945003 61317 658934 368043537 664559 12090 72856 0
|
2
|
+
cpu0 7854284 12565 214654 87186008 621102 11875 55552 0
|
3
|
+
cpu1 1256047 13118 148792 94329413 19359 201 6232 0
|
4
|
+
cpu2 3029041 20191 156838 92727717 16649 13 5545 0
|
5
|
+
cpu3 1805630 15441 138650 93800398 7447 0 5525 0
|
6
|
+
intr 315254289 241775585 3 0 2 2 0 0 0 1 0 0 0 3 0 11269305 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5063705 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 54 0 0 0 0 0 0 0 55624426 0 0 0 0 0 0 0 1521179 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
7
|
+
ctxt 888173119
|
8
|
+
btime 1388076954
|
9
|
+
processes 1394957
|
10
|
+
procs_running 1
|
11
|
+
procs_blocked 0
|
@@ -0,0 +1,11 @@
|
|
1
|
+
cpu 13945239 61318 658956 368048982 664575 12090 72857 0
|
2
|
+
cpu0 7854492 12566 214659 87187210 621118 11875 55553 0
|
3
|
+
cpu1 1256047 13118 148806 94330826 19359 201 6232 0
|
4
|
+
cpu2 3029066 20191 156839 92729122 16649 13 5546 0
|
5
|
+
cpu3 1805633 15441 138650 93801823 7447 0 5525 0
|
6
|
+
intr 315259262 241779191 3 0 2 2 0 0 0 1 0 0 0 3 0 11269449 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5063841 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 54 0 0 0 0 0 0 0 55625492 0 0 0 0 0 0 0 1521200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
7
|
+
ctxt 888184684
|
8
|
+
btime 1388076954
|
9
|
+
processes 1394985
|
10
|
+
procs_running 1
|
11
|
+
procs_blocked 0
|
@@ -0,0 +1,48 @@
|
|
1
|
+
1 0 ram0 0 0 0 0 0 0 0 0 0 0 0
|
2
|
+
1 1 ram1 0 0 0 0 0 0 0 0 0 0 0
|
3
|
+
1 2 ram2 0 0 0 0 0 0 0 0 0 0 0
|
4
|
+
1 3 ram3 0 0 0 0 0 0 0 0 0 0 0
|
5
|
+
1 4 ram4 0 0 0 0 0 0 0 0 0 0 0
|
6
|
+
1 5 ram5 0 0 0 0 0 0 0 0 0 0 0
|
7
|
+
1 6 ram6 0 0 0 0 0 0 0 0 0 0 0
|
8
|
+
1 7 ram7 0 0 0 0 0 0 0 0 0 0 0
|
9
|
+
1 8 ram8 0 0 0 0 0 0 0 0 0 0 0
|
10
|
+
1 9 ram9 0 0 0 0 0 0 0 0 0 0 0
|
11
|
+
1 10 ram10 0 0 0 0 0 0 0 0 0 0 0
|
12
|
+
1 11 ram11 0 0 0 0 0 0 0 0 0 0 0
|
13
|
+
1 12 ram12 0 0 0 0 0 0 0 0 0 0 0
|
14
|
+
1 13 ram13 0 0 0 0 0 0 0 0 0 0 0
|
15
|
+
1 14 ram14 0 0 0 0 0 0 0 0 0 0 0
|
16
|
+
1 15 ram15 0 0 0 0 0 0 0 0 0 0 0
|
17
|
+
8 0 sda 271347 1045239 13817570 1937956 18388794 27273696 391780672 466620624 0 60759920 468565392
|
18
|
+
8 1 sda1 466 2641 19 152
|
19
|
+
8 2 sda2 18799 549360 13103952 104831616
|
20
|
+
8 3 sda3 1296366 13260933 32563978 260511824
|
21
|
+
8 4 sda4 763 2836 0 0
|
22
|
+
8 16 sdb 884161 37633 268222860 3302716 9510213 105498084 930020064 200633000 0 4413356 203935492
|
23
|
+
8 17 sdb1 921575 268220924 115008801 920089232
|
24
|
+
3 0 hda 0 0 0 0 0 0 0 0 0 0 0
|
25
|
+
9 0 md0 0 0 0 0 0 0 0 0 0 0 0
|
26
|
+
253 0 dm-0 920878 0 268219256 3596268 115017577 0 920140616 1245465548 0 4421396 1250381092
|
27
|
+
253 1 dm-1 87 0 696 160 0 0 0 0 0 92 160
|
28
|
+
253 2 dm-2 428 0 4056 1812 501694 0 4013552 12600476 0 1410596 12602288
|
29
|
+
253 3 dm-3 1186545 0 9492360 3497212 1374058 0 10992464 154247876 0 429000 157745128
|
30
|
+
253 4 dm-4 221 0 1768 1108 1511473 0 12091784 36791520 0 3776580 36792648
|
31
|
+
253 5 dm-5 14449 0 794728 268004 3321475 0 26571800 86530488 0 8117356 86798568
|
32
|
+
253 6 dm-6 33125 0 1266744 511580 17081748 0 136653984 323335704 0 18285484 323847484
|
33
|
+
253 7 dm-7 30470 0 1262248 182204 130810 0 1046480 13080072 0 107572 13262288
|
34
|
+
253 8 dm-8 21968 0 323736 328704 3011052 0 24088416 34646976 0 9232592 34975736
|
35
|
+
253 9 dm-9 8036 0 108800 14176 5631513 0 45052104 65882236 0 16398916 65896440
|
36
|
+
253 10 dm-10 154 0 3552 396 133 0 1064 2824 0 2520 3220
|
37
|
+
253 11 dm-11 93 0 744 152 29 0 232 800 0 720 952
|
38
|
+
7 0 loop0 0 0 0 0 0 0 0 0 0 0 0
|
39
|
+
7 1 loop1 0 0 0 0 0 0 0 0 0 0 0
|
40
|
+
7 2 loop2 0 0 0 0 0 0 0 0 0 0 0
|
41
|
+
7 3 loop3 0 0 0 0 0 0 0 0 0 0 0
|
42
|
+
7 4 loop4 0 0 0 0 0 0 0 0 0 0 0
|
43
|
+
7 5 loop5 0 0 0 0 0 0 0 0 0 0 0
|
44
|
+
7 6 loop6 0 0 0 0 0 0 0 0 0 0 0
|
45
|
+
7 7 loop7 0 0 0 0 0 0 0 0 0 0 0
|
46
|
+
9 1 md1 0 0 0 0 0 0 0 0 0 0 0
|
47
|
+
9 2 md2 0 0 0 0 0 0 0 0 0 0 0
|
48
|
+
9 3 md3 0 0 0 0 0 0 0 0 0 0 0
|
@@ -0,0 +1,25 @@
|
|
1
|
+
MemTotal: 2075624 kB
|
2
|
+
MemFree: 1143672 kB
|
3
|
+
Buffers: 305016 kB
|
4
|
+
Cached: 246516 kB
|
5
|
+
SwapCached: 0 kB
|
6
|
+
Active: 532956 kB
|
7
|
+
Inactive: 191632 kB
|
8
|
+
HighTotal: 1179092 kB
|
9
|
+
HighFree: 754944 kB
|
10
|
+
LowTotal: 896532 kB
|
11
|
+
LowFree: 388728 kB
|
12
|
+
SwapTotal: 1028152 kB
|
13
|
+
SwapFree: 1028152 kB
|
14
|
+
Dirty: 668 kB
|
15
|
+
Writeback: 0 kB
|
16
|
+
Mapped: 289128 kB
|
17
|
+
Slab: 197236 kB
|
18
|
+
Committed_AS: 224632 kB
|
19
|
+
PageTables: 924 kB
|
20
|
+
VmallocTotal: 114680 kB
|
21
|
+
VmallocUsed: 7612 kB
|
22
|
+
VmallocChunk: 106920 kB
|
23
|
+
HugePages_Total: 0
|
24
|
+
HugePages_Free: 0
|
25
|
+
Hugepagesize: 4096 kB
|
@@ -0,0 +1,17 @@
|
|
1
|
+
:monitoring:
|
2
|
+
triba:
|
3
|
+
:freq: 1min
|
4
|
+
:plugins: mem, diskio, cpu
|
5
|
+
derizorius:
|
6
|
+
:freq: 30s
|
7
|
+
:plugins: cpu, diskio
|
8
|
+
|
9
|
+
:authentication:
|
10
|
+
:username: xxxxxxx
|
11
|
+
:password: ~/.ssh/id_dsa
|
12
|
+
|
13
|
+
:server:
|
14
|
+
:port: 8080
|
15
|
+
:basic_auth: # If creds is defined, the web server will ask for the username and password
|
16
|
+
:username: username
|
17
|
+
:password: password
|
@@ -0,0 +1,22 @@
|
|
1
|
+
:monitoring:
|
2
|
+
triba:
|
3
|
+
:freq: 1min
|
4
|
+
:plugins: mem, diskio, cpu
|
5
|
+
derizorius:
|
6
|
+
:freq: 30s
|
7
|
+
:plugins: cpu, diskio
|
8
|
+
|
9
|
+
:authentication:
|
10
|
+
:username: xxxxxx
|
11
|
+
:password: ~/.ssh/id_dsa
|
12
|
+
|
13
|
+
:server:
|
14
|
+
:port: 8080
|
15
|
+
:basic_auth: # If creds is defined, the web server will ask for the username and password
|
16
|
+
:username: username
|
17
|
+
:password: password
|
18
|
+
|
19
|
+
# Echo the stats directly to logstash, using udp and port 5228
|
20
|
+
:logstash:
|
21
|
+
:host: localhost
|
22
|
+
:port: 5228, udp
|
File without changes
|
data/spec/silw_spec.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Silw
|
4
|
+
describe 'Logger configuration' do
|
5
|
+
let (:config_with_logstash) { ::YAML.load_file(fixture('silw_with_logstash.yaml')) }
|
6
|
+
let (:config_without_logstash) { ::YAML.load_file(fixture('silw.yaml')) }
|
7
|
+
|
8
|
+
describe 'with logstah' do
|
9
|
+
it 'should have logstash server port and name/address defined' do
|
10
|
+
expect(config_with_logstash).to include(:logstash)
|
11
|
+
logstash_server_config = config_with_logstash[:logstash]
|
12
|
+
expect(logstash_server_config).to include(:host)
|
13
|
+
expect(logstash_server_config[:port].split(/\W+/).size).to be 2
|
14
|
+
expect(logstash_server_config[:port].split(/\W+/)[1]).to include('udp')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe 'Plugins support' do
|
20
|
+
let (:config) { ::YAML.load_file(fixture('silw.yaml')) }
|
21
|
+
|
22
|
+
describe Plugins::Mem
|
23
|
+
it "should return memory statistics for a given host" do
|
24
|
+
|
25
|
+
Authenticate.with(config) do |user|
|
26
|
+
user.should be_instance_of(Command)
|
27
|
+
mem = user.run :mem, :at => 'router', :fixture => fixture("mem.txt")
|
28
|
+
expect(mem.keys).to include(:host)
|
29
|
+
expect(mem[:mem].keys).to include(:free)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe Plugins::Cpu do
|
34
|
+
it "should return memory statistics for a given host" do
|
35
|
+
|
36
|
+
Authenticate.with(config) do |user|
|
37
|
+
user.should be_instance_of(Command)
|
38
|
+
cpustats = user.run :cpu, :at => 'router',
|
39
|
+
:fixture_cpu_at_t0 => fixture("cpu_t0.txt"),
|
40
|
+
:fixture_cpu_at_t1 => fixture("cpu_t1.txt")
|
41
|
+
expect(cpustats[:cpu][:usage]).not_to be_nil
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe Plugins::Diskio do
|
47
|
+
it 'should return the disk I/O stats for a given host' do
|
48
|
+
Authenticate.with(config) do |user|
|
49
|
+
user.should be_instance_of(Command)
|
50
|
+
diskstats = user.run :diskio, :at => 'router', :fixture => fixture("diskstats.txt")
|
51
|
+
|
52
|
+
expect(diskstats.keys).to include(:host)
|
53
|
+
expect(diskstats[:diskio].count).to eq(2)
|
54
|
+
expect(diskstats[:diskio][0]).to be_a ::Numeric
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
SPEC_DIR = File.dirname(__FILE__)
|
2
|
+
lib_path = File.expand_path("#{SPEC_DIR}/../lib")
|
3
|
+
$LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
|
4
|
+
|
5
|
+
require "bundler/setup"
|
6
|
+
require 'rack/test'
|
7
|
+
require "silw"
|
8
|
+
require "yaml"
|
9
|
+
|
10
|
+
SILW_ENV = ENV['SILW_ENV'] || 'test'
|
11
|
+
Dir["./lib/**/*.rb"].each{|f| require f}
|
12
|
+
|
13
|
+
def fixture(name)
|
14
|
+
File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', name))
|
15
|
+
end
|
metadata
ADDED
@@ -0,0 +1,368 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: silw
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Florin T.PATRASCU
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-04-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.5'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.4.1
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.4.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack-contrib
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.1.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.1.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rack-cache
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.1.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.1.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sinatra
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.3.2
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.3.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: sinatra-contrib
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.3.1
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.3.1
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: net-sftp
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: thor
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '>='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: eventmachine
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: thin
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: logger
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - '>='
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: chronic_duration
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - '>='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: logstash-logger
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - '>='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: omniauth
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ~>
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: 1.0.2
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ~>
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: 1.0.2
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: omniauth-browserid
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ~>
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: 0.0.1
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ~>
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 0.0.1
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: haml
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ~>
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 3.1.4
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ~>
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 3.1.4
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: i18n
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ~>
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: 0.6.0
|
272
|
+
type: :runtime
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ~>
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: 0.6.0
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: tilt
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ~>
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '1.4'
|
286
|
+
type: :runtime
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ~>
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '1.4'
|
293
|
+
description: Read various system stats from local or remote systems and publish them
|
294
|
+
in a simple and configurable dashboard
|
295
|
+
email:
|
296
|
+
- florin.patrascu@gmail.com
|
297
|
+
executables:
|
298
|
+
- silw
|
299
|
+
extensions: []
|
300
|
+
extra_rdoc_files: []
|
301
|
+
files:
|
302
|
+
- .gitignore
|
303
|
+
- Gemfile
|
304
|
+
- LICENSE.txt
|
305
|
+
- README.md
|
306
|
+
- Rakefile
|
307
|
+
- SILW_server_page_example.png
|
308
|
+
- bin/silw
|
309
|
+
- lib/silw.rb
|
310
|
+
- lib/silw/agent.rb
|
311
|
+
- lib/silw/cli.rb
|
312
|
+
- lib/silw/command.rb
|
313
|
+
- lib/silw/helpers.rb
|
314
|
+
- lib/silw/plugin.rb
|
315
|
+
- lib/silw/plugins/cpu.rb
|
316
|
+
- lib/silw/plugins/diskio.rb
|
317
|
+
- lib/silw/plugins/mem.rb
|
318
|
+
- lib/silw/server.rb
|
319
|
+
- lib/silw/version.rb
|
320
|
+
- lib/silw/views/index.haml
|
321
|
+
- lib/silw/views/layout.haml
|
322
|
+
- lib/silw/views/partials/_cpu.haml
|
323
|
+
- lib/silw/views/partials/_diskio.haml
|
324
|
+
- lib/silw/views/partials/_mem.haml
|
325
|
+
- silw.gemspec
|
326
|
+
- spec/fixtures/cpu_t0.txt
|
327
|
+
- spec/fixtures/cpu_t1.txt
|
328
|
+
- spec/fixtures/diskstats.txt
|
329
|
+
- spec/fixtures/mem.txt
|
330
|
+
- spec/fixtures/silw.yaml
|
331
|
+
- spec/fixtures/silw_with_logstash.yaml
|
332
|
+
- spec/fixtures/top.txt
|
333
|
+
- spec/silw_spec.rb
|
334
|
+
- spec/spec_helper.rb
|
335
|
+
homepage: ''
|
336
|
+
licenses:
|
337
|
+
- MIT
|
338
|
+
metadata: {}
|
339
|
+
post_install_message:
|
340
|
+
rdoc_options: []
|
341
|
+
require_paths:
|
342
|
+
- lib
|
343
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
344
|
+
requirements:
|
345
|
+
- - '>='
|
346
|
+
- !ruby/object:Gem::Version
|
347
|
+
version: '0'
|
348
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
349
|
+
requirements:
|
350
|
+
- - '>='
|
351
|
+
- !ruby/object:Gem::Version
|
352
|
+
version: '0'
|
353
|
+
requirements: []
|
354
|
+
rubyforge_project:
|
355
|
+
rubygems_version: 2.2.2
|
356
|
+
signing_key:
|
357
|
+
specification_version: 4
|
358
|
+
summary: SImple Linux stats Watcher.
|
359
|
+
test_files:
|
360
|
+
- spec/fixtures/cpu_t0.txt
|
361
|
+
- spec/fixtures/cpu_t1.txt
|
362
|
+
- spec/fixtures/diskstats.txt
|
363
|
+
- spec/fixtures/mem.txt
|
364
|
+
- spec/fixtures/silw.yaml
|
365
|
+
- spec/fixtures/silw_with_logstash.yaml
|
366
|
+
- spec/fixtures/top.txt
|
367
|
+
- spec/silw_spec.rb
|
368
|
+
- spec/spec_helper.rb
|