Skip to content

Commit

Permalink
Add code from shevabam/ezservermonitor-sh/pull/9 and other minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
yebo29 committed Mar 18, 2021
1 parent 7c0178a commit bdd68f9
Showing 1 changed file with 31 additions and 85 deletions.
116 changes: 31 additions & 85 deletions yamon
@@ -1,18 +1,19 @@
#!/usr/bin/env bash

# ********************************************************* #
# #
# Yet Another Server Monitor #
# #
# ******************************* #
# #
# @name Yet Another Server Monitor #
# @author ShevAbam & Yebo29 #
# @website https://github.com/yebo29/yaservermonitor #
# @created March 18, 2021 #
# @version 2.4.2 #
# #
# ********************************************************* #
# *********************************************************
#
# Yet Another Server Monitor
#
# *******************************
#
# @name Yet Another Server Monitor
# @author ShevAbam & Yebo29
# @website https://github.com/yebo29/yaservermonitor
# @fork https://github.com/shevabam/ezservermonitor-sh
# @created March 18, 2021
# @version 2.4.2
#
# *********************************************************


# ************************************************************ #
Expand Down Expand Up @@ -58,12 +59,12 @@ THEME_TITLE=WHITE_ON_GREY
# * [ VARS ] * #
# ********************************************************** #

# Constants -- DON'T TOUCH !!
# Constants
YSM_NAME="Yet Another Server Monitor"
YSM_VERSION="2.4.2"
YSM_AUTHOR="ShevAbam & Yebo29"
YSM_CREATED="03-18-2021"
YSM_URL="-"
YSM_URL="https://github.com/yebo29/yaservermonitor"
YSM_MODIFIER="yebo29"

