mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-22 14:16:00 +00:00
Merge pull request #750 from shtrom/file_length_
[file_length_] A versatile plugin to count the lines in specified files
This commit is contained in:
commit
e0f6a97af7
1 changed files with 74 additions and 0 deletions
74
plugins/system/file_length_
Executable file
74
plugins/system/file_length_
Executable file
|
@ -0,0 +1,74 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
: << =cut
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
file_length_ - Plugin to monitor the length of specified files
|
||||||
|
|
||||||
|
Useful for things such as lists (white, black, user, ...).
|
||||||
|
|
||||||
|
=head1 CONFIGURATION
|
||||||
|
|
||||||
|
[file_length_IDENTIFIER]
|
||||||
|
env.files FILEPATHGLOB1 FILEPATHGLOB2 ...
|
||||||
|
env.category DEFAULTS_TO_system
|
||||||
|
env.title OPTIONAL_TITLE
|
||||||
|
env.logarithmic 1
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Olivier Mehani <shtrom+munin@ssji.net> (based on disk/log_sizes)
|
||||||
|
|
||||||
|
=head1 LICENSE
|
||||||
|
|
||||||
|
GPLv2
|
||||||
|
|
||||||
|
=head1 MAGIC MARKERS
|
||||||
|
|
||||||
|
#%# family=manual
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
# needs shellcheck -x /usr/share/munin/plugins/plugin.sh
|
||||||
|
# shellcheck source=/usr/share/munin/plugins/plugin.sh
|
||||||
|
. "$MUNIN_LIBDIR/plugins/plugin.sh"
|
||||||
|
|
||||||
|
NAME=$(echo "$0" | sed 's/.*_//')
|
||||||
|
TITLE=${title:-File lengths for $NAME}
|
||||||
|
CATEGORY=${category:-system}
|
||||||
|
|
||||||
|
FILES=${files:-/var/log/messages}
|
||||||
|
# we want globbing to happen here
|
||||||
|
# shellcheck disable=SC2116 disable=SC2086
|
||||||
|
FILES=$(echo $FILES)
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$1" = "config" ] ; then
|
||||||
|
# shellcheck disable=SC2154
|
||||||
|
if [ "${logarithmic}" = "1" ]; then
|
||||||
|
graph_args="-o"
|
||||||
|
else
|
||||||
|
graph_args="-l 0"
|
||||||
|
fi
|
||||||
|
cat <<EOF
|
||||||
|
graph_title ${TITLE}
|
||||||
|
graph_args ${graph_args} --base 1000
|
||||||
|
graph_category ${CATEGORY}
|
||||||
|
graph_info This graph shows the length of ${FILES}
|
||||||
|
graph_vlabel length (lines)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
for F in $FILES; do
|
||||||
|
MF=$(clean_fieldname "$F")
|
||||||
|
BF=$(basename "$F")
|
||||||
|
echo "$MF.label ${BF}"
|
||||||
|
done
|
||||||
|
|
||||||
|
else
|
||||||
|
for F in $FILES; do
|
||||||
|
MF=$(echo "$F" | sed 's/[-\/\.]/_/g')
|
||||||
|
echo "$MF.value $(wc -l < "$F")"
|
||||||
|
echo "$MF.extinfo $(stat --printf="%sB\n" "$F")"
|
||||||
|
done
|
||||||
|
fi
|
Loading…
Add table
Add a link
Reference in a new issue