fluent-plugin-newrelic
A Fluentd output plugin that sends logs to New Relic
This project is provided AS-IS WITHOUT WARRANTY OR SUPPORT, although you can report issues and contribute to the project here on GitHub.
Examples
Please see the examples directory for ways to build a Docker image with the New Relic output plugin and other configuration types that could be useful in your environment.
Prerequisites
Fluentd >= v1.0
Installation
Add the plugin to your fluentd agent:
fluent-gem install fluent-plugin-newrelic
If you are using td-agent:
td-agent-gem install fluent-plugin-newrelic
For more info, review Fluentd's official documentation.
Configuration
Required plugin configuration
This plugin must be configured with either a New Relic API Insert key, or a New Relic License key. If both types of keys are specified, the API Insert key will take precedence.
To specify an API Insert key, either set the api_key
property in the configuration, or set the NEW_RELIC_API_KEY
environment variable. If both are specified, the configuration property will take precedence.
To specify a license key, either set the license_key
property in the configuration, or set the NEW_RELIC_LICENSE_KEY
environment variable. If both are specified, the configuration property will take precedence.
Optional plugin configuration
Property | Description | Default value |
---|---|---|
base_uri | New Relic ingestion endpoint | https://log-api.newrelic.com/log/v1 |
EU plugin configuration
If you are running this plugin in the eu set the base_uri
to https://log-api.eu.newrelic.com/log/v1
.
Fields
- To make Kubernetes log forwarding easier, any
log
field in a log event will be renamed tomessage
, overwriting anymessage
field. Kubernetes logs have their messages in alog
field, while we want messages in amessage
field.
Example
Add one of the following blocks to your Fluentd config file (with your specific key), then restart Fluentd.
Using Insights Inserts Key
Example using Insights Insert key:
<match **>
@type newrelic
api_key <NEW_RELIC_INSIGHTS_INSERT_KEY>
</match>
Getting your New Relic Insights Insert key:
https://insights.newrelic.com/accounts/<ACCOUNT_ID>/manage/api_keys
Using License Key
Example using License key:
<match **>
@type newrelic
license_key <NEW_RELIC_LICENSE_KEY>
</match>
Getting your New Relic license key:
https://rpm.newrelic.com/accounts/<ACCOUNT_ID>
Playground
To provide a sandbox environment where you can play with the plugin while development or testing we've added a docker-compose environment that would help to run fluend with the plugin and send some logs. More info
Community
New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub: Log forwarding
A note about vulnerabilities
As noted in our security policy, New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.
If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through HackerOne.
If you would like to contribute to this project, please create a branch directly in this repository and review these guidelines.
License
newrelic-fluentd-output is licensed under the Apache 2.0 License.
Copyright
- Copyright(c) 2019 - New Relic
- License
- Apache License, Version 2.0