mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
Added new non Ruby based Unicorn Plugin
The existing Unicorn plugins are written in Ruby, which didn't work well for me due to ENV variables etc. This plugin monitors number of workers, total memory used and average memory per process for Unicorn. 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 It can easily be adapated to any multi threaded server by just changing the value it searches for 'unicorn worker' in this case.
This commit is contained in:
parent
dc75b52a7d
commit
2812f751f0
56
plugins/unicorn/unicorn_
Normal file
56
plugins/unicorn/unicorn_
Normal file
@ -0,0 +1,56 @@
|
||||
|
||||
#!/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 Unicorn Memory"
|
||||
echo "graph_vlabel RAM"
|
||||
echo "graph_category Unicorn"
|
||||
echo "graph_args --base 1024"
|
||||
echo "ram.label RAM"
|
||||
exit 0
|
||||
else
|
||||
echo -n "ram.value "
|
||||
ps awwwux | grep 'unicorn worker' | grep -v grep | awk '{total_mem = $6 * 1024 + total_mem; total_proc++} END{printf("%d\n", total_mem / total_proc)}'
|
||||
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" = "average" ]; then
|
||||
echo 'graph_title Unicorn Average Process Size'
|
||||
echo 'graph_args --base 1024 -l 0 '
|
||||
echo 'graph_vlabel Unicorn Average Process Size'
|
||||
echo 'graph_category Unicorn'
|
||||
echo 'php_average.label Unicorn Average Proccess Size'
|
||||
echo 'php_average.draw LINE2'
|
||||
echo 'php_average.info The average process size for Unicorn'
|
||||
else
|
||||
echo -n "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
|
Loading…
Reference in New Issue
Block a user