Monitoring tells you a server is in trouble before your customers do: a disk filling up, memory running out, a service that stopped, or a website that no longer answers. This guide compares the main Linux monitoring tools in 2026, what each is good at, and which to choose for one VPS or a fleet. It applies to a server you manage yourself, such as a VPS; on shared hosting the server is managed for you.
For a single VPS, start with Netdata (instant dashboards, almost no setup) plus an external uptime check. For several servers or custom application metrics, use Prometheus with node_exporter and Grafana. Choose Zabbix for large traditional fleets and network devices, Nagios Core or Icinga if you want simple up/down service checks with a huge plugin library, and a SaaS such as Datadog or Grafana Cloud if you would rather pay than run the monitoring yourself.
1. What to monitor
Whatever tool you pick, watch the same basics:
- CPU and load average, compared with the number of cores.
- Memory and swap. Steady swap use usually means the server needs more RAM or a leaky process needs fixing.
- Disk space and inodes. A full disk stops databases and mail. Alert at 80% and again at 90%.
- Disk I/O wait, which shows a storage bottleneck even when CPU looks idle.
- Services: web server, PHP-FPM, database, mail and SSH are running.
- The website from outside: it answers over HTTPS, quickly, with a valid certificate that is not about to expire.
- Logs for errors, and failed logins for attacks.
For the everyday commands behind these numbers (uptime, free -h, df -h, iostat), see monitoring VPS resources.
2. The tools at a glance
| Tool | Type | Best for | Effort to run |
|---|---|---|---|
| Netdata | Real-time agent with built-in dashboards | One to a few servers, quick troubleshooting | Very low |
| Prometheus + Grafana | Metrics database, dashboards and alerting | Several servers, containers, application metrics | Medium |
| Zabbix | All-in-one server, agents and web interface | Large fleets, network devices, SNMP | Medium to high |
| Nagios Core / Icinga | Service checks with plugins | Up/down checks and simple alerting | Medium |
| Uptime Kuma | Self-hosted uptime and certificate checks | Watching websites and ports from outside | Very low |
| Datadog, Grafana Cloud, New Relic | Hosted SaaS platforms | Teams that prefer a paid service to running their own | Low, but per-host or usage pricing |
3. Netdata: the fastest start
Netdata collects hundreds of metrics every second with almost no configuration and shows them on a web dashboard. It comes with sensible alerts for disk, memory, CPU and common services out of the box.
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.shThe dashboard listens on port 19999. Do not leave it open to the internet: allow only your own IP in the firewall, put it behind a reverse proxy with a login, or use Netdata's own cloud sign-in.
- Useful dashboards within a minute of installing
- Per-second detail, ideal for catching short spikes
- Low overhead on a small VPS
- Long-term history needs extra disk or Netdata's cloud service
- Some team and alerting features sit in the paid cloud plans
4. Prometheus, node_exporter and Grafana: the modern standard
Prometheus scrapes metrics over HTTP from exporters and applications and stores them as time series. node_exporter exposes the Linux host's metrics. Grafana draws dashboards from Prometheus and many other sources, and Alertmanager routes alerts to email, Slack, Telegram or a pager service.
A minimal Prometheus scrape configuration for one server:
# /etc/prometheus/prometheus.yml
global:
scrape_interval: 30s
scrape_configs:
- job_name: node
static_configs:
- targets: ["localhost:9100"]Install Prometheus and node_exporter from your distribution's packages or the current release on prometheus.io, and Grafana from Grafana's own package repository (apt.grafana.com or rpm.grafana.com). Import a community "Node Exporter Full" dashboard in Grafana to get a complete host view in minutes.
node_exporter (port 9100) and Prometheus (port 9090) have no login by default. Bind them to localhost or a private network, or allow only your monitoring server's IP in the firewall. Grafana has a login; change the default admin password on first sign-in.
For a complete walkthrough, including logs with Loki and alert rules, read production observability with Prometheus, Grafana and Loki.
5. Zabbix: all-in-one for large fleets
Zabbix is a complete monitoring server with a database, a web interface, agents for Linux and Windows, templates for common software and SNMP support for switches and routers. It can discover new hosts automatically and handles thousands of devices.
Install it from the official repository at repo.zabbix.com: pick the current LTS release and your exact operating system on the Zabbix download page, which then shows the right commands. It needs a database (MySQL, MariaDB or PostgreSQL) and a web server, so give it its own VPS once you monitor more than a handful of hosts.
Choose it when you monitor many servers and network devices and want one tool with a GUI for all of it. Skip it for a single VPS; it is more to run than the thing you are watching.
6. Nagios Core and Icinga: classic service checks
Nagios, first released in 1999, checks whether each service is up and alerts when it is not. Its real strength is the plugin ecosystem: thousands of check scripts for almost any service. Configuration is text files, which suits version control but grows complex in large setups. Icinga 2 started as a Nagios fork and keeps plugin compatibility with a more modern configuration language, API and web interface.
Both are strongest at "is it up?" rather than trend graphs, so many teams pair them with Grafana, or choose Prometheus instead. For an installation and configuration walkthrough, see mastering Nagios.
7. Uptime checks from outside
Every monitoring tool running on the server shares its fate: if the server or its network goes down, so do the alerts. Always add at least one check from somewhere else.
- Uptime Kuma is a free, self-hosted tool that checks HTTP(S), TCP ports, DNS and certificate expiry, and alerts through email, Telegram, Slack and many other channels. Run it on a different server from the one it watches.
- Hosted uptime services do the same without anything to install; most have a free tier for a few checks.
8. Hosted platforms: Datadog, Grafana Cloud and others
Datadog, New Relic and Grafana Cloud combine metrics, logs, traces and uptime checks in one hosted service. You install their agent, and they store the data, run the dashboards and send the alerts. The trade-off is cost, which grows with hosts, containers and log volume, so read the pricing page carefully and set usage limits. Grafana Cloud has a free tier that suits a few servers.
9. Which should you choose?
Whatever you choose, test each alert once by triggering it (fill a test file on a spare disk, stop a service) so you know it reaches you.
10. Monitoring on Domain India
On a Domain India VPS you have full root access and manage the server yourself, so you can install any tool in this guide. VPS plans are self-managed: installing, securing and updating monitoring software is your job. If you reboot from inside, use reboot, never poweroff, which leaves the VPS switched off until support starts it again.
- 1 vCPU
- 2 GB DDR4 RAM
- 64 GB NVMe SSD Storage
- 2 TB Monthly Bandwidth
On shared hosting (cPanel, DirectAdmin, Webuzo) you cannot install agents or change server software, because the server is managed for you. To watch your own account, use the control panel's resource usage page (in cPanel, Metrics › Resource Usage); see how to check your hosting resource usage. An external uptime check such as Uptime Kuma or a hosted service works for any website, wherever it is hosted.
Frequently asked questions
What is the best free Linux server monitoring tool?
For one server, Netdata gives the most useful dashboards for the least effort. For several servers or custom application metrics, Prometheus with node_exporter and Grafana is the most widely used free stack. Zabbix and Nagios Core are also free and open source.
Is Nagios still worth using in 2026?
Yes for simple up/down service checks, thanks to its large plugin library, but its configuration grows complex at scale. Many teams now use Icinga, which is plugin-compatible, or Prometheus with Grafana for metrics and trends.
What is the difference between Prometheus and Grafana?
Prometheus collects and stores metrics and evaluates alert rules. Grafana draws dashboards from Prometheus and other data sources. They are usually used together, with node_exporter supplying the Linux host metrics.
Do I need monitoring on shared hosting?
You cannot install monitoring software on shared hosting, because the server is managed for you. Use the control panel's resource usage page to watch your account's limits, and an external uptime check to be alerted if your website stops responding.
Why should uptime monitoring run on a different server?
A check that runs on the same server cannot alert you when that server, its network or its mail system is down. An external check, from another server or a hosted service, still works when your server does not.
Should monitoring dashboards be open to the internet?
No. Exporters such as node_exporter and Prometheus have no login by default, and Netdata's dashboard reveals details about your server. Restrict them to localhost, a private network or your own IP, and put any public dashboard behind a login.
Ready to run your own monitoring? Compare VPS plans, read VPS vs shared hosting, or follow the Prometheus, Grafana and Loki guide.
Full root access on KVM with NVMe storage, so you can install the monitoring stack that suits you.
See VPS plans