Repository is archived
No release in over 3 years
Low commit activity in last 3 years
F5 Beacon output plugin for Fluentd
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 0
~> 13

Runtime

>= 1.0, < 2
>= 0.8.0, < 1
 Project Readme

This repository is archived and is no longer actively maintained by F5

Ruby Gem Version

Fluent::Plugin::Beacon, a plugin for Fluentd

fluent-plugin-f5-beacon is a buffered output plugin for Fluentd and F5 Beacon.

Requirements

fluent-plugin-f5-beacon fluentd ruby
* >= v1.0.0 >= 2.3

Installation

$ fluent-gem install fluent-plugin-f5-beacon

Alternatively, with td-agent:

$ td-agent-gem install fluent-plugin-f5-beacon

Or via source (swap td-agent-gem for fluent-gem as needed):

$ git clone https://github.com/f5devcentral/fluent-plugin-f5-beacon.git
$ cd fluent-plugin-f5-beacon/
$ fluent-gem build fluent-plugin-f5-beacon.gemspec
$ fluent-gem install fluent-plugin-f5-beacon-#.#.#.gem

Usage

Just like other regular output plugins, use type f5-beacon in your Fluentd configuration under match scope:

@type f5_beacon


Options:

source_name: The name of the source within Beacon. This is required.

token: The Beacon ingestion token to be used. This is required.

measurement: The measurement/series to use. The default is nil. If not specified, Fluentd's tag is used.

time_key: Use the value of this tag if it exists in the event instead of the event timestamp.

auto_tags: Enable/disable auto-tagging behavior which makes strings tags. The default is false.

tag_keys: The names of the keys to use as tags instead of fields.

sequence_tag: The name of the tag whose value is incremented for the consecutive simultaneous events and reset to zero for a new event with the different timestamp.

cast_number_to_float: Enable/disable casting numbers to floats. Within a measurement, a given field must be integer or float. If your pipeline cannot unify the record value, this parameter may help avoid errors due to type conflicts.

Configuration Example

<match mylog.*>
  @type f5_beacon
  @id f5_beacon
  source_name server1
  token a-123456789#token
  tag_keys ["key1", "key2"]
</match>

Cache and multiprocess

The plugin is a buffered output plugin. So additional buffer configuration (with default values) looks like:

<buffer>
  @type memory
  chunk_limit_size 524288 # 512 * 1024
  chunk_limit_records 1024
  flush_interval 60
  retry_limit 17
  retry_wait 1.0
  num_threads 1
</buffer>

Details around buffering can be found here.


Unit tests

bundle exec rake test