This project migrated to https://github.com/nozel-org/freebsd-serverbot and is unmaintained.
Serverbot is a simple and small (<50 kilobytes/<1500 LOC) server monitoring tool that is both easy to use and easy to extend. We found most monitoring software to be overkill for our needs and made a simplistic and lightweight alternative. It's well commented and can be easily extended or hacked to provide more features.
It offers the following features:
| Feature | Description |
|---|---|
| Overview | Outputs a rather complete server overview. |
| Metrics | Outputs server metrics like uptime, load, ram and disk. |
| Alert | Outputs whether load, ram or disk space exceeds the configured threshold. |
| Updates | Outputs available system updates. |
| EOL | Outputs whether the operating system is end-of-life. |
Aside from features, there are also different methods that can be used with the features:
| Method | Description |
|---|---|
| CLI | Feature feedback or output on the CLI. |
| Telegram | Feature feedback or output to a Telegram bot. |
Some examples from both Telegram and CLI:

Easy! But before you download software, always check its source code and/or credibility. Never trust random people on the internet ;-). If you are particularly gullible or like living on the edge, you can also skip this. To install, download serverbot.sh to your device and run bash serverbot.sh --install to install.
Some common methods of downloading the file would be:
wget https://raw.githubusercontent.com/nozel-org/serverbot/master/serverbot.sh
curl -O https://raw.githubusercontent.com/nozel-org/serverbot/master/serverbot.sh
After installing serverbot you can run serverbot as a normal command. For example serverbot --metrics --cli or the shorter notation serverbot -m -c. Parameters like automated tasks and thresholds can be configured from a central configuration file in /etc/serverbot/serverbot.conf.
serverbot --help provides a handy overview of arguments:
root@server:~# serverbot --help
Usage:
serverbot [feature]... [method]...
serverbot [option]...
Features:
--overview Show server overview
--metrics Show server metrics
--alert Show server alert status
--updates Show available server updates
--eol Show end-of-life status of operating system
Methods:
--cli Output [feature] to command line
--telegram Output [feature] to Telegram bot
Options:
--cron Effectuate cron changes from serverbot config
--validate Check validity of serverbot.conf
--install Installs serverbot on the system and unlocks all features
--upgrade Upgrade serverbot to the latest stable version
--uninstall Uninstalls serverbot from the system
--help Display this help and exit
--version Display version information and exit
For information on how to aquire a Telegram bot, look at Telegram's documentation.
If you can't figure something out, take a look at the documentation. If you can't figure it out on your own, create a issue and we'll help you when there is time. If you find bugs: please let us know!
We try to support a wide range of linux distributions. As of now, support includes most distros set to English that use dpkg (apt-get, apt), rpm (yum, dnf), systemd and bash. This should include at least the following distributions (which have been tested during developement):
| Distro name | Compatible releases |
|---|---|
| Debian GNU/Linux | 8, 9, 10 |
| Ubuntu | 14.04 LTS, 14.10, 15.04, 15.10, 16.04 LTS, 16.10, 17.04, 17.10, 18.04 LTS, 18.10, 19.04, 19.10 LTS |
| RHEL | 7, 8 |
| CentOS | 7, 8 |
| Fedora | 27, 28, 29, 30, 31 |
Note that feature eol specifically will only work on pre-defined distributions. Let us know what distro you use, and we will add full support for it as long as it meets the basic requirements of serverbot.
The below ideas are planned for future releases of serverbot.
- Add feature end-of-life that notifies when the OS is nearing EOL status (Q3 2019).
- Add feature outage that monitors the availability of remote systems and reports the status (Q1 2020).
- Add method email (Q1 2020).
- Add feature audit that audits (web)servers (TLS, security headers, firewalls, DNS records etc.) (Q2 2020)
The below ideas are unplanned for future releases of serverbot.
- Extend feature alert with SSD life expectancy.
- Extend feature alert or add feature login with realtime logins and currently logged in users.
- Extend feature alert with filesystem monitoring.
- Extend feature alert with CPU / HDD temperature monitoring.
- Extend feature alert with USB device monitoring.
- Extend feature alert with notice on shutdown and boot.
- Extend feature overview with total network traffic amount.
- Extend feature overview with logged in users.
- Add support for Alpine Linux.
- Add support for NixOS.
- Add support for FreeBSD.
- Add support for OpenBSD.
More ideas are welcome!