ZFS Telegraf 输入插件

免费使用此 InfluxDB 集成

ZFS 既是卷管理器也是文件系统。这意味着它管理硬盘和磁盘上的物理存储,也管理存储在那里的文件。它使用分层缓存来读写,以便更快地找到数据并提高性能。此插件收集 ZFS 文件系统的指标,并支持 Linux 和 FreeBSD 操作系统。

为什么使用 ZFS 的 Telegraf 插件?

ZFS Telegraf 输入插件从 ZFS 文件系统中获取指标。它让您收集诸如缓存命中和缓存未命中次数、缓存大小、内存低时的计数等统计信息。收集这些指标可以让您监视 ZFS 文件系统的状态。这使您能够了解计算机的健康状况。您可以使用 Telegraf 将数据发送到 InfluxDB 或您选择的端点,以分析随时间推移的性能,或设置当内存过低时的警报。

如何使用 Telegraf 插件监控 ZFS

如果您使用的是 Linux 机器,您可以指定您的 ZFS kstat 路径或使用默认值
kstatPath = "/proc/spl/kstat/zfs"
在 FreeBSD 机器上不需要指定路径。默认情况下,此插件收集所有 ZFS 指标,这些指标在 Linux 和 FreeBSD 系统中不同。对于 Linux,默认值为
kstatMetrics = ["arcstats", "zfetchstats", "vdev_cache_stats"]
而对于 FreeBSD,默认值为
kstatMetrics = ["abdstats", "arcstats", "dnodestats", "dbufcachestats", "dmu_tx", "fm", "vdev_mirror_stats", "zfetchstats", "zil"]
您可以通过将 kstatMetrics 数组设置为要收集的统计信息的列表来覆盖此值。ZFS Telegraf 输入插件默认不收集 zpool 统计数据,但您可以设置
poolMetrics = true
来更改此值。它也不收集数据集统计信息,除非您设置
datasetMetrics = true
在 FreeBSD 机器上,如果您已在池属性中启用了 listsnapshots,Telegraf 可能会在此输出读取时出现问题。

用于监控的关键 ZFS 指标

您应主动监控的一些重要 ZFS 指标包括

ARC 统计(FreeBSD 和 Linux)
  • arcstats_allocated(FreeBSD 仅限)
  • arcstats_anon_evict_data(Linux 仅限)
  • arcstats_anon_evict_metadata(Linux 仅限)
  • arcstats_anon_evictable_data(FreeBSD 仅限)
  • arcstats_anon_evictable_metadata(FreeBSD 仅限)
  • arcstats_anon_size
  • arcstats_arc_loaned_bytes(Linux 仅限)
  • arcstats_arc_meta_limit
  • arcstats_arc_meta_max
  • arcstats_arc_meta_min(FreeBSD 仅限)
  • arcstats_arc_meta_used
  • arcstats_arc_no_grow(Linux 仅限)
  • arcstats_arc_prune(Linux 仅限)
  • arcstats_arc_tempreserve(Linux 仅限)
  • arcstats_c
  • arcstats_c_max
  • arcstats_c_min
  • arcstats_data_size
  • arcstats_deleted
  • arcstats_demand_data_hits
  • arcstats_demand_data_misses
  • arcstats_demand_hit_predictive_prefetch(FreeBSD 仅限)
  • arcstats_demand_metadata_hits
  • arcstats_demand_metadata_misses
  • arcstats_duplicate_buffers
  • arcstats_duplicate_buffers_size
  • arcstats_duplicate_reads
  • arcstats_evict_l2_cached
  • arcstats_evict_l2_eligible
  • arcstats_evict_l2_ineligible
  • arcstats_evict_l2_skip(FreeBSD 仅限)
  • arcstats_evict_not_enough(FreeBSD 仅限)
  • arcstats_evict_skip
  • arcstats_hash_chain_max
  • arcstats_hash_chains
  • arcstats_hash_collisions
  • arcstats_hash_elements
  • arcstats_hash_elements_max
  • arcstats_hdr_size
  • arcstats_hits
  • arcstats_l2_abort_lowmem
  • arcstats_l2_asize
  • arcstats_l2_cdata_free_on_write
  • arcstats_l2_cksum_bad
  • arcstats_l2_compress_failures
  • arcstats_l2_compress_successes
  • arcstats_l2_compress_zeros
  • arcstats_l2_evict_l1cached (仅限FreeBSD)
  • arcstats_l2_evict_lock_retry
  • arcstats_l2_evict_reading
  • arcstats_l2_feeds
  • arcstats_l2_free_on_write
  • arcstats_l2_hdr_size
  • arcstats_l2_hits
  • arcstats_l2_io_error
  • arcstats_l2_misses
  • arcstats_l2_read_bytes
  • arcstats_l2_rw_clash
  • arcstats_l2_size
  • arcstats_l2_write_buffer_bytes_scanned (仅限FreeBSD)
  • arcstats_l2_write_buffer_iter (仅限FreeBSD)
  • arcstats_l2_write_buffer_list_iter (仅限FreeBSD)
  • arcstats_l2_write_buffer_list_null_iter (仅限FreeBSD)
  • arcstats_l2_write_bytes
  • arcstats_l2_write_full (仅限FreeBSD)
  • arcstats_l2_write_in_l2 (仅限FreeBSD)
  • arcstats_l2_write_io_in_progress (仅限FreeBSD)
  • arcstats_l2_write_not_cacheable (仅限FreeBSD)
  • arcstats_l2_write_passed_headroom (仅限FreeBSD)
  • arcstats_l2_write_pios (仅限FreeBSD)
  • arcstats_l2_write_spa_mismatch (仅限FreeBSD)
  • arcstats_l2_write_trylock_fail (仅限FreeBSD)
  • arcstats_l2_writes_done
  • arcstats_l2_writes_error
  • arcstats_l2_writes_hdr_miss (仅限Linux)
  • arcstats_l2_writes_lock_retry (仅限FreeBSD)
  • arcstats_l2_writes_sent
  • arcstats_memory_direct_count (仅限Linux)
  • arcstats_memory_indirect_count (仅限Linux)
  • arcstats_memory_throttle_count
  • arcstats_meta_size (仅限Linux)
  • arcstats_mfu_evict_data (仅限Linux)
  • arcstats_mfu_evict_metadata (仅限Linux)
  • arcstats_mfu_ghost_evict_data (仅限Linux)
  • arcstats_mfu_ghost_evict_metadata (仅限Linux)
  • arcstats_metadata_size (仅限FreeBSD)
  • arcstats_mfu_evictable_data (仅限FreeBSD)
  • arcstats_mfu_evictable_metadata (仅限FreeBSD)
  • arcstats_mfu_ghost_evictable_data (仅限FreeBSD)
  • arcstats_mfu_ghost_evictable_metadata (仅限FreeBSD)
  • arcstats_mfu_ghost_hits
  • arcstats_mfu_ghost_size
  • arcstats_mfu_hits
  • arcstats_mfu_size
  • arcstats_misses
  • arcstats_mru_evict_data (仅限Linux)
  • arcstats_mru_evict_metadata (仅限Linux)
  • arcstats_mru_ghost_evict_data (仅限Linux)
  • arcstats_mru_ghost_evict_metadata (仅限Linux)
  • arcstats_mru_evictable_data (仅限FreeBSD)
  • arcstats_mru_evictable_metadata (仅限FreeBSD)
  • arcstats_mru_ghost_evictable_data (仅限FreeBSD)
  • arcstats_mru_ghost_evictable_metadata (仅限FreeBSD)
  • arcstats_mru_ghost_hits
  • arcstats_mru_ghost_size
  • arcstats_mru_hits
  • arcstats_mru_size
  • arcstats_mutex_miss
  • arcstats_other_size
  • arcstats_p
  • arcstats_prefetch_data_hits
  • arcstats_prefetch_data_misses
  • arcstats_prefetch_metadata_hits
  • arcstats_prefetch_metadata_misses
  • arcstats_recycle_miss (仅限Linux)
  • arcstats_size
  • arcstats_sync_wait_for_async (仅限FreeBSD)
