NSQ and New Relic Integration
Powerful performance with an easy integration, powered by Telegraf, the open source data connector built by InfluxData.
5B+
Telegraf downloads
#1
Time series database
Source: DB Engines
1B+
Downloads of InfluxDB
2,800+
Contributors
Table of Contents
Powerful Performance, Limitless Scale
Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.
See Ways to Get Started
Input and output integration overview
The NSQ Telegraf plugin reads metrics from the NSQD messaging system, allowing for real-time data processing and monitoring.
This plugin allows the sending of metrics to New Relic Insights using the Metrics API, enabling effective monitoring and analysis of application performance.
Integration details
NSQ
The NSQ plugin interfaces with NSQ, a real-time messaging platform, enabling the reading of messages from NSQD. This plugin is categorized as a service plugin, meaning it actively listens for metrics and events rather than polling them at regular intervals. With an emphasis on reliability, it prevents data loss by tracking undelivered messages until they are acknowledged by outputs. The plugin allows for configurations such as specifying NSQLookupd endpoints, topics, and channels, and it supports multiple data formats for flexibility in data handling.
New Relic
This plugin writes metrics to New Relic Insights utilizing the Metrics API, which provides a robust mechanism for sending time series data to the New Relic platform. Users must first obtain an Insights API Key to authenticate and authorize their data submissions. The plugin is designed to facilitate easy integration with New Relic’s monitoring and analytics capabilities, supporting a variety of metric types and allowing for efficient data handling. Core features include the ability to add prefixes to metrics for better identification, customizable timeouts for API requests, and support for proxy settings to enhance connectivity. It is essential for users to configure these options according to their requirements, enabling seamless data flow into New Relic for comprehensive real-time analytics and insights.
Configuration
NSQ
# Read metrics from NSQD topic(s)
[[inputs.nsq_consumer]]
## Server option still works but is deprecated, we just prepend it to the nsqd array.
# server = "localhost:4150"
## An array representing the NSQD TCP HTTP Endpoints
nsqd = ["localhost:4150"]
## An array representing the NSQLookupd HTTP Endpoints
nsqlookupd = ["localhost:4161"]
topic = "telegraf"
channel = "consumer"
max_in_flight = 100
## Max undelivered messages
## This plugin uses tracking metrics, which ensure messages are read to
## outputs before acknowledging them to the original broker to ensure data
## is not lost. This option sets the maximum messages to read from the
## broker that have not been written by an output.
##
## This value needs to be picked with awareness of the agent's
## metric_batch_size value as well. Setting max undelivered messages too high
## can result in a constant stream of data batches to the output. While
## setting it too low may never flush the broker's messages.
# max_undelivered_messages = 1000
## Data format to consume.
## Each data format has its own unique set of configuration options, read
## more about them here:
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
data_format = "influx"
New Relic
[[outputs.newrelic]]
## The 'insights_key' parameter requires a NR license key.
## New Relic recommends you create one
## with a convenient name such as TELEGRAF_INSERT_KEY.
## reference: https://docs.newrelic.com/docs/apis/intro-apis/new-relic-api-keys/#ingest-license-key
# insights_key = "New Relic License Key Here"
## Prefix to add to add to metric name for easy identification.
## This is very useful if your metric names are ambiguous.
# metric_prefix = ""
## Timeout for writes to the New Relic API.
# timeout = "15s"
## HTTP Proxy override. If unset use values from the standard
## proxy environment variables to determine proxy, if any.
# http_proxy = "http://corporate.proxy:3128"
## Metric URL override to enable geographic location endpoints.
# If not set use values from the standard
# metric_url = "https://metric-api.newrelic.com/metric/v1"
Input and output integration examples
NSQ
-
Real-Time Analytics Dashboard: Integrate this plugin with a visualization tool to create a dashboard that displays real-time metrics from various topics in NSQ. By subscribing to specific topics, users can monitor system health and application performance dynamically, allowing for immediate insights and timely responses to any anomalies.
-
Event-Driven Automation: Combine NSQ with a serverless architecture to trigger automated workflows based on incoming messages. This use case could involve processing data for machine learning models or responding to user actions in applications, thus streamlining operations and enhancing user experience through rapid processing.
-
Multi-Service Communication Hub: Use the NSQ plugin to act as a centralized messaging hub among different microservices in a distributed architecture. By enabling services to communicate through NSQ, developers can ensure reliable message delivery while maintaining decoupled service interactions, significantly improving scalability and resilience.
-
Metrics Aggregation for Enhanced Monitoring: Implement the NSQ plugin to aggregate metrics from multiple sources before sending them to an analytics tool. This setup enables businesses to consolidate data from various applications and services, creating a unified view for better decision-making and strategic planning.
New Relic
-
Application Performance Monitoring: Use the New Relic Telegraf plugin to send application performance metrics from a web service to New Relic Insights. By integrating this plugin, developers can collect data such as response times, error rates, and throughput, enabling teams to monitor application health in real-time and resolve issues quickly before they impact users. This setup promotes proactive management of application performance and user experience.
-
Infrastructure Metrics Aggregation: Leverage this plugin to aggregate and send system-level metrics (CPU usage, memory consumption, etc.) from various servers to New Relic. This helps system administrators maintain an comprehensive view of infrastructure performance, facilitating capacity planning and identifying potential bottlenecks. By centralizing metrics in New Relic, teams can visualize trends over time and make informed decisions regarding resource allocation.
-
Dynamic Metric Naming for Multi-tenant Applications: Implement dynamic prefixing with the metric_prefix option to differentiate between different tenants in a multi-tenant application. By configuring the plugin to include a unique identifier per tenant in the metric names, teams can analyze usage patterns and performance metrics per tenant. This provides valuable insights into tenant behavior, supporting tailored optimizations and enhancing service quality across different customer segments.
-
Real-time Anomaly Detection: Combine the New Relic plugin with alerting mechanisms to trigger notifications based on unusual metric patterns. By sending metrics such as request counts and response times, teams can set thresholds in New Relic that, when breached, will automatically alert responsible parties. This user-driven approach supports immediate responses to potential issues before they escalate into larger incidents.
Feedback
Thank you for being part of our community! If you have any general feedback or found any bugs on these pages, we welcome and encourage your input. Please submit your feedback in the InfluxDB community Slack.
Powerful Performance, Limitless Scale
Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.
See Ways to Get Started
Related Integrations
Related Integrations
HTTP and InfluxDB Integration
The HTTP plugin collects metrics from one or more HTTP(S) endpoints. It supports various authentication methods and configuration options for data formats.
View IntegrationKafka and InfluxDB Integration
This plugin reads messages from Kafka and allows the creation of metrics based on those messages. It supports various configurations including different Kafka settings and message processing options.
View IntegrationKinesis and InfluxDB Integration
The Kinesis plugin allows for reading metrics from AWS Kinesis streams. It supports multiple input data formats and offers checkpointing features with DynamoDB for reliable message processing.
View Integration