Nagios- Memory Check Plugin Rumi, January 6, 2013January 6, 2013 Dave the below code as check_mem.sh using nano and chmod it to +x. (file to be saved inside nagios libexec- such as /usr/local/nagios/libexec/check_mem.sh #!/bin/sh # Determine memory usage percentage on Linux servers. # Original write for RHEL3 for PC1 Project – jlightner 05-Jul-2005 # # Modified for RHEL5 on mailservers. # -Some of the escapes previously required for RHEL3's ksh not needed on RHEL5. # -Changed comparisons to allow for decimal rather than integer values. # jlightner 23-Jan-2009 # # Usage: check_mem.sh WARNING CRITICAL # Where WARNING and CRITICAL are the integer only portions of the # percentage for the level desired. # (i.e. 85% Warning & 95% Critical should be input only as "85 95".) # Define Levels based on input # WARNLEVEL=$1 CRITLEVEL=$2 # Setup standard Nagios/NRPE return codes # UNKNOWN_STATE=3 CRITICAL_STATE=2 WARNING_STATE=1 OK_STATE=0 # Give full paths to commands – Nagios can't determine location otherwise # BC=/usr/bin/bc GREP=/bin/grep AWK=/bin/awk FREE=/usr/bin/free TAIL=/usr/bin/tail HEAD=/usr/bin/head # Get memory information from the "free" command – output of top two lines # looks like: # total used free shared buffers cached # Mem: 8248768 6944444 1304324 0 246164 5647524 # The set command will get everything from the second line and put it into # posiional variables $1 through $7. # set `$FREE |$HEAD -2 |$TAIL -1` # Now give variable names to the positional variables we set above # MEMTOTAL=$2 MEMUSED=$3 MEMFREE=$4 MEMBUFFERS=$6 MEMCACHED=$7 # Do calculations based on what we got from free using the variables defined # REALMEMUSED=`echo $MEMUSED – $MEMBUFFERS – $MEMCACHED | $BC` USEPCT=`echo "scale=3; $REALMEMUSED / $MEMTOTAL * 100" |$BC -l` #USEPCT=`echo scale=3 "\n" $REALMEMUSED \/ $MEMTOTAL \* 100 |$BC -l |$AWK -F\. '{print $1}'` # Compare the Used percentage to the Warning and Critical levels input at # command line. Issue message and set return code as appropriate for each # level. Nagios web page will use these to determine alarm level and message. # #if [ `echo "5.0 > 5" |bc` -eq 1 ] #then echo it is greater #else echo it is not greater #fi if [ `echo "$USEPCT > $CRITLEVEL" |bc` -eq 1 ] then echo "CRITICAL – Memory usage is ${USEPCT}%" exit ${CRITICAL_STATE} elif [ `echo "$USEPCT > $WARNLEVEL" |bc` -eq 1 ] then echo "WARNING – Memory usage is ${USEPCT}%" exit ${WARNING_STATE} elif [ `echo "$USEPCT < $WARNLEVEL" |bc` -eq 1 ] then echo "OK – Memory usage is ${USEPCT}%" exit ${OK_STATE} else echo "Unable to determine memory usage." exit ${UNKNOWN_STATE} fi echo "Unable to determine memory usage." exit ${UNKNOWN_STATE} Then in nrpe.cfg or if you're using icinga place it in the command.cfg file on each host I have something like: # MEMORY Check # check_mem <WARN%> <CRIT%> = MEMORY at defined warning and critical use %. command[check_mem]=/usr/local/nagios/libexec/check_mem.sh 85 95 On your Nagios master you would then need to modify service.cfg to include something like: define service{ use generic-service host_name BILLYBOB service_description # Memory Use Pct contact_groups ux-admins, noc-op check_command check_nrpe!check_mem } Src: http://www.linuxquestions.org/questions/linux-software-2/nagios-check-ram-usage-on-remote-server-747531/ Related Administrations Configurations (Linux) Scripts icingaNagiosNRPE
Observium Unix Agent May 25, 2020 All Agent data is pulled in one TCP connection during the unix-agent module. The module populates an $agent_data array which can be used by other modules. For example: $agent_data = [‘app’] => [‘apache’] => … DATA … [‘bind’] => … DATA … [‘other’] => … DATA … Installation The preferred method of… Read More
Install Mydumper Myloader on Centos 7 June 11, 2020July 4, 2020 If you want to execute logical backups using an alternative to mysqldump that works with parallel threads giving faster execution times mydumper is the correct tool. wget https://github.com/maxbube/mydumper/releases/download/v0.9.5/mydumper-0.9.5-2.el7.x86_64.rpm In order to use mydumper and myloader you can use the following sample commands: For dumping/exporting database: mydumper -u <username> -p <password>… Read More
Linux Distributions September 20, 2011 A must read to learn and know the origins of different flavors of Linux distros. You'l end up wondering 'why didn't I notice this before?…' 🙂 http://en.wikipedia.org/wiki/List_of_Linux_distributions http://www.webmin.com/support.html Related Read More