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

: << =cut

=head1 NAME

pazpar2 - Plugin to monitor pazpar2 memory usage

=head1 ABOUT

Munin plugin to monitor to pazpar2 memory usage
[...]

=head1 USAGE

[...]

=head1 CONFIGURATION

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

 [pazpar2-memory]
   env.warning   - Generate a warning if number of memory goes below this level
   env.critical  - Generate a critical if number of memory goes below this level
   env.pazpar2_rss_warning   -  [...]
   env.pazpar2_rss_critical  -  [...]

=cut


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

config=$1

if [ "$1" = "config" ]; then
    : ${warning=1024000000}
    : ${critical=2096000000}
    : ${pazpar2_rss_warning=$warning}
    : ${pazpar2_rss_critical=$critical}
     
    cat <<EOF
graph_title pazpar2 engine memory usage
graph_vlabel bytes
graph_category pazpar2
graph_info Memory usage of pazpar2 engine processes
graph_period minute
pazpar2_rss.label pazpar2 rss
pazpar2_rss.min 0
EOF

    echo "pazpar2_rss.warning $pazpar2_rss_warning"
    echo "pazpar2_rss.critical $pazpar2_rss_critical"
    exit 0
fi

ps xau | egrep -w pazpar2 | egrep -v egrep | awk '{ vsz += $5; rss += $6 } END { printf("pazpar2_rss.value %s\n", rss*1024) }'

