#!/bin/sh
# Copyright (c) 2011-2013 IndexData ApS, http://indexdata.com
#
# munin-pazpar2-memory - munin plugin for pazpar2 crash log
#
# usage: /etc/munin/plugins/pazpar2-crash [ config ]
#
# get documentation with: perldoc /path/to/script

: << =cut

=head1 NAME

pazpar2 - Plugin to monitor pazpar2 crashes

=head1 ABOUT

Munin plugin to monitor to pazpar2 crashes
[...]

=head1 USAGE

[...]

=head1 CONFIGURATION

Configuration parameters for /etc/munin/plugin-conf.d/munin-node
if you need to override the defaults below:

 [pazpar2-crash]
   env.warning   - Generate a warning if number of crashes goes below this level
   env.critical  - Generate a critical if number of crashes goes below this level
   env.pazpar2_segv_warning   -  [...]
   env.pazpar2_segv_critical  -  [...]

=cut


PATH=/bin:/usr/bin; export PATH

config=$1

if [ "$1" = "config" ]; then
    : ${warning=1}
    : ${critical=1}
    : ${pazpar2_segv_warning=$warning}
    : ${pazpar2_segv_critical=$critical}

    cat <<EOF
graph_title Monitor pazpar2 crash log
graph_vlabel total crashes
graph_category pazpar2
graph_info Monitor pazpar2 crashes
graph_period minute
pazpar2_segv.label pazpar2 segv
pazpar2_segv.min 0
EOF

echo "pazpar2_segv.warning $pazpar2_segv_warning"
echo "pazpar2_segv.critical $pazpar2_segv_critical"

    exit 0
fi

: ${pazpar2_logfile="/var/log/pazpar2.log"}
: ${newlog="/usr/share/pazpar2-statistic/bin/newlog"}

LANG=C; export LANG

echo -n "pazpar2_segv.value "
$newlog --offset-store $pazpar2_logfile | egrep -c SIGSEGV

exit 0

