What you will set up
By the end, you will know three things about your offshore server at any moment: is it up, is it healthy, and what do the logs say. You will set up an outside monitor that emails you when the site goes down, a live dashboard you can open in a browser, and a couple of quick terminal checks.
Do one step at a time. Finish a step, check it works, then move on. You do not need to set all of this up in a single sitting — even just the outside monitor in Step 1 is a big improvement.
Before you start
The goal: see your server’s uptime, health, and logs — and get an alert the moment something breaks.
Why bother? Most people only find out their site is down when a visitor or customer tells them. By then you have already lost traffic and trust. Monitoring flips that around: you hear about the problem first, often before anyone else notices.
- Keep your server IP, username, and password (or SSH key) ready.
- Keep an email address you actually check for the alerts.
- If you change the firewall, keep one terminal window open until testing is done (so you don’t lock yourself out).
- Open a notes file and write down what you install and where.
Where does each part live?
Monitoring has two halves — one outside your server, one inside it. Here is the simple rule:
- Outside uptime checks → a free web service (like UptimeRobot) that lives somewhere else and pings your site.
- Live health dashboard → software you install on the server itself, opened in your browser.
- Quick spot checks → a few commands over SSH.
- The full story of what went wrong → the log files on the server.

The steps
Step 1: Set up outside uptime monitoring
Start here, because it needs no server commands and it protects you the most. An outside monitor is a service that sits on a different network and visits your website every few minutes. If your site stops answering, it emails (or texts) you within minutes.
Why outside and not on the server? If the whole server goes down — power, network, a crash — anything running on that server goes down with it and can’t warn you. A monitor somewhere else keeps watching no matter what.
Sign up for a free account at a service such as UptimeRobot, add a new monitor of type HTTP(s), enter your full site URL (for example https://yourdomain.com), set the check interval to 5 minutes, and add your email as an alert contact.
Check: the monitor shows a green “Up” status, and a test alert email arrives in your inbox.
Step 2: Install a live resource dashboard (Netdata)
Now add a dashboard on the server so you can see CPU, memory, disk, and network in real time. Netdata is lightweight and gives you nice live charts in your browser. Run these over SSH on your VPS.
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh
sh /tmp/netdata-kickstart.sh
Netdata listens on port 19999, so open that port in your firewall, then visit it in your browser:
ufw allow 19999/tcp
Now open http://your-server-ip:19999 (replace your-server-ip with your real IP).
Check: the Netdata dashboard loads in your browser and the charts are updating live.
Step 3: Quick live checks from the terminal
Sometimes you just want a fast look without opening a browser. These two commands tell you most of what you need: what’s using the CPU and memory right now, and how much disk space is left.
htop
df -h
In htop, the busiest processes sit at the top — press q to quit. In df -h, watch the Use% column; anything near 100% needs attention.
Check: htop shows a live process list, and df -h shows free space on each disk.
Step 4: Watch the logs for errors and attacks
Logs are the server’s diary. When something breaks, the reason is almost always written here. The web server’s error log shows broken pages and crashes; the auth log shows login attempts, including people trying to break in.
tail -n 100 /var/log/nginx/error.log
tail -n 100 /var/log/auth.log
tail -n 100 shows the last 100 lines. Add -f (for example tail -f /var/log/nginx/error.log) to watch new lines appear live; press Ctrl+C to stop.
Check: you can read the most recent log lines and spot any repeated errors or failed logins.
Extra commands you may need
Run these only on your own server. If your server uses a managed panel, check with support before changing system-level settings.
See uptime and load at a glance
uptime
This shows how long the server has been running and the load average (the three numbers at the end). As a rough rule, if those numbers stay higher than your CPU core count for a long time, the server is overloaded.
Check memory quickly
free -h
Look at the available column. If it’s very low all the time, your server may need more RAM or you have a process leaking memory.
Keep short notes as you go
While you set this up, jot down what you did: which monitor service you used, what port Netdata runs on, and which log files matter for your apps. For example: “UptimeRobot watching homepage every 5 min, Netdata at :19999, nginx errors in /var/log/nginx/error.log.” It sounds small, but it saves a lot of confusion later, especially at 2 a.m. when something is broken.
When you spot a problem, paste the command and its output into your notes too. Then if you ask support for help, you can show the exact command, the exact error, and the exact time it happened.
If a step causes trouble, how to undo it
Always have a way back. If opening port 19999 worries you, close it again with ufw delete allow 19999/tcp and reach Netdata over an SSH tunnel instead. If a monitor sends too many false alerts, raise the check interval or adjust its settings. Don’t change ten things at once — add one piece of monitoring, confirm it works, then add the next.

How to test your monitoring
- Confirm the outside monitor shows your site as “Up” and that a test alert email arrived.
- Open the Netdata dashboard and watch the CPU and memory charts move.
- Run
df -hand confirm no disk is near 100% full. - Run
uptimeandfree -hand note the normal values, so you know what “healthy” looks like. - Open
/var/log/nginx/error.logand/var/log/auth.logand read the latest lines. - Optional: briefly stop your web server, wait a few minutes, and check that the outside monitor catches it and emails you — then start it again.
Quick troubleshooting
| Problem | Likely reason | What to do |
|---|---|---|
| You didn’t know the site was down | No outside monitoring in place | Set up an external uptime monitor (Step 1) so you’re emailed within minutes |
| Netdata won’t open in the browser | Port 19999 is blocked by the firewall | Allow it with ufw allow 19999/tcp, then retry the URL |
| Disk filled up by logs | Old log files were never cleared | Rotate or clear old logs (see logrotate), then free up space |
Final checklist
- Outside uptime monitor is running and alerts work.
- Netdata dashboard opens and shows live charts.
- You can run
htopanddf -hto spot-check health. - You can read the error and auth logs.
- You wrote down where everything lives.
OffshoreKaka offers privacy-friendly VPS plans with full root access, so you can install dashboards, read your own logs, and stay in control.
FAQ
Do I really need an outside monitor if Netdata is on the server?
Yes. Netdata is great for seeing how the server is doing while it’s running, but if the whole server goes down it goes down too. An outside monitor keeps watching from elsewhere, so it can still alert you when the server itself is unreachable.
Will monitoring slow my server down?
Hardly. Tools like Netdata are built to be lightweight, and commands like htop, df -h, uptime, and free -h use almost nothing. The small cost is well worth knowing your server’s health.
Does any of this improve my Google ranking?
Not on its own. But catching downtime fast keeps your site reliable and available, which supports SEO — Google doesn’t like sites that are often down. Your content and backlinks still decide where you actually rank.