ServerMon

Docs

Requirements

  • PHP 8.0 or greater
  • MySQL server (MariaDB recommended)
  • Nginx or Apache with mod_rewrite module
  • HTTPS support (recommended)

Installation

  1. Create an empty database and an associated database user
  2. Upload all project files to your server (don’t forget the hidden files)
  3. Configure your webserver by pointing the document root to the /public directory
  4. Start the installer and call yourdomain.com/install in your browser
  5. Install the cronjob (go to settings -> cronjob)

Beanstalkd queue driver

By default ServerMon uses the database as queue driver. This works and is also very compatible, but also causes problems (table deadlocks). After installation, we recommend switching to Beanstalkd. It is a very lightweight and fast queue driver.

Installation and setup:

  1. Install Beanstalkd (https://beanstalkd.github.io/download.html)
  2. Make sure it’s started (listen port 11300) and you set it to autostart.
  3. Go to settings -> general page and activate beanstalkd. Ready!

Browser Support for PWA and WebPush

PWA – caniuse.com
WebPush – caniuse.com

Own metrics

To begin with, we would like to refer to our official plugins. With them you can expand your servermon system with many useful metrics. Otherwise, you can use your own scripts. Use the following format:

				
					echo "Status;Name;Value;Text" >> /opt/servermon/tmp/custom.data

-Status: 0/1(okay/error)
-Name: Name of this metric
-Value: number value (e.g. 25 or 1500.50)
-Text: Send special messages (use "-" for nothing)

Example:
echo "0;NGINX requests/s;258;-" >> /opt/servermon/tmp/custom.data
echo "1;REDIS server;0;REDIS not running" >> /opt/servermon/tmp/custom.data
				
			

Write all custom metrics line by line in the custom.data file. Our server agent will parse them automatically. The dashboard supports custom alerts for status and value.