= Overview
vmware_log_intelligence is a Fluentd output plugin that buffers data and sends the data to VMware Log Intelligence.
== Requirements
fluentd version: 0.14.0 or above
Ruby version: 2.2 or above
== Build and install the plugin
`gem build fluent-plugin-vmware-log-intelligence.gemspec`
`gem install fluent-plugin-vmware-log-intelligence-1.0.0.gem`
== Usage
vmware_log_intelligence does not support Fluentd v0.12 style configurations.
Please use Fluentd v1.0 style configurations when working with the plugin.
Here is an example of the vmware_log_intelligence plugin configurations:
@type vmware_log_intelligence
endpoint_url https://data.upgrade.symphony-dev.com/le-mans/v1/streams/ingestion-pipeline-stream
verify_ssl false
http_compress false
Content-Type application/json
Authorization Bearer Your-VMware-Log-Intelligence-API-Token
structure simple
@type file
path /path/to/buffer/lint.buf
chunk_limit_records 300
flush_interval 20s
delayed_commit_timeout 120s
retry_max_times 3
@type json
tag_key text
You can find more configuration examples in the files under the examples folder.
Besides Fluentd, you can also use the plugin with td-agent.
== Payload format
VMware Log Intelligence expects the body of the HTTP requests you send to be in JSON format. It also expects the JSON payload to have a 'text' field that contains your raw log text.
The fluentd way of turning raw log text into a JSON is to use the JSON formatter plugin (https://docs.fluentd.org/v0.12/articles/formatter_json). The plugin uses a 'tag' field to store the text of a log. One configuration option of the JSON formatter plugin is called 'tag_key'. You need to set 'tag_key' to 'text' so that the JSON formatter will generate JSON payloads that conform to what VMware Log Intelligence expects.
== Configuration
=== endpoint_url
This is the URL to which you want to send the logs to. You should set it to the URL of VMware Log Intelligence:
https://data.upgrade.symphony-dev.com/le-mans/v1/streams/ingestion-pipeline-stream
=== verify_ssl
You can use this setting to control whether the vmware_log_intelligence plugin should verify
the SSL certificate of the endpoint_url. You should always set this to `true` except in testing
or troubleshooting.
=== http_compress
You can use this setting to compress the data while sending it to vRealize Log Insight Cloud. The default value is set 'false' here, If needed you can set it 'true'.
===
In order to send logs to VMware Log Intelligence, you need to have the ``
section in your configuration. The `` section should look like the following:
Content-Type application/json
Authorization Bearer Your-VMware-Log-Intelligence-API-Token
structure simple
===
The vmware_log_intelligence plugin supports buffering. All the buffering configurations
of Fluentd are supported. Detailed information of the buffering configurations can be
found here https://docs.fluentd.org/v1.0/articles/buffer-section.
== Run tests
If you would like to contribute to this project, you might want to be able to run the tests
under the `test` folder. You can do that in a Ruby environment you have set up on your dev
machine. You can also run the tests in a Docker container. To run the tests in a Docker container,
you can follow these steps:
Go to the root folder of this project and build the Docker image like this:
`docker build -t fluent-plugin-dev .`
Run the container like this:
`docker run --rm -i -t --name fluent-plugin-dev -v $(pwd):/app fluent-plugin-dev /bin/bash`
Once inside the container, you can run the following to make sure that all dependecies are installed:
`bundle install`
Then you can run tests like this:
`bundle exec rake`
== Contributing
The vmware_log_intelligence plugin project team welcomes contributions from the community. Before you start working with fluent-plugin-vmware-log-intelligence, please read our [Developer Certificate of Origin](https://cla.vmware.com/dco). All contributions to this repository must be signed as described on that page. Your signature certifies that you wrote the patch or have the right to pass it on as an open-source patch. For more detailed information, refer to [CONTRIBUTING.md](CONTRIBUTING.md).
== License
Please see LICENSE.txt[LICENSE.txt].
== Copyright
Copyright (c) 2013 ablagoev.
Copyright 2018 VMware, Inc.