nagios_webbed_log 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
data/lib/nagios_logger.rb CHANGED
@@ -1,4 +1,27 @@
1
+ #coding: UTF-8
1
2
  module NagiosLogger
3
+ =begin
4
+ CPU on remaccess Рабочий сервер
5
+ CPU on ra Тестовый сервер
6
+ HTTP УРМ
7
+ HTTP-work СОД
8
+ HTTP-lesson Тестовый СОД
9
+ Соответствие уровней оповещений в логе выводимым в таблице:
10
+
11
+ CRITICAL Ошибка
12
+ WARNING Предупреждение
13
+ =end
14
+ SERVICE_LUT = {
15
+ "CPU on ra" => "Тестовый сервер",
16
+ "CPU on remaccess" => "Рабочий сервер",
17
+ "HTTP" => "УРМ",
18
+ "HTTP-work" => "СОД",
19
+ "HTTP-lesson" => "Тестовый СОД"
20
+ }
21
+ LEVEL_LUT = {
22
+ "CRITICAL" => "Ошибка",
23
+ "WARNING" => "Предупреждение"
24
+ }
2
25
  def load_file_list(pref)
3
26
  Dir[File.join(pref, "*")].map{|n| File.basename(n) }
4
27
  end
@@ -57,7 +80,9 @@ module NagiosLogger
57
80
  data[:count] = n[4]
58
81
  data[:message] = n[5]
59
82
  end
83
+ return nil unless SERVICE_LUT.has_key?(data[:service])
60
84
  end
85
+ data[:service] = SERVICE_LUT[data[:service]]
61
86
  data
62
87
  end
63
88
 
data/lib/views/index.haml CHANGED
@@ -7,40 +7,43 @@
7
7
  %label{:for => :year} Year
8
8
  %select#year{:name => "year"}
9
9
  %option{:value => '0'} ---
10
- - @years.each do |year|
10
+ - @years.sort.each do |year|
11
11
  %option{:value => year, :selected => (year == @year)}= year
12
12
 
13
13
  %label{:for => :month} Month
14
14
  %select#year{:name => "month"}
15
15
  %option{:value => '0'} ---
16
- - @months.each do |month|
16
+ - @months.sort.each do |month|
17
17
  %option{:value => month, :selected => (month == @month)}= month
18
18
 
19
19
  %label{:for => :day} Day
20
20
  %select#day{:name => "day"}
21
21
  %option{:value => '0'} ---
22
- - @days.each do |day|
22
+ - @days.sort.each do |day|
23
23
  %option{:value => day, :selected => (day == @day)}= day
24
24
  %button{:name => "submit"} find
25
25
 
26
- %table
27
- %tr
28
- %th Date
29
- %th Start-time
30
- %th Stop-time
31
- %th Service
32
- %th Reason
33
- %th Comments
34
- - @events.each do |evt|
35
- -# lvl = evt.map{|it| levs.index(it[:level]) || 3 }.max
36
- -# ll = evt.detect{|it| not levs.include?(it[:level]) }
37
- -# len = evt.last[:stamp] - evt.first[:stamp]
38
- -# puts "#{its.first[:host]}\t#{its.first[:service]}\t#{its.first[:stamp].to_i}\t#{its.first[:stamp].strftime("%Y-%m-%d %H:%M:%S")}\t#{levs[lvl]}\t#{len}\t#{its.first[:message]}"
26
+ - unless @events.empty?
27
+ %a{:href => "/#{@year == '0' ? 0 : @year}/#{@month == '0' ? 0 : @month}/#{@day == '0' ? 0 : @day}.csv"} Save to CSV
28
+ %table
39
29
  %tr
40
- %td= evt.first[:stamp].strftime("%Y-%m-%d")
41
- %td= evt.first[:stamp].strftime("%H:%M:%S")
42
- %td= evt.last[:stamp].strftime("%H:%M:%S")
43
- %td #{evt.first[:host]}-#{evt.first[:service]}
44
- %td #{evt.first[:message]}
45
- %td
30
+ %th Date
31
+ %th Start-time
32
+ %th Lattency
33
+ %th Service
34
+ %th Level
35
+ %th{:style => "display:none;"} Reason
36
+ - levs = %w(OK WARNING CRITICAL UNKNOWN)
37
+ - @events.each do |evt|
38
+ - lvl = evt.map{|it| levs.index(it[:level]) || 3 }.max
39
+ - ll = evt.detect{|it| not levs.include?(it[:level]) }
40
+ -# len = evt.last[:stamp] - evt.first[:stamp]
41
+ -# puts "#{its.first[:host]}\t#{its.first[:service]}\t#{its.first[:stamp].to_i}\t#{its.first[:stamp].strftime("%Y-%m-%d %H:%M:%S")}\t#{levs[lvl]}\t#{len}\t#{its.first[:message]}"
42
+ %tr
43
+ %td= evt.first[:stamp].strftime("%Y-%m-%d")
44
+ %td= evt.first[:stamp].strftime("%H:%M:%S")
45
+ %td= evt.last[:stamp] - evt.first[:stamp]
46
+ %td #{evt.first[:service]}
47
+ %td= NagiosLogger::LEVEL_LUT[lvl] || "---"
48
+ %td{:style => "display:none;"} #{evt.first[:message]}
46
49
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "nagios_webbed_log"
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["afa"]
12
- s.date = "2012-10-08"
12
+ s.date = "2012-10-09"
13
13
  s.description = "simple nagios log publisher"
14
14
  s.email = "afa.alone@gmail.com"
15
15
  s.executables = ["nagios_webbed_log"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nagios_webbed_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-08 00:00:00.000000000 Z
12
+ date: 2012-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
@@ -341,7 +341,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
341
341
  version: '0'
342
342
  segments:
343
343
  - 0
344
- hash: -6858435
344
+ hash: -497093201
345
345
  required_rubygems_version: !ruby/object:Gem::Requirement
346
346
  none: false
347
347
  requirements: