fluent-plugin-arango-http-api

Fluentd output plugin to do something.

ArangoHttpApiOutput is a Fluentd output plugin that sends data to an ArangoDB collection using the ArangoDB HTTP API. This plugin allows you to store and manage your log data efficiently in an ArangoDB database.

Features

  • Automatically creates the specified collection if it does not exist.
  • Supports creating indices on the collection.
  • Inserts documents into the collection using the ArangoDB HTTP

Installation

RubyGems

$ gem install fluent-plugin-arango-http-api

Bundler

Add following line to your Gemfile:

gem "fluent-plugin-arango-http-api"

And then execute:

$ bundle

Configuration

Setup

Add the following configuration to your fluent.conf:

conf

<match **>
  @type arango-http-api
  server arangodb-fluentd-arangodb
  port 8529
  database my_database
  collection my_collection
  user my_user
  password my_password
  index_name my_index
  index_type persistent
  index_fields field1,field2
  index_unique true
  index_sparse false
</match>

Parameters

  • server: The ArangoDB server hostname or IP address.
  • port: The ArangoDB server port. Default is 8529.
  • database: The database name. Default is _system.
  • collection: The ArangoDB collection name.
  • index_name: The index name. Default is fluent_index.
  • index_type: The index type (e.g., persistent, hash, skiplist, etc.). Default is persistent.
  • index_fields: An array of fields to be indexed. Default is [].
  • index_unique: Whether the index should enforce uniqueness. Default is true.
  • index_sparse: Whether the index should be sparse. Default is false.
  • user: The username for authentication.
  • password: The password for authentication.

Example

<match my.test.tag>
  @type arango-http-api
  server arangodb-fluentd-arangodb
  port 8529
  database logs
  collection app_logs
  user admin
  password admin_password
  index_name app_log_index
  index_type persistent
  index_fields ["timestamp", "log_level", "message"]
  index_unique false
  index_sparse true
</match>

Fluent::Plugin::ArangoHttpApiOutput

server (string) (optional)

Default value: localhost.

port (integer) (optional)

Default value: 8529.

database (string) (optional)

Default value: _system.

collection (string) (required)

index_name (string) (optional)

Default value: fluent_index.

index_type (string) (optional)

Default value: persistent.

index_fields (array) (optional)

Default value: [].

index_unique (bool) (optional)

Default value: true.

index_sparse (bool) (optional)

user (string) (optional)

password (string) (optional)

include_tag_key () (optional)

Default value: true.

include_time_key () (optional)

Default value: true.

  • Copyright(c) 2025- Naoya Harasawa
  • License
    • Apache License, Version 2.0