Documentation

Monitor InfluxDB Enterprise with InfluxDB OSS

Use InfluxDB OSS, the InfluxDB Enterprise 1.x Template, and Telegraf to monitor one or more InfluxDB Enterprise instances.

Do the following:

  1. Review requirements
  2. Install the InfluxDB Enterprise Monitoring template
  3. Set up InfluxDB Enterprise for monitoring
  4. Set up Telegraf
  5. View the Monitoring dashboard
  6. (Optional) Alert when metrics stop reporting
  7. (Optional) Create a notification endpoint and rule
  8. (Optional) Monitor with InfluxDB Insights

Review requirements

Before you begin, make sure you have access to the following:

  • A self-hosted OSS 2.x instance. (get started for free here)
  • Command line access to a machine running InfluxDB Enterprise 1.x and permissions to install Telegraf on this machine.
  • Internet connectivity from the machine running InfluxDB Enterprise 1.x and Telegraf to InfluxDB OSS.
  • Sufficient resource availability to install the template.

Install the InfluxDB Enterprise Monitoring template

The InfluxDB Enterprise Monitoring template includes a Telegraf configuration that sends InfluxDB Enterprise metrics to an InfluxDB endpoint and a dashboard that visualizes the metrics.

  1. Log into your InfluxDB OSS UI, go to Settings > Templates, and enter the following template URL:

     https://raw.githubusercontent.com/influxdata/community-templates/master/influxdb-enterprise-1x/enterprise.yml
    
  2. Click Lookup Template, and then click Install Template. InfluxDB OSS imports the template, which includes the following resources:

    • Telegraf Configuration monitoring-enterprise-1x
    • Dashboard InfluxDB 1.x Enterprise
    • Label enterprise
    • Variables influxdb_host and bucket

Set up InfluxDB Enterprise for monitoring

By default, InfluxDB Enterprise 1.x has a /metrics endpoint available, which exports Prometheus-style system metrics.

  1. Make sure the /metrics endpoint is enabled. If you’ve changed the default settings to disable the /metrics endpoint, re-enable these settings.

  2. Navigate to the /metrics endpoint of your InfluxDB Enterprise instance to view the InfluxDB Enterprise system metrics in your browser:

    http://localhost:8086/metrics
    

    Or use curl to fetch metrics:

    curl http://localhost:8086/metrics
    # HELP boltdb_reads_total Total number of boltdb reads
    # TYPE boltdb_reads_total counter
    boltdb_reads_total 41
    # HELP boltdb_writes_total Total number of boltdb writes
    # TYPE boltdb_writes_total counter
    boltdb_writes_total 28
    # HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
    ...
    
  3. Add your InfluxDB OSS account information (URL and organization) to your Telegraf configuration by doing the following:

    1. Go to Load Data > Telegraf in your InfluxDB OSS account, and click InfluxDB Output Plugin at the top-right corner.

    2. Copy the urls, token, organization, and bucket and close the window.

    3. Click monitoring-enterprise-1.x.

    4. Replace urls, token, organization, and bucket under outputs.influxdb_v2 with your InfluxDB OSS account information. Alternatively, store this information in your environment variables and include the environment variables in your configuration.

      To ensure the InfluxDB Enterprise monitoring dashboard can display the recorded metrics, set the destination bucket name to enterprise_metrics in your telegraf.conf.

    5. Add the Prometheus input plugin to your telegraf.conf. Specify your your InfluxDB Enterprise URL(s) in the urls parameter. For example:

    [[inputs.prometheus]]
      urls = ["http://localhost:8086/metrics"]
      username = "$INFLUX_USER"
      password = "$INFLUX_PASSWORD"
    

    If you’re using unique URLs or have security set up for your /metrics endpoint, configure those options here and save the updated configuration.

    For more information about customizing Telegraf, see Configure Telegraf.

  4. Click Save Changes.

Set up Telegraf

Set up Telegraf to scrape metrics from InfluxDB Enterprise to send to your InfluxDB OSS account.

On each InfluxDB Enterprise instance you want to monitor, do the following:

  1. Go to Load Data > Telegraf in your InfluxDB OSS account.

  2. Click Setup Instructions under monitoring-enterprise-1.x.

  3. Complete the Telegraf Setup instructions. If you are using environment variables, set them up now.

    For your API token, generate a new token or use an existing All Access token. If you run Telegraf as a service, edit your init script to set the environment variable and ensure its available to the service.

Telegraf runs quietly in the background (no immediate output appears), and Telegraf begins pushing metrics to your InfluxDB OSS account.

View the Monitoring dashboard

To see your data in real time, view the Monitoring dashboard.

  1. Select Boards (Dashboards) in your InfluxDB OSS account.

  2. Click InfluxDB Enterprise Metrics. Metrics appear in your dashboard.

  3. Customize your monitoring dashboard as needed. For example, send an alert in the following cases:

Alert when metrics stop reporting

The Monitoring template includes a deadman check to verify metrics are reported at regular intervals.

To alert when data stops flowing from InfluxDB OSS instances to your InfluxDB OSS account, do the following:

  1. Customize the deadman check to identify the fields you want to monitor.
  2. Create a notification endpoint and rule to receive notifications when your deadman check is triggered.

Customize the deadman check

  1. To view the deadman check, click Alerts in the navigation bar of your InfluxDB OSS account.

  2. Choose a InfluxDB OSS field or create a new OSS field for your deadman alert:

    1. Click Create and select Deadman Check in the dropown menu.
    2. Define your query with at least one field.
    3. Click Submit and Configure Check. When metrics stop reporting, you’ll receive an alert.
  3. Start under Schedule Every, set the amount of time to check for data.

  4. Set the amount of time to wait before switching to a critical alert.

  5. Save the Check and click on View History of the Check under the gear icon to verify it is running.

Create a notification endpoint and rule

To receive a notification message when your deadman check is triggered, create a notification endpoint and rule.

Create a notification endpoint

InfluxData supports different endpoints: Slack, PagerDuty, and HTTP. Slack is free for all users, while PagerDuty and HTTP are exclusive to the Usage-Based Plan.

Send a notification to Slack

  1. Create a Slack Webhooks.
  2. Go to Alerts > Notification Endpoint and click Create, and enter a name and description for your Slack endpoint.
  3. Enter your Slack Webhook under Incoming Webhook URL and click Create Notification Endpoint.

Send a notification to PagerDuty or HTTP

Send a notification to PagerDuty or HTTP endpoints (other webhooks) by upgrading your InfluxDB OSS account.

Create a notification rule

Create a notification rule to set rules for when to send a deadman alert message to your notification endpoint.

  1. Go to Alerts > Notification Rules and click Create.
  2. Fill out the About and Conditions section then click Create Notification Rule.

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more