Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
monitors:xymon-apisec-gw [2020/06/09 17:04] – created hapnesbitt | monitors:xymon-apisec-gw [2020/06/09 17:16] (current) – [Changelog] hapnesbitt | ||
---|---|---|---|
Line 11: | Line 11: | ||
===== Installation ===== | ===== Installation ===== | ||
=== Client side === | === Client side === | ||
+ | Edit $XYMONCLIENTHOME/ | ||
- | === Server side === | + | Add the following to your / |
+ | [xymon-apisec-gw] | ||
+ | ENVFILE $XYMONCLIENTHOME/ | ||
+ | CMD $XYMONCLIENTHOME/ | ||
+ | LOGFILE $XYMONCLIENTHOME/ | ||
+ | INTERVAL 5m | ||
+ | |||
+ | Put the script here | ||
+ | / | ||
+ | |||
+ | chmod a+x xymon-apisec-gw.sh | ||
+ | |||
+ | |||
+ | === Server side === | ||
+ | Nothing to do except make sure the hosts.cfg lists the custom column name for the hosts with this monitor to report to. | ||
===== Source ===== | ===== Source ===== | ||
- | ==== myscript.sh ==== | + | ==== xymon-apisec-gw.sh ==== |
<hidden onHidden=" | <hidden onHidden=" | ||
< | < | ||
+ | #!/bin/sh | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | # Do whatever you need to test for something | ||
+ | IBDATAMAX=`cat /etc/my.cnf | grep ibdata | grep -o ' | ||
+ | DISKSPACE=`df -mP / | ||
+ | DISKSPACE2=`df -mP / | ||
+ | DISKSPACE3=`df -mP / | ||
+ | DISKSPACE4=`df -mP / | ||
+ | DISKSPACE5=`bc <<<" | ||
+ | DISKSPACE6=`bc <<<" | ||
+ | DISKSPACE7=`bc <<<" | ||
+ | |||
+ | |||
+ | # MySQL capacity | ||
+ | IBDATAMAX=`cat /etc/my.cnf | grep ibdata | grep -o ' | ||
+ | |||
+ | # Disk capacity threshold | ||
+ | ALERT=60 | ||
+ | ALERT2=60 | ||
+ | ALERT3=60 | ||
+ | ALERT4=75 | ||
+ | ALERT5=75 | ||
+ | ALERT6=75 | ||
+ | |||
+ | # As an example, go green if diskspace used is less than alert threshold | ||
+ | if [ $DISKSPACE -lt $ALERT ] && [ $DISKSPACE4 -lt $ALERT2 ] && [ $DISKSPACE7 -lt $ALERT3 ] | ||
+ | then | ||
+ | COLOR=green | ||
+ | echo "" | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | echo "" | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | echo " | ||
+ | echo " | ||
+ | df -mP >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | vmstat -D >> / | ||
+ | echo "" | ||
+ | |||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo "top -b -n -1 " >> / | ||
+ | top -b -n 1 >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "Top Five CPU Using Processes" | ||
+ | echo "ps auxf | sort -nr -k 3 | head -6" >> / | ||
+ | ps auxf | sort -nr -k 3 | head -6 >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | pstree >> / | ||
+ | echo "" | ||
+ | |||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | vmstat -a 5 3 >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "Free Memory" | ||
+ | echo "free -m " >> / | ||
+ | free -m >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "Top Five Memory Using Processes" | ||
+ | echo "ps auxf | sort -nr -k 4 | head -6" >> / | ||
+ | ps auxf | sort -nr -k 4 | head -6 >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "Event Counters and Memory Statistics" | ||
+ | echo " | ||
+ | vmstat -s >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo "cat / | ||
+ | cat / | ||
+ | echo "" | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo "ss -s" >> / | ||
+ | ss -s >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "ss -l" >> / | ||
+ | ss -l >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "ip route" >> / | ||
+ | ip route >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "ip -s lin" >> / | ||
+ | ip -s lin >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "ip maddr" >> / | ||
+ | ip maddr ls >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | ifconfig >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | ethtool eth0 >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | netstat -s >> / | ||
+ | echo "" | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | id >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | env >> / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | cat / | ||
+ | echo "" | ||
+ | |||
+ | echo " | ||
+ | uptime >> / | ||
+ | echo "" | ||
+ | |||
+ | MSG=" | ||
+ | |||
+ | `cat / | ||
+ | " | ||
+ | |||
+ | |||
+ | # As an example, go yellow if diskspace used is less than alert threshold | ||
+ | elif [ $DISKSPACE -lt $ALERT4 ] && [ $DISKSPACE4 -lt $ALERT5 ] && [ $DISKSPACE7 -lt $ALERT6 ] | ||
+ | then | ||
+ | COLOR=yellow | ||
+ | echo "" | ||
+ | echo -n "Your DB partition disk space is ${DISKSPACE}% used." > / | ||
+ | echo "" | ||
+ | |||
+ | echo "" | ||
+ | echo -n "Your LOG partition disk space is ${DISKSPACE4}% used." >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "" | ||
+ | echo -n "Your IBDATA is ${DISKSPACE7}% used." >> / | ||
+ | echo "" | ||
+ | |||
+ | MSG=" | ||
+ | `cat / | ||
+ | This is an early warning sytem that turns Yellow at 60% used and Red at 75% used. | ||
+ | As a fire drill, the correct functioning of this Yellow Alert can be verified by temporarily setting the Alert threshold lower. | ||
+ | " | ||
+ | |||
+ | |||
+ | else | ||
+ | COLOR=red | ||
+ | |||
+ | echo "" | ||
+ | echo -n "Your DB partition disk space is ${DISKSPACE}% used." > / | ||
+ | echo "" | ||
+ | |||
+ | echo "" | ||
+ | echo -n "Your LOG partition disk space is ${DISKSPACE4}% used." >> / | ||
+ | echo "" | ||
+ | |||
+ | echo "" | ||
+ | echo -n "Your IBDATA is ${DISKSPACE7}% used." >> / | ||
+ | echo "" | ||
+ | |||
+ | MSG=" | ||
+ | `cat / | ||
+ | This is an early warning sytem that turns Yellow at 60% used and Red at 75% used. | ||
+ | As a fire drill, the correct functioning of this Red Alert can be verified by temporarily setting the Alert threshold lower. | ||
+ | " | ||
+ | fi | ||
+ | |||
+ | # Tell Xymon about it | ||
+ | | ||
+ | | ||
+ | " | ||
+ | |||
+ | exit 0 | ||
</ | </ | ||
</ | </ | ||
Line 30: | Line 283: | ||
===== Changelog ===== | ===== Changelog ===== | ||
- | * **YYYY-MM-DD** | + | * **2020-06-09** |
* Initial release | * Initial release | ||