Offline Netdata install shows "no data" in dashboard, but curl API returns valid data

I installed Netdata offline on an intranet server into a custom prefix (/opt/netdata). The service is running, firewall and network are fine, the dashboard page loads without any error, but all charts simply show “no data”. It seems like nothing is being collected, yet the backend appears to be working.

Here is exactly what I’ve checked and tried so far:

  1. systemctl status netdata shows the service is active and running.
  2. Firewall allows port 19999, and there are no network connectivity issues.
  3. No error logs anywhere – there is no error.log in /opt/netdata/var/log/, and journalctl -u netdata shows no errors at all.
  4. Manually executed go.d.plugin from /opt/netdata/usr/libexec/netdata/plugins.d/ and it produced the expected BEGIN…SET…END output – so the plugin itself works.
  5. Checked if the plugins are loaded by Netdata:
    · curl -s http://localhost:19999/api/v1/info shows a list of collectors, and go.d is there.
  6. Tested the data API directly:
    · curl -s “http://localhost:19999/api/v1/data?chart=system.cpu&after=-10&format=json&points=2” returns valid JSON with actual numerical data points. So the backend collection, plugins, and database are all producing and serving data correctly.

Despite the API returning real data, the web dashboard persistently shows “no data” for every chart. I’ve already confirmed that the web files directory exists and the dashboard page loads, so static files seem present. The Netdata configuration has [plugins] section where everything is left at default (commented out), which should enable the standard plugins.

I’m a bit stuck because all normal backend checks pass. Are there any other configuration options (perhaps related to the custom prefix, internal socket paths, or something like web files compatibility) that could cause the dashboard to fail to request or display the data even though the backend clearly has it?

Any pointers would be greatly appreciated.

The most likely cause is that the Netdata UI bundle is not installed. The agent and the dashboard are separate components. The API works because the agent is fine, but the JavaScript that renders the charts is missing.

First, check what is in your web directory:

ls -la /opt/netdata/usr/share/netdata/web/

If it is empty or nearly empty, the UI bundle was never fetched.

This is expected in an offline install since it is normally downloaded during installation.

Also open your browser’s developer tools (F12), go to the Network tab, and refresh the dashboard. Look for any 404 errors on .js files. That will confirm the bundle is missing.

If the files are there, try navigating directly to http://your-server:19999/v3/ and see if charts render there. If they do, it is a routing issue rather than a missing bundle.

Let us know what you find and we can help from there.