Your Linux VPS could seem healthy while a resource is getting maxed out. The RAM is full. The database takes too long to reply. The logs occupy all the disk space left. The PHP workers become too busy. You start to investigate the problem only after your clients report something wrong. This is when you need to monitor a Linux VPS with Netdata.
Table of Contents
Hide ▲Netdata turns unnoticed changes into valuable insights. It tracks your server’s performance metrics and shows them on a dashboard which is interactive. Netdata also gives you alerts if there are any metrics that exceed predefined thresholds.
This guide will take you through the steps of installing and securing Netdata on your Linux VPS, integrating it with services, and using the data for troubleshooting.
- Netdata simplifies VPS monitoring by tracking CPU, RAM, storage, network traffic, and application performance.
- Installing Netdata on Linux is straightforward using its official installation script.
- Secure your monitoring dashboard by restricting public access, using SSH tunnelling, or configuring an Nginx reverse proxy with HTTPS.
- Monitor essential services such as Nginx, MySQL, MariaDB, and PHP-FPM to identify performance bottlenecks.
- Configure alerts and notifications to detect resource shortages, server issues, and unusual activity before they affect your applications.

Begin with $2.99/month
Amazing hosting value at such an economical price. HostOnce is a dream come true for so many website owners: you among them! Do not miss your chance!
What Will You Monitor Linux VPS with Netdata?
Your monitoring solution has to answer more than one question. Do not just try to find out if your VPS is active. You would like to know why it is working slowly and which resource is the source of that.
Here is all you can monitor using Netdata:
- Area
- What You Can Monitor
- CPU
- CPU usage, load, processes and spikes
- Memory
- RAM, swap, memory pressure, consumption
- Storage
- Disk space, I/O, inodes usage
- Network
- Inbound and outbound network traffic
- Web server
- Activity of Nginx/Apache
- Database
- Behavior of MySQL/MariaDB
- Applications
- Process and service activity
- Health
- Warnings and critical messages
This makes Netdata especially useful when several websites or apps are situated on one VPS.
VPS hosting from HostOnce offers users full administrative access and is compatible with Linux OS and custom software installation.
Before Installing Netdata
What you need:
- Linux VPS
- Access with root or sudo privileges
- SSH access
- Active internet connection on the server side
- Basics of command-line usage
Mostly, this tutorial uses Ubuntu and Debian as example operating systems. However, there may be differences depending on the distribution of your choice.
Make a backup or create a snapshot if needed. Only after that, change the configuration files on the production machine.
Step 1: Update Linux VPS
First, establish an SSH connection to the server. Then perform an update of your package list:
sudo apt update
sudo apt upgrade -y
If curl and the CA certificate package are not installed yet, then you have to install them:
sudo apt install -y curl ca-certificates
Before installing monitoring tools, it is necessary to update the underlying server. This action gives a good starting point.
Step 2: Install Netdata
Netdata advises using their kickstart.sh script for installation on Linux. The installation method will be selected based on the detected type of operating system. The best installation method is using native packages, but there are also other installation methods available.
Run:
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh
Inspect the installed files before running them as root.
Now check if the service is running:
sudo systemctl status netdata
Or check the service running on port 19999:
ss -lntp | grep 19999
Netdata normally uses TCP port 19999 for exposing the web UI.
Do not take the default port number as something that has to be exposed to the entire world.
Step 3: Launch Netdata Dashboard
If the connection over the Internet is working, then you can access the dashboard at:
http://YOUR_SERVER_IP:19999
You will see charts for your VPS processes there.
Spend some time browsing through the dashboard before making any changes. Observe the processes running. It is all about understanding the workloads of your server.
Step 4: Secure Netdata Dashboard
Monitoring dashboard stores a lot of useful information about your infrastructure. Making it publicly accessible is not the best idea as you are revealing a lot of information about your server.
The simplest solution here is to configure Netdata to listen only on localhost.
Open the configuration file:
sudo nano /etc/netdata/netdata.conf
Set up under the [web] section:
[web]
bind to = 127.0.0.1
Restart Netdata:
sudo systemctl restart netdata
Verify the listening IP:
ss -lntp | grep 19999
Thus, it is now available locally on the VPS rather than through its public interface.
Netdata Access Via SSH Tunnelling
Establish a tunnel from your machine:
ssh -L 19999:127.0.0.1:19999 root@YOUR_SERVER_IP
And open:
http://localhost:19999
The browser uses the secure SSH connection to reach Netdata. No public exposure of port 19999 is needed.
Step 5: Use Nginx as a Front for Netdata
Determine whether there is more than one administrator who needs access via a browser. Another solution would be an Nginx reverse proxy. Netdata will continue to run at 127.0.0.1:19999 while Nginx is the front-end.
Install the required components:
sudo apt install nginx apache2-utils -y
Set up the password for the admin user:
sudo htpasswd -c /etc/nginx/.htpasswd netdataadmin
Create the Nginx config file:
sudo nano /etc/nginx/sites-available/netdata
Add:
server {
listen 80;
server_name monitor.example.com;
location / {
auth_basic “Netdata Monitoring”;
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
and
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:19999;
}
}
Remember to substitute monitor.example.com with your actual monitoring domain.
Activate the configuration:
sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/netdata
and
sudo nginx -t
sudo systemctl reload nginx
Expert Tip
Password protection is just one step towards securing your monitoring. Implement HTTPS so that all credentials and data are sent using an encrypted channel. In fact, Netdata supports TLS by itself when configured with a certificate and key.
Fatima Nawaz
Expert Web Developer and SEO Manager
Step 6: Monitor Nginx
System metrics show only half of the picture. For those running websites, it is important to see how the services serving the requests are performing.
Enable stub_status for Nginx.
Open the proper Nginx configuration file. Add:
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
Reload Nginx and test:
sudo nginx -t
sudo systemctl reload nginx
Verify the status locally:
curl http://127.0.0.1/nginx_status
Making this page available only on localhost will deny visitors the ability to view the statistics of the web server at will. Netdata may either find the service automatically or need collector configuration. This depends on your version and installation of Netdata.
Step 7: Monitor MySQL or MariaDB
In many cases, database problems are perceived by users as “slow site” when there does not seem to be any problem with CPU usage.
By monitoring MySQL or MariaDB you can identify connections and pressure on resources. You must never give the monitoring program your database root privileges.
Create a dedicated monitoring account:
sudo mysql
CREATE USER ‘netdata’@’localhost’ IDENTIFIED BY ‘USE_A_STRONG_PASSWORD’;
GRANT USAGE, PROCESS, REPLICATION CLIENT, SHOW DATABASES, SHOW VIEW
ON . TO ‘netdata’@’localhost’;
FLUSH PRIVILEGES;
Quit MySQL:
EXIT;
MySQL collector can now be configured in Netdata using this specific account.
It is very important: Monitoring must be given only those privileges which are needed, and not full access just because it is simpler.
Step 8: Monitor PHP-FPM
PHP-FPM is another service which runs on the majority of WordPress and PHP hosting. The server may have extra CPU power but the request would have to wait as all PHP workers are busy.
Make sure that you have the PHP-FPM status URL enabled in the pool config. It will depend on the PHP version installed. As an example:
sudo nano /etc/php/8.3/fpm/pool.d/www.conf
Configure:
pm.status_path = /php-fpm-status
ping.path = /php-fpm-ping
Now, reload the PHP-FPM service:
sudo systemctl reload php8.3-fpm
Replace 8.3 in the above commands with the PHP version on your VPS.
Remember the Nginx status URL. Information from PHP-FPM status must not be accessible by any regular internet user.
Step 9: Set Up Alerts That Matter
The nice dashboard comes in handy while you are using it. Alerts come in handy when you are not.
Netdata offers a rich health monitoring feature set and performs an evaluation of set alert conditions frequently.
For a typical hosting VPS, be especially careful about:
- Disk usage
- Inode usage
- Memory pressure
- Swap usage
- CPU load
- Disk I/O
- Database health
- Web server errors
- PHP-FPM load
- Service availability
Do not set alerts on every harmless variation. Think about CPU usage suddenly rising to 100% for five seconds for a job run at specific times. It doesn’t mean there is an incident going on. The high CPU usage for a few minutes is what matters much more. Proper monitoring distinguishes between a spike and an incident.
Set Practical Disk Warnings
Exhaustion of disks may lead to process failure. Don’t wait until your disk is full, set warnings before that happens.
Your operational approach may look like:
| Disk Usage | Action |
|---|---|
| Less than 75% | Normal |
| 75%–85% | Monitor growth |
| Greater than 85% | Investigate |
| Greater than 90% | Take urgent action |
The above numbers are just examples, not hard rules. 40 GB VPS and a multi-terabyte server will differ greatly in how much free space you still have on each at the same per cent of disk used.
Step 10: Set Up Alert Notifications
An alert that appears only on your dashboard may go unnoticed. Netdata provides multiple notification mechanisms. Notification configuration is usually done by setting up:
/etc/netdata/health_alarm_notify.conf
Use the proper recipient and check whether the underlying system can send email. Always test the notification mechanism once configured.
Step 11: Learn to Read the Symptoms of Server Problems
While the primary strength of Netdata isn’t that it provides hundreds of graphs but it will help you to understand the symptoms.
Take a look at the processes graph if your site slows down all of a sudden:
- Is it PHP eating up the CPU?
- Or is it MySQL doing that?
- Has a backed-up file or a compression, malware scan or a cron task started at the same time?
High CPU is the symptom. The process causing the high CPU usage is the hint.
RAM Is Almost Out
Don’t evaluate Linux server memory usage based on “used memory percentage”. Look for memory pressure, swapping, application usage and historical trends. Check whether the server really struggles to allocate memory.
You can use the following command to investigate the processes:
ps aux –sort=-%mem | head
CPU seems okay, but your website is still slowing down? Check your storage performance. High IO wait makes your server super slow even when the CPU is in good shape. Also check the PHP-FPM and Database metrics.
Disk Space Keeps Disappearing
Start with:
df -h
Check large folders:
sudo du -xhd1 /var | sort -h
Inode usage should also be checked:
df -ih
A problem with file creation may appear as a result of using all possible inodes on a filesystem, even if there is plenty of disk space available. Logs, cache files, mail spool, sessions, temporary files and expired backups are the places where it could happen.
Step 12: Test Your Monitoring Setup
You never complete a monitoring setup without testing it.
Netdata check:
sudo systemctl status netdata
Port check:
ss -lntp | grep 19999
Service logs check:
sudo journalctl -u netdata -n 100 –no-pager
- Check that the dashboard shows the recent statistics.
- Test each collector you have added yourself.
- Check whether Nginx statistics appear if you have added Nginx monitoring.
- Check database charts if you have set up MySQL monitoring.
- Send yourself a notification if you have configured notifications.
Try to connect to port 19999 from another network if your Netdata was not intended to be accessible.
Conclusion
Monitoring gives you direction in which you need to dig deeper in order to reveal suspicious tendencies. You can receive detailed information about the status of your apps and services in one easy-to-use monitoring solution. And that solution is to monitor Linux VPS with Netdata. With custom alerts and secure dashboards, it simplifies the process of troubleshooting.
Install the software. You should ensure that only you can access the dashboard. Monitor your website services. Create some useful alerts. Test everything. Then just let the software work by learning your server tendencies. In this way, you will have much more valuable data about your HostOnce VPS rather than guesses next time it slows down.
FAQs
What is Netdata server monitoring?
Netdata server monitoring is software that is aimed at analyzing the performance of key components. In particular, this software creates graphics that can be viewed and analyzed on a dashboard.
How can I install Netdata on my Linux VPS?
The installation of Netdata on your Linux VPS can be completed using the official script. This way, you will enable the software to collect information about the performance of the server and present it on the dashboard.
Is Netdata free?
Netdata is a free and open-source server monitoring software. Therefore, the software may represent an inexpensive solution for the user to monitor the performance of the server.
Can Netdata notify me about server problems?
Netdata provides alerting capabilities which can be configured in order to notify the user. Notifications can be delivered via email, Slack, Discord, Telegram and other means of communication. Thus, the user can deal with issues and avoid any negative impact on the performance of the server.
Can Netdata affect the performance of a VPS?
Netdata is a software application that is quite light but very powerful. The software will definitely use up some resources and bandwidth. However, these resources will definitely not be at a level that can cripple the server entirely. This will depend largely on the metrics that the software is measuring.

