mirror of
				https://git.proxmox.com/git/mirror_zfs
				synced 2025-11-03 23:46:39 +00:00 
			
		
		
		
	A zpool_influxdb command is introduced to ease the collection of zpool statistics into the InfluxDB time-series database. Examples are given on how to integrate with the telegraf statistics aggregator, a companion to influxdb. Finally, a grafana dashboard template is included to show how pool latency distributions can be visualized in a ZFS + telegraf + influxdb + grafana environment. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Richard Elling <Richard.Elling@RichardElling.com> Closes #10786
		
			
				
	
	
		
			94 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\"
 | 
						|
.\" CDDL HEADER START
 | 
						|
.\"
 | 
						|
.\" The contents of this file are subject to the terms of the
 | 
						|
.\" Common Development and Distribution License (the "License").
 | 
						|
.\" You may not use this file except in compliance with the License.
 | 
						|
.\"
 | 
						|
.\" You can obtain a copy of the license at
 | 
						|
.\" https://opensource.org/licenses/CDDL-1.0
 | 
						|
.\" See the License for the specific language governing permissions
 | 
						|
.\" and limitations under the License.
 | 
						|
.\"
 | 
						|
.\" When distributing Covered Code, include this CDDL HEADER in each
 | 
						|
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 | 
						|
.\" If applicable, add the following below this CDDL HEADER, with the
 | 
						|
.\" fields enclosed by brackets "[]" replaced with your own identifying
 | 
						|
.\" information: Portions Copyright [yyyy] [name of copyright owner]
 | 
						|
.\"
 | 
						|
.\" CDDL HEADER END
 | 
						|
.\"
 | 
						|
.\"
 | 
						|
.\" Copyright 2020 Richard Elling
 | 
						|
.\" .Dd June 14, 2020
 | 
						|
.TH zpool_influxdb 8
 | 
						|
.SH NAME
 | 
						|
zpool_influxdb \- collect zpool statistics in influxdb line protocol format
 | 
						|
.SH SYNOPSIS
 | 
						|
.LP
 | 
						|
.nf
 | 
						|
\fBzpool_influxdb\fR [--execd] [--no-histogram] [--sum-histogram-buckets]
 | 
						|
[--tags key=value] [pool]
 | 
						|
\fBzpool_influxdb\fR --help
 | 
						|
.fi
 | 
						|
.SH DESCRIPTION
 | 
						|
The \fBzpool_influxdb\fR command produces influxdb line protocol compatible
 | 
						|
metrics from zpools. Like the \fBzpool\fR command, \fBzpool_influxdb\fR
 | 
						|
reads the current pool status and statistics. Unlike the \fBzpool\fR
 | 
						|
command which is intended for humans, \fBzpool_influxdb\fR formats the
 | 
						|
output in influxdb line protocol. The expected use is as a plugin to a
 | 
						|
metrics collector or aggregator, such as telegraf.
 | 
						|
 | 
						|
By default, \fBzpool_influxdb\fR prints pool metrics and status in the
 | 
						|
influxdb line protocol format. All pools are printed, similar to
 | 
						|
the \fBzpool status\fR command. Providing a pool name restricts the
 | 
						|
output to the named pool.
 | 
						|
 | 
						|
Like the \fBzpool\fR command, \fBzpool_influxdb\fR uses internal data
 | 
						|
structures that can change over time as new ZFS releases are made.
 | 
						|
Therefore, the \fBzpool_influxdb\fR command must be compiled against the
 | 
						|
ZFS source. It is expected that later releases of ZFS includes compatible
 | 
						|
\fBzpool_influxdb\fR and \fBzpool\fR commands.
 | 
						|
 | 
						|
.SH OPTIONS
 | 
						|
.TP
 | 
						|
\fB\--execd\fR, \fB-e\fR
 | 
						|
Run in daemon mode compatible with telegraf`s \fBexecd\fR plugin.
 | 
						|
In this mode, the pools are sampled every time there is a [return] on stdin.
 | 
						|
Once a sample printed, \fBzpool_influxdb\fR waits for another [return].
 | 
						|
When run on a terminal, use [ctrl+C] to exit.
 | 
						|
.TP
 | 
						|
\fB\--no-histogram\fR, \fB-n\fR
 | 
						|
Do not print latency and I/O size histograms. This can reduce the total
 | 
						|
amount of data, but one should consider the value brought by the insights
 | 
						|
that latency and I/O size distributions provide. The resulting values
 | 
						|
are suitable for graphing with grafana's heatmap plugin.
 | 
						|
.TP
 | 
						|
\fB--sum-histogram-buckets\fR, \fB-s\fR
 | 
						|
Accumulates bucket values. By default, the values are not accumulated and
 | 
						|
the raw data appears as shown by \fBzpool iostat\fR. This works well for
 | 
						|
grafana's heatmap plugin. Summing the buckets produces output similar to
 | 
						|
prometheus histograms.
 | 
						|
.TP
 | 
						|
\fB--tags\fR, \fB-t\fR
 | 
						|
Adds specified tags to the tag set. Tags are key=value pairs and multiple
 | 
						|
tags are separated by commas. No sanity checking is performed.
 | 
						|
See the InfluxDB Line Protocol format documentation for details on escaping
 | 
						|
special characters used in tags.
 | 
						|
.TP
 | 
						|
\fB\--help\fR, \fB\-h\fR
 | 
						|
Print a usage summary.
 | 
						|
 | 
						|
.SH SEE ALSO
 | 
						|
.LP
 | 
						|
\fBzpool-status\fR(8)
 | 
						|
\fBzpool-iostat\fR(8)
 | 
						|
.PP
 | 
						|
Influxdb https://github.com/influxdata/influxdb
 | 
						|
.PP
 | 
						|
Telegraf https://github.com/influxdata/telegraf
 | 
						|
.PP
 | 
						|
Grafana https://grafana.com
 | 
						|
.PP
 | 
						|
Prometheus https://prometheus.io
 |