eZ Server Monitor

A lightweight and simple dashboard monitor for Linux

eSM`sh - Documentation


Requirements

To use eSM`sh, you must have :

  • a Linux environment
  • CURL or WGET package installed
  • hddtemp and lm-sensors packages installed (optional)


Installation

After downloading the latest version of eSM`sh, unzip the archive :

wget --content-disposition http://www.ezservermonitor.com/esm-sh/downloads/version/2.2
unzip ezservermonitor-sh_v2.2.zip

Then add the execute permission for the user on the file :

chmod u+x eZServerMonitor.sh

To run the script :

./eZServerMonitor.sh

Options

By default, eSM`sh displays help with the list of available options:

  • -h, -u, --help or --usage : print help message
  • -v or --version : print script version number
  • -C or --clear : clear console (must be inserted before any argument)
  • -a or --all : print all datas
  • -s or --system : system information (OS and distro ; kernel ; hostname ; uptime ; users connected; last boot; datetime)
  • -e or --services : checks port number
  • -n or --network : network information (IP LAN ; IP WAN)
  • -p or --ping : pings several hosts (can be configured in the file)
  • -c or --cpu : processor information (model ; frequency ; cache ; bogomips)
  • -m or --memory : RAM information (free and total)
  • -l or --load : system load ; processus
  • -t or --temperatures : print CPU, system and HDD temperatures (optional ; can be configured in the file)
  • -d or --disk : disk space (top 5) ; sorted by alpha


For a simple usage, type this command line in your console :

./eZServerMonitor.sh -Ca

or

./eZServerMonitor.sh --clear --all

Usage

You can use eSM`sh directly. However, you can set some features.

The settings are located at the beginning of the file:

# ************************************************************ #
# *                        [ CONFIG ]                        * #
# ************************************************************ #

# Disk usage - Show or hide virtual mountpoints (tmpfs)
DISK_SHOW_TMPFS=true

# Service who returns WAN IP
GET_WAN_IP="http://www.ezservermonitor.com/myip"

# Hosts to ping
PING_HOSTS=("google.com" "free.fr" "orange.fr")

# Services port number to check
# syntax : 
#   SERVICES_NAME[port_number]="label"
#   SERVICES_HOST[port_number]="localhost"
SERVICES_NAME[21]="FTP Server"
SERVICES_HOST[21]="localhost"

SERVICES_NAME[22]="SSH"
SERVICES_HOST[22]="localhost"

SERVICES_NAME[80]="Web Server"
SERVICES_HOST[80]="localhost"

SERVICES_NAME[3306]="Database"
SERVICES_HOST[3306]="localhost"

# Temperatures blocks (true for enable)
TEMP_ENABLED=false

Disk usage : show or hide virtual mountpoints

You can show or hide virtual mountpoints in Disk usage section. To hide these mountpoints, just set the DISK_SHOW_TMPFS to false.

# Disk usage - Show or hide virtual mountpoints (tmpfs)
DISK_SHOW_TMPFS=true

Service to get WAN IP

To get the external IP address, the service used is specified in the variable GET_WAN_IP. The script uses the library cURL to retrieve the result of the page. In case cURL is not installed, the script uses wget.

Hosts to ping

The script allows you to ping multiple IP addresses to display the response time. Here you can set the different websites to ping:

# Hosts to ping
PING_HOSTS=("imdb.com" "google.com")

Services

Like the web version of eZ Server Monitor, you can check the status of several services. The SERVICES arrays allows you to add a service.

There are two arrays : one to specify the service name and the other to specify the host to check.

The first array is called SERVICES_NAME. The key is the port number of the service to check and the value is its informative name.
Example: SERVICES_NAME[80]="Web Server"

The second array is called SERVICES_HOST. The key is the same port number and the value is the host name to check.
Example: SERVICES_HOST[80]="localhost"

# Services port number to check
# syntax : 
#   SERVICES_NAME[port_number]="label"
#   SERVICES_HOST[port_number]="localhost"
SERVICES_NAME[21]="FTP Server"
SERVICES_HOST[21]="localhost"

SERVICES_NAME[22]="SSH"
SERVICES_HOST[22]="localhost"

SERVICES_NAME[80]="Web Server"
SERVICES_HOST[80]="localhost"

SERVICES_NAME[3306]="Database"
SERVICES_HOST[3306]="localhost"

Temperatures

The script displays the temperature of hard drives and the system (motherboard and CPU). For this, you have to install hddtemp and lm-sensors packages.
If you are running on Raspberry Pi with Raspbian distro, you don't need lm-sensors package.

To enable the display of this information, set the variable TEMP_ENABLED to true:

# Temperatures blocks (true for enable)
TEMP_ENABLED=false
Go to top