#!/bin/bash #%# family=auto #%# capabilities=autoconf # Michael Grote # michael.grote ät posteo.de # Outputs the zpool fragmentation per zfs pool. # lese alle pools, sed löscht die erste zeile # entferne das %-zeichen list=$(zpool list | sed 1d | tr -d %) # wenn parameter = ... if [ "$1" = "autoconf" ]; then echo yes exit 0 fi if [ "$1" = "config" ]; then # https://superuser.com/questions/284187/bash-iterating-over-lines-in-a-variable while read -r line; do # setze label echo $line | awk '{print $1".label " $1}' # setze warn-limits echo $line | awk '{print $1".warning " 50}' echo $line | awk '{print $1".critical " 75}' done <<< "$list" # setze optionen echo 'graph_title ZFS storage pool - fragmentation' # Titelzeile echo 'graph_vlabel fragmentation in %' # Text links, hochkant echo 'graph_category fs' # Kategorie echo 'graph_info This graph shows the ZFS Pool fragmentation.' # Text über Tabelle/Infos echo 'graph_args -l 0 --upper-limit 100' # wertebegrenzer 0-100 exit 0 fi # lese jede Zeile der Variable $list # tue für jede Zeile # "echo" die Zeile, wende awk drauf, Spalte $1/$7 while read -r line; do # gebe wert aus # .value echo $line | awk '{print $1".value " $7}' done <<< "$list" exit 0