remote_syslog 1.5.1 → 1.6.0
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.md +11 -0
- data/examples/log_files.yml.example.advanced +9 -1
- data/lib/remote_syslog.rb +1 -1
- data/lib/remote_syslog/cli.rb +7 -1
- data/lib/remote_syslog/reader.rb +3 -0
- data/remote_syslog.gemspec +1 -1
- metadata +73 -91
data/README.md
CHANGED
@@ -204,6 +204,17 @@ then the log message, use parse_fields with this regex:
|
|
204
204
|
Per-file regexes are not supported. Run multiple instances with different
|
205
205
|
config files.
|
206
206
|
|
207
|
+
### Excluding lines matching a pattern
|
208
|
+
|
209
|
+
There may be certain log messages that you do not want to be sent. These may
|
210
|
+
repetitive log lines that are "noise" that you might not be able to filter out
|
211
|
+
easily from the respective application. To filter these lines, use the
|
212
|
+
exclude_patterns with an array or regexes:
|
213
|
+
|
214
|
+
exclude_patterns:
|
215
|
+
- exclude this
|
216
|
+
- \d+ things
|
217
|
+
|
207
218
|
|
208
219
|
## Reporting bugs
|
209
220
|
|
@@ -1,7 +1,15 @@
|
|
1
1
|
# see README - demonstrates all optional arguments and file glob formats
|
2
|
-
files:
|
2
|
+
files:
|
3
|
+
- /var/log/httpd/access_log
|
4
|
+
- /var/log/httpd/error_log
|
5
|
+
- /opt/misc/*.log
|
6
|
+
- /var/log/mysqld.log
|
7
|
+
- /var/run/mysqld/mysqld-slow.log
|
3
8
|
hostname: www42 # override OS hostname
|
4
9
|
parse_fields: syslog # predefined regex name or double-quoted regex
|
10
|
+
exclude_patterns:
|
11
|
+
- exclude this
|
12
|
+
- \d+ things
|
5
13
|
destination:
|
6
14
|
host: logs.papertrailapp.com
|
7
15
|
port: 12345 # optional, defaults to 514
|
data/lib/remote_syslog.rb
CHANGED
data/lib/remote_syslog/cli.rb
CHANGED
@@ -24,6 +24,7 @@ module RemoteSyslog
|
|
24
24
|
|
25
25
|
@configfile = '/etc/log_files.yml'
|
26
26
|
@strip_color = false
|
27
|
+
@exclude_pattern = nil
|
27
28
|
|
28
29
|
@daemonize_options = {
|
29
30
|
:ARGV => %w(start),
|
@@ -140,6 +141,10 @@ module RemoteSyslog
|
|
140
141
|
if config['parse_fields']
|
141
142
|
@parse_fields = FIELD_REGEXES[config['parse_fields']] || Regexp.new(config['parse_fields'])
|
142
143
|
end
|
144
|
+
|
145
|
+
if config['exclude_patterns']
|
146
|
+
@exclude_pattern = Regexp.new(config['exclude_patterns'].map { |r| "(#{r})" }.join('|'))
|
147
|
+
end
|
143
148
|
end
|
144
149
|
end
|
145
150
|
|
@@ -176,7 +181,8 @@ module RemoteSyslog
|
|
176
181
|
@dest_host, @dest_port,
|
177
182
|
:socket => connection, :facility => @facility,
|
178
183
|
:severity => @severity, :strip_color => @strip_color,
|
179
|
-
:hostname => @hostname, :parse_fields => @parse_fields
|
184
|
+
:hostname => @hostname, :parse_fields => @parse_fields,
|
185
|
+
:exclude_pattern => @exclude_pattern)
|
180
186
|
rescue Errno::ENOENT => e
|
181
187
|
puts "#{path} not found, continuing. (#{e.message})"
|
182
188
|
end
|
data/lib/remote_syslog/reader.rb
CHANGED
@@ -13,6 +13,7 @@ module RemoteSyslog
|
|
13
13
|
|
14
14
|
@parse_fields = options[:parse_fields]
|
15
15
|
@strip_color = options[:strip_color]
|
16
|
+
@exclude_pattern = options[:exclude_pattern]
|
16
17
|
|
17
18
|
@socket = options[:socket] || UdpEndpoint.new(destination_address, destination_port)
|
18
19
|
|
@@ -45,6 +46,8 @@ module RemoteSyslog
|
|
45
46
|
end
|
46
47
|
|
47
48
|
def transmit(message)
|
49
|
+
return if @exclude_pattern && message =~ @exclude_pattern
|
50
|
+
|
48
51
|
message = message.gsub(COLORED_REGEXP, '') if @strip_color
|
49
52
|
|
50
53
|
packet = @packet.dup
|
data/remote_syslog.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
## If your rubyforge_project name is different, then edit it and comment out
|
9
9
|
## the sub! line in the Rakefile
|
10
10
|
s.name = 'remote_syslog'
|
11
|
-
s.version = '1.
|
11
|
+
s.version = '1.6.0'
|
12
12
|
s.date = '2012-01-23'
|
13
13
|
s.rubyforge_project = 'remote_syslog'
|
14
14
|
|
metadata
CHANGED
@@ -1,99 +1,86 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: remote_syslog
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 5
|
8
|
-
- 1
|
9
|
-
version: 1.5.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.6.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Troy Davis
|
13
9
|
- Eric Lindvall
|
14
10
|
autorequire:
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-01-23 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
22
16
|
name: daemons
|
23
|
-
|
24
|
-
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 0
|
30
|
-
version: "0"
|
17
|
+
requirement: &70314298406760 !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
31
23
|
type: :runtime
|
32
|
-
version_requirements: *id001
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: eventmachine
|
35
24
|
prerelease: false
|
36
|
-
|
37
|
-
|
25
|
+
version_requirements: *70314298406760
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: eventmachine
|
28
|
+
requirement: &70314298406200 !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
38
31
|
- - ~>
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
segments:
|
41
|
-
- 0
|
42
|
-
- 12
|
43
|
-
- 10
|
32
|
+
- !ruby/object:Gem::Version
|
44
33
|
version: 0.12.10
|
45
34
|
type: :runtime
|
46
|
-
version_requirements: *id002
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: eventmachine-tail
|
49
35
|
prerelease: false
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
36
|
+
version_requirements: *70314298406200
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: eventmachine-tail
|
39
|
+
requirement: &70314298422140 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
57
45
|
type: :runtime
|
58
|
-
version_requirements: *id003
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: syslog_protocol
|
61
46
|
prerelease: false
|
62
|
-
|
63
|
-
|
47
|
+
version_requirements: *70314298422140
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: syslog_protocol
|
50
|
+
requirement: &70314298421580 !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
64
53
|
- - ~>
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
segments:
|
67
|
-
- 0
|
68
|
-
- 9
|
69
|
-
- 1
|
54
|
+
- !ruby/object:Gem::Version
|
70
55
|
version: 0.9.1
|
71
56
|
type: :runtime
|
72
|
-
version_requirements: *id004
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: em-resolv-replace
|
75
57
|
prerelease: false
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
58
|
+
version_requirements: *70314298421580
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: em-resolv-replace
|
61
|
+
requirement: &70314298421160 !ruby/object:Gem::Requirement
|
62
|
+
none: false
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
83
67
|
type: :runtime
|
84
|
-
|
85
|
-
|
86
|
-
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: *70314298421160
|
70
|
+
description: Lightweight daemon to tail one or more log files and transmit UDP syslog
|
71
|
+
messages to a remote syslog host (centralized log aggregation). Generates UDP packets
|
72
|
+
itself instead of depending on a system syslog daemon, so it doesn't affect system-wide
|
73
|
+
logging configuration.
|
74
|
+
email:
|
87
75
|
- troy@sevenscale.com
|
88
76
|
- eric@sevenscale.com
|
89
|
-
executables:
|
77
|
+
executables:
|
90
78
|
- remote_syslog
|
91
79
|
extensions: []
|
92
|
-
|
93
|
-
extra_rdoc_files:
|
80
|
+
extra_rdoc_files:
|
94
81
|
- README.md
|
95
82
|
- LICENSE
|
96
|
-
files:
|
83
|
+
files:
|
97
84
|
- Gemfile
|
98
85
|
- LICENSE
|
99
86
|
- README.md
|
@@ -110,35 +97,30 @@ files:
|
|
110
97
|
- lib/remote_syslog/tls_endpoint.rb
|
111
98
|
- lib/remote_syslog/udp_endpoint.rb
|
112
99
|
- remote_syslog.gemspec
|
113
|
-
has_rdoc: true
|
114
100
|
homepage: http://github.com/papertrail/remote_syslog
|
115
101
|
licenses: []
|
116
|
-
|
117
102
|
post_install_message:
|
118
|
-
rdoc_options:
|
103
|
+
rdoc_options:
|
119
104
|
- --charset=UTF-8
|
120
|
-
require_paths:
|
105
|
+
require_paths:
|
121
106
|
- lib
|
122
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
requirements:
|
131
|
-
- -
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
|
134
|
-
- 0
|
135
|
-
version: "0"
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
136
119
|
requirements: []
|
137
|
-
|
138
120
|
rubyforge_project: remote_syslog
|
139
|
-
rubygems_version: 1.
|
121
|
+
rubygems_version: 1.8.7
|
140
122
|
signing_key:
|
141
123
|
specification_version: 2
|
142
|
-
summary: Monitor plain text log file(s) for new entries and send to remote syslog
|
124
|
+
summary: Monitor plain text log file(s) for new entries and send to remote syslog
|
125
|
+
collector
|
143
126
|
test_files: []
|
144
|
-
|