Loggly plugin for [Fluentd](http://www.fluentd.org) ============= [![Gem](https://img.shields.io/gem/dt/fluent-plugin-loggly.svg)](https://rubygems.org/gems/fluent-plugin-loggly) [![Gem Version](https://badge.fury.io/rb/fluent-plugin-loggly.svg)](https://badge.fury.io/rb/fluent-plugin-loggly) With fluent-plugin-loggly you will be able to use [Loggly](http://loggly.com) as output the logs you collect with Fluentd. ## Getting Started * Install [Fluentd](http://www.fluentd.org/download) * `gem install fluent-plugin-loggly` or if you are using the agent `td-agent-gem install fluent-plugin-loggly` * Make sure you have an account with Loggly. * Configure Fluentd as below: ~~~~~ type loggly loggly_url https://logs-01.loggly.com/inputs/xxx-xxxx-xxxx-xxxxx-xxxxxxxxxx ~~~~~ or if you want to use buffered plugin: ~~~~~ type loggly_buffered loggly_url https://logs-01.loggly.com/bulk/xxx-xxxx-xxxx-xxxxx-xxxxxxxxxx output_include_time true # add 'timestamp' record into log. (default: true) time_precision_digits 3 # Include 3 digits of sub-second precision (default: 0) buffer_type file buffer_path /path/to/buffer/file flush_interval 10s ~~~~~ Note that buffered plugin uses bulk import to improve performance, so make sure to set Bulk endpoint to loggly_url. The `xxx-xxxx...` is your Loggly access token. ## Parameters **loggly_url** the url to your loggly input (string). ## Annotations If you're running on Kubernetes you can use annotations to redirect logs to alternate Loggly URLs. Simply enable the [fluent-plugin-kubernetes_metadata_filter](https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter) gem in your Fluentd setup and configure it to match annotations on the namespace and pod: ``` type kubernetes_metadata include_namespace_metadata true annotation_match ["solarwinds.io/*"] ``` Then add the following annotation to each namespace or pod that you'd like to redirect logs for: ``` solarwinds.io/loggly_url: 'https://logs-01.loggly.com/inputs/xxx-xxxx-xxxx-xxxxx-xxxxxxxxxx' ``` If both a pod and the namespace it's in have this annotation, the pod's annotation takes precedence.