As your business grows, your resources, workforce, services, systems, and IT infrastructure also begins to grow. Hence, a performance monitoring solution becomes important to observe the health, activities, and capability of your servers. In this article, I will discuss multiple light-weight free-to-use tools to monitor servers. Every IT admin faces these challenges – server crash, slow applications, unexpected downtime, configuring dependencies, troubleshooting memory leaks, etc. To solve these problems, IT monitoring software/applications are required. Nagios and Zabbix are the most popular monitoring tools for the complete infrastructure. Using these tools, you can monitor almost everything – server performance, network performance, protocols, operating systems, applications, websites, etc. But if your infrastructure is not big enough or your requirement is just to monitor server performance, rather than going for a full-fledged end-to-end tool, you can go for light-weight self-hosted software to monitor servers.

Ward

Ward gives minimal/principal information related only to servers. It is compatible with all popular operating systems. Ward uses OSHI, which is a free Java library to retrieve operating system and hardware information. It shares information such as OS version, memory, processor, disk, and partitions, CPU usage, etc. The dashboard has five different sections:

Processor: Name, utilization %, cores count, bit, frequency Machine: OS and its version, RAM %, RAM amount, RAM type, current processes count Storage: Name, usage %, storage size, disks count, virtual memory % Utilization: This section shows the visualization of processor, memory, and storage in the last 20 seconds Ward: It shows the uptime since the last boot time on Linux and hard resets time on Windows

To run Ward, you can create a jar file of this project and run it or download the latest release jar file and run it. You can also launch Ward inside a docker container.

Netdata

Netdata is a free, open-source software for real-time monitoring of systems and applications. It can run on Linux, FreeBSD, macOS, docker containers, IoT devices. You can install the Netdata agent on your system, application, or container, and it will give all the performance and health information in real-time. You can select the chart shown above of CPU in yellow color by dragging through the chart and zoom in/out using SHIFT + mouse wheel, and that area will get displayed in detail. It can easily integrate with other tools like Prometheus, AWS Kinesis, Graphite, MongoDB, etc. Netdata features:

Quick and simple installation Provides data in real-time Capable of monitoring 1000’s of metrics per node Can collect up to 10000 metrics per server automatically on its own Stores historical data of every single second Very easy to understand presentation of the dashboard Identifies anomalies super fact using modern metrics visualizer No dedicated resource required for running Netdata

Prometheus + Grafana

Prometheus is an open-source tool for monitoring system metrics, and Grafana is an open-source visualization platform. An integrated Prometheus and Grafana setup is a powerful environment to monitor servers efficiently. Prometheus server periodically collects all the data, Prometheus becomes the data source for Grafana, and Grafana visualizes all the metrics on the dashboard. You even have the option in Grafana to query on the metrics getting visualized. It is worth trying out this combo!

Glances

Glances is a cross-platform monitoring tool written in Python. It supports only python 2.7 or python >=3.4. It uses python libraries (psutil) to collect all the system information. Depending on the size of the interface (mobile, web UI, terminal), the information shown on the UI will change dynamically. Glances features:

Remote monitoring available via terminal, Web UI or API (XML-RPC server and a RESTful JSON) Exportable stats in a file or a database Easy to install with just a single command – pip install glances Docker container available for Glances

In case you require better visualization, you can export the data from Glances to InfluxDB and visualize this data on Grafana.

Linux Dash

Linux Dash is a web dashboard for Linux systems. The UI of Linux Dash is built on Angular, and several languages support the server-side. The system status tab shows the information on RAM usage, CPU average load, CPU utilization, CPU and RAM processes, Disc partitions, Swap usage, CPU temperature, and Docker processes. It also gives network-level, account-level, and application-level information. Linux Dash features:

Supports WebSocket also to give real-time system data visualization Drag and Drop UI Customizable screens (minimize, expand, adjust) on the dashboard Server-side implementation available in several languages (Node.js, Python, Go, PHP)

Conky

Conky is a system monitor originally written for X (window system). It currently works on a bunch of different platforms. You can run it on X, Linux, Mac OS (using X quartz), and on most BSDs. It displays information using simple text or busing progress bar and graph widgets using different fonts and colors. Conky features:

300+ built-in objects to show system status Very simple user interfaces Supports music players such as Audacious, MPD Supports POP3 and IMAP Can display any information using scripts and external programs

Conclusion

Monitoring the performance of your server is indeed necessary. If not performed properly, it can create performance and uptime issues that may hinder your business. But no need to worry if you utilize a monitoring software solution to ensure your server is performing well. Alternatively, you can also try cloud-based server monitoring solution where you don’t need to install and manage the monitoring software.

6 Self hosted Light weight Tools to Monitor Servers - 656 Self hosted Light weight Tools to Monitor Servers - 66 Self hosted Light weight Tools to Monitor Servers - 246 Self hosted Light weight Tools to Monitor Servers - 906 Self hosted Light weight Tools to Monitor Servers - 306 Self hosted Light weight Tools to Monitor Servers - 226 Self hosted Light weight Tools to Monitor Servers - 726 Self hosted Light weight Tools to Monitor Servers - 756 Self hosted Light weight Tools to Monitor Servers - 906 Self hosted Light weight Tools to Monitor Servers - 726 Self hosted Light weight Tools to Monitor Servers - 696 Self hosted Light weight Tools to Monitor Servers - 596 Self hosted Light weight Tools to Monitor Servers - 406 Self hosted Light weight Tools to Monitor Servers - 756 Self hosted Light weight Tools to Monitor Servers - 166 Self hosted Light weight Tools to Monitor Servers - 426 Self hosted Light weight Tools to Monitor Servers - 566 Self hosted Light weight Tools to Monitor Servers - 656 Self hosted Light weight Tools to Monitor Servers - 406 Self hosted Light weight Tools to Monitor Servers - 346 Self hosted Light weight Tools to Monitor Servers - 546 Self hosted Light weight Tools to Monitor Servers - 196 Self hosted Light weight Tools to Monitor Servers - 846 Self hosted Light weight Tools to Monitor Servers - 596 Self hosted Light weight Tools to Monitor Servers - 906 Self hosted Light weight Tools to Monitor Servers - 346 Self hosted Light weight Tools to Monitor Servers - 256 Self hosted Light weight Tools to Monitor Servers - 576 Self hosted Light weight Tools to Monitor Servers - 53