silw 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|