In this article, you will learn about a selection of the monitoring solutions available for your Vultr server. Depending on your operating system choice, there are various ways that you can monitor resource usage. Many of the solutions presented here will record disk usage (IO), network usage, memory usage and CPU usage. This list does not contain every possible monitoring program available, but can be used to find a monitoring solution that meets your requirements.
It is important to understand the distinction between internal and external monitoring solutions. Internal monitoring solutions monitor the performance of a server from the server itself. While internal solutions are convenient, they are less useful for larger scale monitoring. This is where external monitoring comes into play. With external monitoring, one server will record the performance of multiple servers. This can be useful for large scale applications where internal monitoring is inefficient.
Monitor: Cockpit
Graphs: Yes
Custom Alerting: No
Setup: Simple
Type: Both Internal and External
Operating Systems: CentOS (7), Fedora (25, 26), Debian (8, 9), Ubuntu (17.04)
Monitor: Icinga
Graphs: Plugin
Custom Alerting: Yes
Setup: Involved
Type: Internal
Operating Systems: CentOS (6, 7), Fedora (25, 26), Debian (8, 9), Ubuntu (14.04 - 17.04), CoreOS
Monitor: MonitorIX
Graphs: Yes
Custom Alerting: Yes
Setup: Simple
Type: Internal
Operating Systems: CentOS (6, 7), Fedora (25, 26), Debian (8, 9), Ubuntu (14.04 - 17.04), FreeBSD (10)
Monitor: Nagios
Graphs: Plugin
Custom Alerting: Yes
Setup: Involved
Type: Internal
Operating Systems: CentOS (6, 7), Fedora (25, 26), Debian (8, 9), Ubuntu (14.04 - 17.04), CoreOS
Monitor: Prometheus
Graphs: Separate, Grafana
Custom Alerting: Yes
Setup: Simple
Type: Both internal and external
Operating Systems: CentOS (6, 7), Fedora (25, 26), CoreOS
Cockpit is exactly what it claims to be. Pilots need to view data at a glance and Cockpit was designed in such a way that you can have the same experience. You'll see live performance data (network usage, etc.) and be greeted with a beautiful interface. A bonus of Cockpit is SMART alerts. In case your system has reached its storage limit, or has a failing drive, you'll be alerted. Having an early warning for a failing drive will allow for you to back up your data.
Icinga is a fork of Nagios. The only difference you'll see is the interface; alerts are still sent when software (like NGINX) crashes.
MonitorIX is an older but reliable monitoring solution. It is open source, written in CGI and still receives updates from the community.
Nagios features include live monitoring of performance (disk I/O, data-transfer, available memory, disk space, etc.) and an intuitive web interface.
Prometheus supports many operating systems. It also supports clusters and individual systems. Although it may seem more complicated, Prometheus allows for user-defined monitors through custom commands. Important note: in order to have a web interface, you must use additional software to graph data (example: Grafana).
If you want to avoid installing additional software on your system, there are other simple methods to view performance. The tools mentioned here work across most Unix/Linux/BSD platforms.
Memory usage with vmstat
, top
, free
, htop
.
CPU/memory/disk with sar
.
Bandwidth with iftop
.
Network protocols with ntopng
.