ZFS Metrics

Ship your ZFS Metrics via Telegraf to your Logit.io Stack

Configure Telegraf to ship ZFS metrics to your Logit.io stacks via Logstash.

Install Integration

Please click on the Install Integration button to configure your stack for this source.

Install Telegraf

This integration allows you to configure a Telegraf agent to send your metrics, in multiple formats, to Logit.io.

Choose the installation method for your operating system:

When you paste the command below into Powershell it will download the Telegraf zip file. Once that is complete, press Enter again and the zip file will be extracted into C:\Program Files\InfluxData\telegraf\telegraf-1.31.2.

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.31.2_windows_amd64.zip -UseBasicParsing -OutFile telegraf-1.31.2_windows_amd64.zip 
Expand-Archive .\telegraf-1.31.2_windows_amd64.zip -DestinationPath 'C:\Program Files\InfluxData\telegraf'

Configure the Telegraf input plugin

The configuration file below is pre-configured to scrape the system metrics from your hosts, add the following code to the configuration file /etc/telegraf/telegraf.conf from the previous step.

# Read metrics of ZFS from arcstats, zfetchstats, vdev_cache_stats, pools and datasets
# This plugin ONLY supports Linux & FreeBSD
[[inputs.zfs]]
  ## ZFS kstat path. Ignored on FreeBSD
  ## If not specified, then default is:
  # kstatPath = "/proc/spl/kstat/zfs"
 
  ## By default, telegraf gather all zfs stats
  ## Override the stats list using the kstatMetrics array:
  ## For FreeBSD, the default is:
  # kstatMetrics = ["arcstats", "zfetchstats", "vdev_cache_stats"]
  ## For Linux, the default is:
  # kstatMetrics = ["abdstats", "arcstats", "dnodestats", "dbufcachestats",
  #     "dmu_tx", "fm", "vdev_mirror_stats", "zfetchstats", "zil"]
 
  ## By default, don't gather zpool stats
  # poolMetrics = false
 
  ## By default, don't gather dataset stats
  # datasetMetrics = false

Read more about how to configure data scraping and configuration options for ZFS (opens in a new tab)

Configure the output plugin

Once you have generated the configuration file, you need to set up the output plug-in to allow Telegraf to transmit your data to Logit.io in Prometheus format. This can be accomplished by incorporating the following code into your configuration file:

[[outputs.http]]
  url = "https://@metricsUsername:@metricsPassword@@metrics_id-vm.logit.io:@vmAgentPort/api/v1/write"
  data_format = "prometheusremotewrite"
 
  [outputs.http.headers]
    Content-Type = "application/x-protobuf"
    Content-Encoding = "snappy"

Start Telegraf

From the location where Telegraf was installed (C:\Program Files\InfluxData\telegraf\telegraf-1.31.2) run the program providing the chosen configuration file as a parameter:

.\telegraf.exe --config telegraf-demo.conf

Once Telegraf is running you should see output similar to the following, which confirms the inputs, output and basic configuration the application has been started with: Powershell Telegraf information

View your metrics

Data should now have been sent to your Stack.

View My Data

If you don't see take a look at How to diagnose no data in Stack below for how to diagnose common issues.

How to diagnose no data in Stack

If you don't see data appearing in your stack after following this integration, take a look at the troubleshooting guide for steps to diagnose and resolve the problem or contact our support team and we'll be happy to assist.

Telegraf ZFS Overview

In order to effectively monitor and analyze ZFS metrics across a distributed environment, it's essential to employ a comprehensive and efficient metrics management solution. Telegraf, an open-source server agent for collecting and sending telemetry data, fits this requirement perfectly, able to gather ZFS metrics from a variety of sources including operational ZFS instances, databases, and other associated applications.

Telegraf's extensive selection of input plugins enables users to collect metrics from diverse sources such as CPU usage, memory utilization, disk I/O, and more, all of which can be vital for understanding ZFS performance. To store and scrutinize these collected metrics, organizations can utilize Prometheus, an open-source monitoring and alerting tool known for its flexible querying language and powerful data visualization capabilities.

To convey ZFS metrics from Telegraf to Prometheus, organizations must configure Telegraf to output metrics in Prometheus format, then establish Prometheus to scrape these metrics from the Telegraf server. This procedure includes setting up Telegraf to gather ZFS metrics, outputting them in Prometheus format, configuring Prometheus to fetch these metrics from the Telegraf server, and subsequently interpreting the data through Prometheus's robust querying and visualization tools.

Upon successful integration of the metrics into Prometheus, further analysis and visualization can be carried out using Grafana. Grafana, an open-source software recognized for its monitoring and observability capabilities, is fully compatible with Prometheus. It empowers users to design dynamic, interactive dashboards for a deeper exploration of metrics data, delivering a comprehensive understanding of performance trends and potential bottlenecks in the ZFS system.

If you need any further assistance with shipping your log data to Logit.io we're here to help you get started. Feel free to get in contact with our support team by sending us a message via live chat & we'll be happy to assist.