# Colors
Expand Down Expand Up @@ -102,14 +103,8 @@ function system()
{
OS=`uname -s`

if [ -e "/usr/bin/lsb_release" ] ; then
DISTRO=`/usr/bin/lsb_release -ds`
elif [ -e "/etc/system-release" ] ; then
DISTRO=`cat /etc/system-release`
else
DISTRO=`find /etc/*-release -type f -exec cat {} \; | grep NAME | tail -n 1 | cut -d= -f2 | tr -d '"'`;
fi

[[ -f "/usr/bin/lsb_release" ]] && DISTRO=`/usr/bin/lsb_release -ds` || DISTRO=`find /etc/*-release -type f -exec cat {} \; | grep NAME | tail -n 1 | cut -d= -f2 | tr -d '"'`

HOSTNAME=`hostname`
KERNEL_INFO=`/bin/uname -r`

Expand Down Expand Up @@ -147,47 +142,23 @@ function load_average()
LOAD_1=`cat /proc/loadavg | awk '{print $1}'`
# LOAD_1_PERCENT=`echo $LOAD_1 | awk '{print 100 * $1}'`
LOAD_1_PERCENT=`echo $(($(echo $LOAD_1 | awk '{print 100 * $1}') / $CPU_NB))`
if [ $LOAD_1_PERCENT -ge 100 ] ; then
LOAD_1_PERCENT=100;
fi
[[ $LOAD_1_PERCENT -ge 100 ]] && LOAD_1_PERCENT=100

if [ $LOAD_1_PERCENT -ge 75 ] ; then
LOAD_1_COLOR=${RED}
elif [ $LOAD_1_PERCENT -ge 50 ] ; then
LOAD_1_COLOR=${YELLOW}
else
LOAD_1_COLOR=${WHITE}
fi
[[ $LOAD_1_PERCENT -ge 75 ]] && LOAD_1_COLOR=${RED} || [ $LOAD_1_PERCENT -ge 50 ] && LOAD_1_COLOR=${YELLOW} || LOAD_1_COLOR=${WHITE}

LOAD_2=`cat /proc/loadavg | awk '{print $2}'`
# LOAD_2_PERCENT=`echo $LOAD_2 | awk '{print 100 * $1}'`
LOAD_2_PERCENT=`echo $(($(echo $LOAD_2 | awk '{print 100 * $1}') / $CPU_NB))`
if [ $LOAD_2_PERCENT -ge 100 ] ; then
LOAD_2_PERCENT=100;
fi
[[ $LOAD_2_PERCENT -ge 100 ]] && LOAD_2_PERCENT=100

if [ $LOAD_2_PERCENT -ge 75 ] ; then
LOAD_2_COLOR=${RED}
elif [ $LOAD_2_PERCENT -ge 50 ] ; then
LOAD_2_COLOR=${YELLOW}
else
LOAD_2_COLOR=${WHITE}
fi
[[ $LOAD_2_PERCENT -ge 75 ]] && LOAD_2_COLOR=${RED} || [[ $LOAD_2_PERCENT -ge 50 ]] && LOAD_2_COLOR=${YELLOW} || LOAD_2_COLOR=${WHITE}

LOAD_3=`cat /proc/loadavg | awk '{print $3}'`
# LOAD_3_PERCENT=`echo $LOAD_3 | awk '{print 100 * $1}'`
LOAD_3_PERCENT=`echo $(($(echo $LOAD_3 | awk '{print 100 * $1}') / $CPU_NB))`
if [ $LOAD_3_PERCENT -ge 100 ] ; then
LOAD_3_PERCENT=100;
fi
[[ $LOAD_3_PERCENT -ge 100 ]] && LOAD_3_PERCENT=100

if [ $LOAD_3_PERCENT -ge 75 ] ; then
LOAD_3_COLOR=${RED}
elif [ $LOAD_3_PERCENT -ge 50 ] ; then
LOAD_3_COLOR=${YELLOW}
else
LOAD_3_COLOR=${WHITE}
fi
[[ $LOAD_3_PERCENT -ge 75 ]] && LOAD_3_COLOR=${RED} || [[ $LOAD_3_PERCENT -ge 50 ]] && LOAD_3_COLOR=${YELLOW} && LOAD_3_COLOR=${WHITE}

echo
makeTitle "Load Average"
Expand All @@ -208,20 +179,15 @@ function cpu()

CPU_FREQ=`cat /proc/cpuinfo | grep -i "^cpu MHz" | awk -F": " '{print $2}' | head -1`

if [ -z $CPU_FREQ ] ; then
CPU_FREQ=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`
CPU_FREQ=$(( $CPU_FREQ / 1000 ))
fi
[[ -z $CPU_FREQ ]] && CPU_FREQ=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` && CPU_FREQ=$(( $CPU_FREQ / 1000 ))

CPU_CACHE=`cat /proc/cpuinfo | grep -i "^cache size" | awk -F": " '{print $2}' | head -1`
CPU_BOGOMIPS=`cat /proc/cpuinfo | grep -i "^bogomips" | awk -F": " '{print $2}' | head -1`

echo
makeTitle "CPU"

if [ $CPU_NB -gt 1 ] ; then
echo -e "${!THEME_TEXT} Cores/Number\t ${WHITE}$CPU_NB"
fi
[[ $CPU_NB -gt 1 ]] && echo -e "${!THEME_TEXT} Cores/Number\t ${WHITE}$CPU_NB"
[[ -z $CPU_MODEL_NAME ]] && echo -e "${!THEME_TEXT} Model Name\t ${WHITE}-" || echo -e "${!THEME_TEXT} Model Name\t\t ${WHITE}$CPU_MODEL_NAME"
echo -e "${!THEME_TEXT} Model\t\t ${WHITE}$CPU_MODEL"
[[ -z $CPU_HARDWARE ]] && echo -e "${!THEME_TEXT} Hardware\t ${WHITE}-" || echo -e "${!THEME_TEXT} Hardware\t ${WHITE}$CPU_HARDWARE"
Expand Down Expand Up @@ -260,11 +226,7 @@ function memory()
# Function : network
function network()
{
if [ -e /sbin/ifconfig ]; then
INTERFACES=`/sbin/ifconfig |awk -F '[/ |: ]' '{print $1}' |sed -e '/^$/d'`
else
INTERFACES=`/sbin/ip a | sed '/^[0-9]\:/!d' | cut -d ":" -f 2 | cut -d " " -f 2`
fi
[[ -e /sbin/ifconfig ]] && INTERFACES=`/sbin/ifconfig |awk -F '[/ |: ]' '{print $1}' |sed -e '/^$/d'` || INTERFACES=`/sbin/ip a | sed '/^[0-9]\:/!d' | cut -d ":" -f 2 | cut -d " " -f 2`

echo
makeTitle "Network"
Expand All @@ -275,15 +237,8 @@ function network()
echo -e "${!THEME_TEXT} IP LAN (${INTERFACE})\t ${WHITE}$IP_LAN"
done

if [ -e "/usr/bin/curl" ] ; then
IP_WAN=`curl -s ${GET_WAN_IP}`
elif [ -e "/usr/bin/wget" ] ; then
IP_WAN=`wget ${GET_WAN_IP} -O - -o /dev/null`
else
IP_WAN="Please, install curl or wget"
fi

echo -e "${!THEME_TEXT} IP WAN\t ${WHITE}$IP_WAN"
[[ -e "/usr/bin/curl" ]] && IP_WAN=`/usr/bin/curl -s ${GET_WAN_IP}` || IP_WAN=`/usr/bin/wget ${GET_WAN_IP} -O - -o /dev/null`
[[ -z $IP_WAN ]] && echo -e "${!THEME_TEXT} IP WAN\t ${WHITE}-" || echo -e "${!THEME_TEXT} IP WAN\t ${WHITE}$IP_WAN"
}

# Function : ping
Expand All @@ -305,11 +260,7 @@ function disk_space()
{
HDD_TOP=`df -hP | head -1 | sed s/^/" "/`

if [ ${DISK_SHOW_TMPFS} = true ] ; then
HDD_DATA=`df -hPl | sed "1 d" | grep -iv "^Filesystem|Sys." | sort | sed s/^/" "/`
else
HDD_DATA=`df -hPl | sed "1 d" | grep -iv "^Filesystem|Sys." | grep -vE "^tmpfs|udev" | sort | sed s/^/" "/`
fi
[[ ${DISK_SHOW_TMPFS} = true ]] && HDD_DATA=`df -hlP | sed "1 d" | grep -iv "^Filesystem|Sys." | sort | sed s/^/" "/` || HDD_DATA=`df -hlP | sed "1 d" | grep -iv "^Filesystem|Sys." | grep -vE "^tmpfs|udev" | sort | sed s/^/" "/`

echo
makeTitle "Disk space"
Expand All @@ -329,12 +280,7 @@ function services()
HOST=${SERVICES_HOST[$PORT]}

CHECK=`(exec 3<>/dev/tcp/$HOST/$PORT) &>/dev/null; echo $?`

if [ $CHECK = 0 ] ; then
CHECK_LABEL=${WHITE}ONLINE
else
CHECK_LABEL=${RED}OFFLINE
fi
[[ $CHECK = 0 ]] && CHECK_LABEL=${WHITE}ONLINE || CHECK_LABEL=${RED}OFFLINE

echo -e "${!THEME_TEXT} $NAME ($PORT) : ${CHECK_LABEL}"
done
Expand Down

0 comments on commit bdd68f9

Please sign in to comment.