From eec974c5103f3484c2116f8db6d849e517601e8d Mon Sep 17 00:00:00 2001 From: Gareth Davies Date: Fri, 14 Jun 2013 02:13:49 +0800 Subject: [PATCH] Added symlinks to enable the plugin in the header comments. --- plugins/unicorn/unicorn_ | 132 ++++++++++++++++++++------------------- 1 file changed, 69 insertions(+), 63 deletions(-) diff --git a/plugins/unicorn/unicorn_ b/plugins/unicorn/unicorn_ index 74a7e30a..f54cfb3e 100644 --- a/plugins/unicorn/unicorn_ +++ b/plugins/unicorn/unicorn_ @@ -1,63 +1,69 @@ -#!/bin/bash -# Copyright (c) 2013 Gareth Davies (shaolintiger@gmail.com www.shaolintiger.com) -# License GPLv2 - -mode=`echo $0 | cut -d _ -f 2` - -if [ "$1" = "suggest" ]; then - echo "memory" - echo "processes" - echo "average" - exit 0 -fi - -if [ "$mode" = "memory" ]; then - if [ "$1" = "config" ]; then - echo "graph_title Total Unicorn Memory" - echo "graph_vlabel Total RAM" - echo "graph_category Unicorn" - echo "graph_args --base 1024" - echo "ram.label Total RAM" - exit 0 - else - - memory_array=(`ps auwx | grep "unicorn worker" | grep -v grep | awk '{print $6 }'`) - - for i in "${memory_array[@]}" - do - sum=$(( $sum + ( $i * 1024) )) - done - echo -n "ram.value " - echo $sum - - fi - -elif [ "$mode" = "processes" ]; then - if [ "$1" = "config" ]; then - echo "graph_title Unicorn Processes" - echo "graph_vlabel Processes" - echo "graph_category Unicorn" - echo "processes.label active processes" - else - echo -n "processes.value " - ps awwwux | grep 'unicorn worker' | grep -v grep | wc -l - exit 0 - fi - -elif [ "$mode" = "average" ]; then - if [ "$1" = "config" ]; then - echo 'graph_title Unicorn Average Process Size' - echo 'graph_args --base 1024 -l 0 ' - echo 'graph_vlabel Average Process Size' - echo 'graph_category Unicorn' - echo 'unicorn_average.label Average Process Size' - echo 'unicorn_average.draw LINE2' - echo 'unicorn_average.info The average process size for Unicorn' - else - echo -n "unicorn_average.value " - ps awwwux | grep 'unicorn worker' | grep -v grep | grep -v master | awk '{total_mem = $6 * 1024 + total_mem; total_proc++} END{printf("%d\n", total_mem / total_proc)}' - exit 0 - fi - -fi -exit 0 +#!/bin/bash +# Copyright (c) 2013 Gareth Davies (shaolintiger@gmail.com www.shaolintiger.com) +# License GPLv2 +# This plugin monitors number of workers, total memory used and average memory per process for Unicorn. +# Here are the symlinks to enable it +# +# ln -s /usr/share/munin/plugins/unicorn_ /etc/munin/plugins/unicorn_average +# ln -s /usr/share/munin/plugins/unicorn_ /etc/munin/plugins/unicorn_memory +# ln -s /usr/share/munin/plugins/unicorn_ /etc/munin/plugins/unicorn_processes + +mode=`echo $0 | cut -d _ -f 2` + +if [ "$1" = "suggest" ]; then + echo "memory" + echo "processes" + echo "average" + exit 0 +fi + +if [ "$mode" = "memory" ]; then + if [ "$1" = "config" ]; then + echo "graph_title Total Unicorn Memory" + echo "graph_vlabel Total RAM" + echo "graph_category Unicorn" + echo "graph_args --base 1024" + echo "ram.label Total RAM" + exit 0 + else + + memory_array=(`ps auwx | grep "unicorn worker" | grep -v grep | awk '{print $6 }'`) + + for i in "${memory_array[@]}" + do + sum=$(( $sum + ( $i * 1024) )) + done + echo -n "ram.value " + echo $sum + + fi + +elif [ "$mode" = "processes" ]; then + if [ "$1" = "config" ]; then + echo "graph_title Unicorn Processes" + echo "graph_vlabel Processes" + echo "graph_category Unicorn" + echo "processes.label active processes" + else + echo -n "processes.value " + ps awwwux | grep 'unicorn worker' | grep -v grep | wc -l + exit 0 + fi + +elif [ "$mode" = "average" ]; then + if [ "$1" = "config" ]; then + echo 'graph_title Unicorn Average Process Size' + echo 'graph_args --base 1024 -l 0 ' + echo 'graph_vlabel Average Process Size' + echo 'graph_category Unicorn' + echo 'unicorn_average.label Average Process Size' + echo 'unicorn_average.draw LINE2' + echo 'unicorn_average.info The average process size for Unicorn' + else + echo -n "unicorn_average.value " + ps awwwux | grep 'unicorn worker' | grep -v grep | grep -v master | awk '{total_mem = $6 * 1024 + total_mem; total_proc++} END{printf("%d\n", total_mem / total_proc)}' + exit 0 + fi + +fi +exit 0