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
Enable DNSBL or RBL on Zimbra January 26, 2019 DNS-based Blackhole List (DNSBL) or Real-time Blackhole List (RBL) is an effort to fight spam emails. It is a blacklist of source IP addresses that have a reputation of sending spam emails. Most email systems can be configured to check these lists and block or flag emails that were sent… Read More
Install Grafna, InfluxDB, Telegraf for Jitsi Video Meet Monitoring on Debian 10 June 18, 2020 Step 1: Install InfluxDB apt update && apt install -y gnupg2 curl wget wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add – echo “deb https://repos.influxdata.com/debian buster stable” | sudo tee /etc/apt/sources.list.d/influxdb.list apt update && apt install influxdb -y systemctl enable –now influxdb systemctl status influxdb If you run a firewall (i.e…. Read More
Vertical CSS menu August 16, 2009 In this tutorial you will learn the basics of creating simple vertical menus for your website using only HTML /and CSS. Our menus are actually HTML unordered list elements <ul> styled using CSS, giving them background color, margin, padding and other CSS attributives. Related Read More