New Relic Infrastructure provides a software development kit (SDK) for creating an Infrastructure integration that reports custom data from hosts or services. That data can then be found in New Relic Infrastructure and in New Relic Insights.
Data from custom on-host integrations is available only with Infrastructure Pro. For more subscription details, see the Infrastructure product page.
What is an Infrastructure integration?
The New Relic Infrastructure integrations are implementations that send specific host, server, and system data to your New Relic account. An integration allows you to supplement Infrastructure's default, out-of-the-box monitoring. Some integrations are created by New Relic (for example, the Amazon integrations and assorted on-host integrations) and some have been created by the open-source community (see list of open-source on-host integrations).
You can also use the Infrastructure Integrations SDK to build a custom integration for reporting data from specific technologies, such as Kafka or RabbitMQ. For example, you might use a custom integration for your RabbitMQ instance to get the total number of published messages, or the number of messages sent per second. Using integration inventory data, you might track configuration changes to understand how installs or updates are related to performance issues.
What data can a custom integration report?
When you build an integration, you assign the entities that report data. In New Relic terms, entity is a purposefully ambiguous term meaning something that reports data to New Relic (for example: a local host, a load balancer, or a database).
A single integration can report data from multiple entities, which gives you the ability to report data from more than one service or host instance.
There are three types of data an entity can generate:
- Metrics: Metric data is used for numerical measurement data. Examples: how many requests are in a queue, or the number of hits on a database per minute. Metric data from a custom integration can be queried in Insights and used to create dashboards.
- Inventory: Live system state and configuration information. This data will show up on the Infrastructure Inventory UI page.
- Events: Events are used to record important activities on a system. Examples: a service starting or a new table being created. Event data will be shown in the Infrastructure Events UI page.
Create a custom integration
Custom integration data is available only with a New Relic Infrastructure Pro subscription.
To create an integration, use these resources:
- See the Go language build tools and tutorial. The tutorial walks you through creating a Redis integration in Go. (Note: Go is not required; it's just the language for which we provide additional build tools. For more information, see Integrations SDK requirements.)
- See the integration file structure documentation, which describes the files required to create an integration.