logstash-output-logentries 0.1.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.
- checksums.yaml +7 -0
- data/.bundle/config +2 -0
- data/CONTRIBUTORS +11 -0
- data/DEVELOPER.md +2 -0
- data/Gemfile +4 -0
- data/LICENSE +13 -0
- data/README.md +25 -0
- data/Rakefile +7 -0
- data/lib/logstash/outputs/logentries.rb +65 -0
- data/logstash-output-logentries.gemspec +26 -0
- data/spec/outputs/logentries_spec.rb +2 -0
- metadata +92 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 07680da9b38fd502e665e0eb0b7ebb5b6016241b
|
4
|
+
data.tar.gz: ce5bf682985477a0b8a0275456b810c11de4e586
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2a26e20bfdbe720f6a3029d4e0de2af3b3509515fc76c1436435f5d0041ed0b6e89819af995651a19cd255f3a320090520f1c6eff7a61cdff7ec9262bb3dacca
|
7
|
+
data.tar.gz: 1a11078dbab48677d392445adebb0ce31b80c11d7b5f6e68cfa4f5c09ef144e327afb1d88b93eaed9d0bc34617eab593f3ac6c403bfb0de94e3f872707c5abb3
|
data/.bundle/config
ADDED
data/CONTRIBUTORS
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
The following is a list of people who have contributed ideas, code, bug
|
2
|
+
reports, or in general have helped logstash along its way.
|
3
|
+
|
4
|
+
Contributors:
|
5
|
+
* Aaron Mildenstein (untergeek)
|
6
|
+
* Pier-Hugues Pellerin (ph)
|
7
|
+
|
8
|
+
Note: If you've sent us patches, bug reports, or otherwise contributed to
|
9
|
+
Logstash, and you aren't on the list above and want to be, please let us know
|
10
|
+
and we'll make sure you're here. Contributions from folks like you are what make
|
11
|
+
open source awesome.
|
data/DEVELOPER.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
Copyright (c) 2012-2015 Elasticsearch <http://www.elasticsearch.org>
|
2
|
+
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
you may not use this file except in compliance with the License.
|
5
|
+
You may obtain a copy of the License at
|
6
|
+
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
See the License for the specific language governing permissions and
|
13
|
+
limitations under the License.
|
data/README.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Logentries - Logstash Output Plugin
|
2
|
+
|
3
|
+
This is a plugin for [Logentries](https://www.logentries.com) and Logstash.
|
4
|
+
|
5
|
+
# Send logs using token
|
6
|
+
You can forward logs from Logstash to Legentries using unique token. To do this you have to configure the output sectin of your .conf file in your logstash main folder.
|
7
|
+
|
8
|
+
output {
|
9
|
+
logentries{
|
10
|
+
token => "LOGENTRIES_TOKEN"
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
Please refer to this [blog](link here) for more information and instruction on how to set up your .config file.
|
15
|
+
|
16
|
+
# Legentries Token
|
17
|
+
|
18
|
+
You can find the instructions about Token based input [here](https://logentries.com/doc/input-token/)
|
19
|
+
|
20
|
+
|
21
|
+
## Need Help?
|
22
|
+
|
23
|
+
Try #logstash on freenode IRC or the logstash-users@googlegroups.com mailing
|
24
|
+
|
25
|
+
You can also refer to [Logentries DOCs](https://logentries.com/doc/)
|
data/Rakefile
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
require "logstash/outputs/base"
|
2
|
+
require "logstash/namespace"
|
3
|
+
require "uri"
|
4
|
+
require "net/http"
|
5
|
+
require "net/https"
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
class LogStash::Outputs::Logentries < LogStash::Outputs::Base
|
10
|
+
config_name "logentries"
|
11
|
+
milestone 2
|
12
|
+
|
13
|
+
# www.logentries.com
|
14
|
+
#
|
15
|
+
# You will read this token from your config file. Just put the following lines to your .config file:
|
16
|
+
#
|
17
|
+
# output {
|
18
|
+
# logentries{
|
19
|
+
# token => "LOGENTRIES_TOKEN"
|
20
|
+
# }
|
21
|
+
# }
|
22
|
+
|
23
|
+
config :token, :validate => :string, :required => true
|
24
|
+
|
25
|
+
public
|
26
|
+
def register
|
27
|
+
end
|
28
|
+
|
29
|
+
def receive(event)
|
30
|
+
return unless output?(event)
|
31
|
+
|
32
|
+
if event == LogStash::SHUTDOWN
|
33
|
+
finished
|
34
|
+
return
|
35
|
+
end
|
36
|
+
|
37
|
+
# Send the event using token
|
38
|
+
url = URI.parse("https://js.logentries.com/v1/logs/#{event.sprintf(@token)}")
|
39
|
+
|
40
|
+
# Debug the URL here
|
41
|
+
@logger.info("Sending using #{event.sprintf(@token)} Logentries Token")
|
42
|
+
|
43
|
+
# Open HTTP connection
|
44
|
+
http = Net::HTTP.new(url.host, url.port)
|
45
|
+
|
46
|
+
# Use secure SSL
|
47
|
+
if url.scheme == 'https'
|
48
|
+
http.use_ssl = true
|
49
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
50
|
+
end
|
51
|
+
|
52
|
+
request = Net::HTTP::Post.new(url.path)
|
53
|
+
|
54
|
+
#Prepend the message body with "event" to allow the js.logentries to pick it up
|
55
|
+
request.body = "{\"event\":" + event.to_json + "}"
|
56
|
+
response = http.request(request)
|
57
|
+
|
58
|
+
if response.is_a?(Net::HTTPSuccess)
|
59
|
+
@logger.info("Event Sent!")
|
60
|
+
else
|
61
|
+
@logger.warn("HTTP error", :error => response.error!)
|
62
|
+
end
|
63
|
+
|
64
|
+
end # receive
|
65
|
+
end #LogStash::Outputs::Logentries
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
|
3
|
+
s.name = 'logstash-output-logentries'
|
4
|
+
s.version = '0.1.0'
|
5
|
+
s.licenses = ['Apache License (2.0)']
|
6
|
+
s.summary = "You can forward logs from Logstash to Legentries using unique token."
|
7
|
+
s.description = "This gem is a logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not a stand-alone program"
|
8
|
+
s.authors = ["Logentries - Bart Siniarski"]
|
9
|
+
s.email = 'info@elasticsearch.com'
|
10
|
+
s.homepage = "http://www.elasticsearch.org/guide/en/logstash/current/index.html"
|
11
|
+
s.require_paths = ["lib"]
|
12
|
+
|
13
|
+
# Files
|
14
|
+
s.files = `git ls-files`.split($\)+::Dir.glob('vendor/*')
|
15
|
+
|
16
|
+
# Tests
|
17
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
18
|
+
|
19
|
+
# Special flag to let us know this is actually a logstash plugin
|
20
|
+
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "output" }
|
21
|
+
|
22
|
+
# Gem dependencies
|
23
|
+
s.add_runtime_dependency 'logstash', '>= 1.4.0', '< 2.0.0'
|
24
|
+
|
25
|
+
s.add_development_dependency 'logstash-devutils'
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: logstash-output-logentries
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Logentries - Bart Siniarski
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-02-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: logstash
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.4.0
|
20
|
+
- - <
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 2.0.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.4.0
|
30
|
+
- - <
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 2.0.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: logstash-devutils
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
description: This gem is a logstash plugin required to be installed on top of the
|
48
|
+
Logstash core pipeline using $LS_HOME/bin/plugin install gemname. This gem is not
|
49
|
+
a stand-alone program
|
50
|
+
email: info@elasticsearch.com
|
51
|
+
executables: []
|
52
|
+
extensions: []
|
53
|
+
extra_rdoc_files: []
|
54
|
+
files:
|
55
|
+
- .bundle/config
|
56
|
+
- CONTRIBUTORS
|
57
|
+
- DEVELOPER.md
|
58
|
+
- Gemfile
|
59
|
+
- LICENSE
|
60
|
+
- README.md
|
61
|
+
- Rakefile
|
62
|
+
- lib/logstash/outputs/logentries.rb
|
63
|
+
- logstash-output-logentries.gemspec
|
64
|
+
- spec/outputs/logentries_spec.rb
|
65
|
+
homepage: http://www.elasticsearch.org/guide/en/logstash/current/index.html
|
66
|
+
licenses:
|
67
|
+
- Apache License (2.0)
|
68
|
+
metadata:
|
69
|
+
logstash_plugin: 'true'
|
70
|
+
logstash_group: output
|
71
|
+
post_install_message:
|
72
|
+
rdoc_options: []
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
requirements: []
|
86
|
+
rubyforge_project:
|
87
|
+
rubygems_version: 2.2.2
|
88
|
+
signing_key:
|
89
|
+
specification_version: 4
|
90
|
+
summary: You can forward logs from Logstash to Legentries using unique token.
|
91
|
+
test_files:
|
92
|
+
- spec/outputs/logentries_spec.rb
|