Git Product home page Git Product logo

fluent-plugin-out-http-ext's Introduction

This repo is deprecated. Please use fluent-plugins-nursery/fluent-plugin-out-http

fluent-plugin-out-http-ext, a plugin for Fluentd

Build Status Coverage Status

This is a fork of ento / fluent-plugin-out-http

A generic fluentd output plugin for sending logs to an HTTP endpoint

Configuration options

<match *>
  type http_ext
  endpoint_url          http://localhost.local/api/<data.id> # <data.id> refres to data.id in the record like {"data"=> {"id"=> 1, "name"=> "foo"}}
  http_method           put                                  # default: post
  serializer            json                                 # default: form
  rate_limit_msec       100                                  # default: 0 = no rate limiting
  open_timeout          5                                    # default: nil = no timeout
  read_timeout          10                                   # default: 60
  raise_on_error        false                                # default: true
  raise_on_http_failure true                                 # default: false
  ignore_http_status_code 300,400..499                        # default: nil # do not raise on these http_status codes
  authentication        basic                                # default: none
  username              alice                                # default: ''
  password              bobpop                               # default: '', secret: true
  use_ssl               true                                 # default: false
  verify_ssl            false                                # default: true
  format                <formatter>                          # default: '', <formatter> is the name of your formatter plugin
  <headers>
    HeaderExample1 header1
    HeaderExample2 header2
  </headers>
</match>

Usage notes

If you'd like to retry failed requests, consider using fluent-plugin-bufferize.

how to release

Include these changes to pull request

  • update CHANGELOG.md
  • update README.md

After master is updated

# bump `gem.version` in `fluent-plugin-out-http-ext.gemspec`

# upload to rubygems
$ bundle exec rake release

Heavily based on fluent-plugin-growthforecast

fluent-plugin-out-http-ext's People

Contributors

cclien avatar cosmo0920 avatar ento avatar higumachan avatar jezeniel avatar kiyoto avatar lejpower avatar repeatedly avatar toshitanian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fluent-plugin-out-http-ext's Issues

http status insert

Is it possible to add the http status code and some information to JSON output ?

For example like this:
"delivery-status": { "description": "...", "session-seconds": 0.9486699104309082, "code": 403, "message": "..." }

Support for multi workers?

I am currently unable to run this plugin in a multi-worker fluentd setup.

(...) [error]: config error file="/fluentd/etc/fluent.conf" error_class=Fluent::ConfigError error="Plugin 'http_ext' does not support multi workers configuration (Fluent::HTTPOutput)"

Are there any plans to add support for multi workers?

Formatter Support

Is there a chance that we can add formatter support? I can create a PR for this one but who will handle the building of the new version?

Using fluentd as tracking server - is it bullet proof? will I loose lines of logs?

I just thought using this plugin to make a a scalble trackign server out of nginx+fluentd

I thought that you might be interested in help me out, I posted a git issue and a stackoverlfow question:
fluent-plugins-nursery#17
http://stackoverflow.com/questions/41434437/fluentd-filebeat-rsyslog-output-to-script-curl

Sorry for opening an issue for a question, but I didn't know who else to turn to :)
Hope to get your support.

provide option to specify ca_file

The plugin hardcodes OpenSSL::X509::DEFAULT_CERT_FILE as the ca file.
https://github.com/toshitanian/fluent-plugin-out-http-ext/blob/master/lib/fluent/plugin/out_http_ext.rb#L220
Unfortunately on e.g. Debian this variable points to a non existent file, the system ca bundle is /etc/ssl/certs/ca-certificates.crt

Setting the SSL_CERT_FILE variable also does not appear to override this ruby variable (https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_default_verify_paths.html)

Please provide a configuration option to set the ca_file to use manually.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.