Hi DVN,
Thanks for the extra details — that helps narrow things down a lot.
The fact that switching to a minimal install immediately resolves the “no data available” symptom is a strong indicator that something in the GUI environment is interfering with either the Python RRD bindings or the time-series ingestion pipeline rather than a pure NagiosNA config issue.
A couple of things stand out from your notes:
The “Unknown time unit '1W'” message is typically generated when the backend RRD processing layer is parsing retention or graph interval definitions. On supported builds this is usually handled by the bundled RRDTool/Python bindings, so seeing it alongside missing data often points to a mismatch or override in rrdtool/python-rrdtool libraries.
heardle
Your observation that python couldn’t load rrdtool on the GUI image is very relevant. If the GUI install pulled in a different system rrdtool or Python binding version (via EPEL or base repos), it can silently break NagiosNA’s expected library behavior even if the package is “installed”.
Also, GUI installs on RHEL/CentOS 9 commonly introduce additional timezone, locale, and systemd timing services that can affect timestamp normalization, which would explain why data is being ingested but not displayed.
What I’d suggest testing next (if you’re still experimenting):
On the GUI system, compare:
rpm -qa | grep rrd
python3 -c "import rrdtool; print(rrdtool.__file__)"
against the working minimal install.
Check whether multiple rrdtool versions are present:
/usr/lib64/python*/site-packages/
/usr/local/lib*/python*/
Confirm NagiosNA is using its bundled Python environment rather than system Python (this is a common divergence between minimal vs GUI installs).
If possible, try:
removing system python3-rrdtool (if installed via dnf)
then reinstalling/rebuilding NagiosNA so it re-binds to its expected RRD libraries
Your idea of testing a clean GUI image and possibly removing distro-provided packages before installing NagiosNA is solid — that would help confirm whether it’s a dependency collision rather than a configuration issue.
Appreciate you circling back with the resolution as well — the minimal install workaround is useful info for others hitting the same behavior.