mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-08-02 06:08:23 +00:00
[systemd_units] Rename, remove unused mode logic and cleanup syntax
Signed-off-by: Olivier Mehani <shtrom@ssji.net>
This commit is contained in:
parent
ef80db4bc1
commit
b31b861f1c
1 changed files with 15 additions and 25 deletions
87
plugins/system/systemd_units
Executable file
87
plugins/system/systemd_units
Executable file
|
@ -0,0 +1,87 @@
|
|||
#!/bin/sh
|
||||
# -*- sh -*-
|
||||
|
||||
: << =cut
|
||||
|
||||
=head1 NAME
|
||||
|
||||
systemd - Plugin to monitor systemd units state
|
||||
|
||||
=head1 APPLICABLE SYSTEMS
|
||||
|
||||
Linux systems with systemd installed.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
None needed.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Olivier Mehani <shtrom+munin@ssji.net>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
GPLv2
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
=cut
|
||||
|
||||
states="active \
|
||||
reloading \
|
||||
inactive \
|
||||
failed \
|
||||
activating \
|
||||
deactivating"
|
||||
autoconf() {
|
||||
which systemctl >/dev/null && \
|
||||
systemctl --state=failed --no-pager --no-legend >/dev/null 2>&1 && echo yes || echo "no (No systemctl or error running it)"
|
||||
}
|
||||
|
||||
config () {
|
||||
cat << EOF
|
||||
graph_title Systemd units state
|
||||
graph_args -l 0
|
||||
graph_category system
|
||||
graph_scale no
|
||||
graph_vlabel units
|
||||
EOF
|
||||
for state in $states; do
|
||||
echo "$state.label $state"
|
||||
echo "$state.draw AREASTACK"
|
||||
if [ "$state" = "failed" ]; then
|
||||
echo "$state.warning 0"
|
||||
echo "$state.critical 10"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
fetch () {
|
||||
tmp=$(mktemp -t munin-systemd_units.XXXXXX)
|
||||
trap "rm \"$tmp\"" EXIT
|
||||
systemctl --no-pager --no-legend --all | awk '{print $1, $3}' > "$tmp"
|
||||
for state in \
|
||||
$states ; do
|
||||
echo -n "$state.value "
|
||||
grep -c "$state$" "$tmp"
|
||||
extinfo=$(grep "$state$" "$tmp" | cut -d " " -f 1)
|
||||
if [ -n "$extinfo" ]; then
|
||||
echo "$state.extinfo" $extinfo
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
case $1 in
|
||||
"autoconf")
|
||||
autoconf
|
||||
;;
|
||||
"config")
|
||||
config
|
||||
;;
|
||||
*)
|
||||
fetch
|
||||
;;
|
||||
esac
|
Loading…
Add table
Add a link
Reference in a new issue