Zfetch 统计信息 (FreeBSD和Linux)
  • zfetchstats_bogus_streams (仅限Linux)
  • zfetchstats_colinear_hits (仅限Linux)
  • zfetchstats_colinear_misses (仅限Linux)
  • zfetchstats_hits
  • zfetchstats_max_streams (仅限FreeBSD)
  • zfetchstats_misses
  • zfetchstats_reclaim_failures (仅限Linux)
  • zfetchstats_reclaim_successes (仅限Linux)
  • zfetchstats_streams_noresets (仅限Linux)
  • zfetchstats_streams_resets (仅限Linux)
  • zfetchstats_stride_hits (仅限Linux)
  • zfetchstats_stride_misses (仅限Linux)
Vdev 缓存统计信息 (FreeBSD)
  • vdev_cache_stats_delegations
  • vdev_cache_stats_hits
  • vdev_cache_stats_misses
池指标(可选)

在Linux上(参考:kstat 累积时间和队列长度统计)

  • zfs_pool
    • nread (整数,字节)
    • nwritten (整数,字节)
    • reads (整数,计数)
    • writes (整数,计数)
    • wtime (整数,纳秒)
    • wlentime (整数,队列长度 * 纳秒)
    • wupdate (整数,时间戳)
    • rtime (整数,纳秒)
    • rlentime (整数,队列长度 * 纳秒)
    • rupdate (整数,时间戳)
    • wcnt (整数,计数)
    • rcnt (整数,计数)

对于 ZFS >= 2.1.x,格式已发生显著变化

  • zfs_pool
    • writes (整数,计数)
    • nwritten (整数,字节)
    • reads (整数,计数)
    • nread (整数,字节)
    • nunlinks(整数,计数)
    • nunlinked(整数,计数)

在 FreeBSD 上:

  • zfs_pool
    • allocated(整数,字节)
    • capacity(整数,字节)
    • dedupratio(浮点数,比率)
    • free(整数,字节)
    • size(整数,字节)
    • fragmentation(整数,百分比)
数据集指标(可选,仅限 FreeBSD)
  • zfs_dataset
    • avail(整数,字节)
    • used(整数,字节)
    • usedsnap(整数,字节)
    • usedds(整数,字节)
标签
  • ZFS 统计信息(zfs)将具有以下标签
    • pools - 机器上所有 ZFS 池的 :: 连接列表。
    • datasets - 机器上所有 ZFS 数据集的 :: 连接列表。
  • 池指标(zfs_pool)将具有以下标签
    • pool - 指标所属池的名称。
    • health - 池的健康状态。 (仅限 FreeBSD)
    • dataset - 仅限 ZFS >= 2.1.x。 (仅限 Linux)
  • 数据集指标(zfs_dataset)将具有以下标签
    • dataset - 指标所属数据集的名称。
有关更多信息,请参阅文档

项目 URL   文档

相关资源

InfluxDb-cloud-logo

最强大的时序数据库服务
作为服务

免费开始
Influxdbu

开发者教育

时序应用开发者培训。

查看所有教育