Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Rackspace Cloud Files input. #772

Closed
wants to merge 2 commits into from

Conversation

bradgignac
Copy link

The Rackspace Cloud Files provides the ability to pull container access logs and CDN access logs from a Cloud Files container.

@bradgignac
Copy link
Author

@jordansissel Anything I need to do on this one?

@untergeek
Copy link
Member

Brad,

We’re going to have a "merge party” soon and we’ll either merge it or get back to you. Meanwhile, have you signed our CLA?

http://www.elasticsearch.org/contributor-agreement/

Thanks!

—Aaron

On Nov 19, 2013, at 10:40 AM, Brad Gignac notifications@github.com wrote:

@jordansissel Anything I need to do on this one?


Reply to this email directly or view it on GitHub.

@piavlo
Copy link
Contributor

piavlo commented Nov 19, 2013

if using fog - why make this plugin rackspace specific? why not make parameters to Fog::Storage.new() configurable so that it could be used with s3 and other fog well supported cloud storage providers that share same cloud file manipulation semantics in fog?

@bradgignac
Copy link
Author

@untergeek Wow! Thanks for the quick response. I just signed the CLA.

@bradgignac
Copy link
Author

@piavlo Good question. The biggest issue with Fog is that the parameters you pass to instantiate a new storage provider are different for each provider, so the number of configuration options would be insane. It might be easier to use and document if there was a base Fog Storage input that could be extended with provider-specific options. I'd love more feedback for the logstash community here though.

@stuart-warren
Copy link
Contributor

I'd use it with a local Ceph cluster (S3 API) if I could configure it to do so.

@bradgignac
Copy link
Author

@stuart-warren Awesome! Right now, this assumes that all log files are GZip'ed text files that can be split on the line. Does this assumption work for you Ceph cluster?

@stuart-warren
Copy link
Contributor

I guess they would likely be standard rolled logfiles so yeah.

@piavlo
Copy link
Contributor

piavlo commented Nov 19, 2013

@bradgignac - yes a base could storage input would be a good way, so that specific providers inputs would only need to build the parameters hash for Fog::Storage.new()

Also I wonder if it's possible/makes sense to have the process_log_files() logic implemented as codec?


def process_file(queue, file)
log_stream = StringIO.new(file.body)
reader = Zlib::GzipReader.new(log_stream)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The lines codec will already split a byte stream up into events.

I also think it might be a good idea to omit the gzip assumptions here. This should be a codec as well so all can benefit regardless of if its compressed or not.

Thoughts?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nickethier Sorry for taking so long to get back to you. I'm about to push a change that uses the line codec to read the inflated GZip stream rather than defaulting to the plain codec.

I had planned to extract the GZip assumption to a codec but couldn't find much documentation on codecs. My first attempt was simply a wrapper around the line codec that inflated the GZip stream and passed it off the line codec. However, I wasn't quite sure what the implementation of the encode method should look like. Any suggestions?

The Rackspace Cloud Files provides the ability to pull container and
CDN access logs from a Cloud Files container.
@elasticsearch-release
Copy link

Can one of the admins verify this patch?

@purbon
Copy link
Contributor

purbon commented Jun 6, 2015

Hi, this been here for a while now. How do we feel about having this new plugin living/move to logstash-plugins org? makes sense to move the new plugin there?

@jordansissel jordansissel removed the O(2) label Jun 29, 2015
@suyograo
Copy link
Contributor

@bradgignac can you please move this to logstash-plugins repo? See an example here: https://www.elastic.co/guide/en/logstash/current/_how_to_write_a_logstash_output_plugin.html

We will not be able to merge this repo in the current form as plugins code have been extracted out of core

@suyograo suyograo closed this Aug 21, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants