[ZBX-26625] Zabbix 7.4 system information not working Created: 2025 Jul 01  Updated: 2025 Jul 25  Resolved: 2025 Jul 22

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Frontend (F)
Affects Version/s: 7.4.0
Fix Version/s: 7.4.1rc1, 8.0.0alpha1 (master)

Type: Problem report Priority: Major
Reporter: Nicolas Winter Assignee: Valdis Murzins
Resolution: Fixed Votes: 10
Labels: None
Remaining Estimate: Not Specified
Time Spent: 27h
Original Estimate: Not Specified

Attachments: PNG File Capture d'écran 2025-07-01 093711.png     PNG File image-2025-07-02-09-31-30-061.png     PNG File image-2025-07-06-22-47-54-335.png    
Issue Links:
Causes
caused by ZBXNEXT-8698 Frontend to Server communication encr... Needs documenting
Duplicate
is duplicated by ZBX-26642 False information: "Zabbix server is ... Closed
Team: Team B
Sprint: S25-W28/29, S25-W30/31
Story Points: 1

 Description   

System information panel not working and zabbix is saying that server is not working



 Comments   
Comment by Vladislav Solovei [ 2025 Jul 01 ]

Same issue. 
The server is online, new notifications,graphs,polling, etc is working, but the system info shows that server is not running.

Comment by Nicolas Winter [ 2025 Jul 01 ]

Version installed by apt update on debian 12.11 

Comment by Martin Breza [ 2025 Jul 01 ]

Same issue.

Oracle Linux Server 9.6.

Zabbix 7.4 upgraded from Zabbix 7.2.10 by yum update.

Comment by Alexander Vladishev [ 2025 Jul 01 ]

Hi!

Are you using the $ZBX_SERVER and $ZBX_SERVER_PORT settings in the frontend configuration file (conf/zabbix.conf.php)?
If so, the hostname and port must match the {{NodeAddress}} configuration parameter on the server side.

Comment by Nicolas Winter [ 2025 Jul 01 ]

I did not have the NodeAddress in my conf file (upgrade on upgrade on upgrade,...)

By adding it, i solved the issue. 

 

Comment by Aleksejus Velutis [ 2025 Jul 02 ]

Which env variable should be added if the installation is performed via docker compose?

Tried to add:

to zbxsrv:

ZBX_NODEADDRESS

to zbxweb:

ZBX_SERVER_HOST and\or ZBX_SERVER
+
ZBX_SERVER_PORT

it didn't help. tnx.

Comment by Vladislav Solovei [ 2025 Jul 02 ]

The $ZBX_SERVER and $ZBX_SERVER_PORT, NodeAddress is not specified in my case (by default?). 

Comment by Vladislav Solovei [ 2025 Jul 02 ]

if ((time() - $active_node[0]['lastaccess'])

The issue was that the time on the PostgreSQL server (which is a separate server) was different from the time on the Zabbix server.

Comment by Alexander Vladishev [ 2025 Jul 02 ]

The default value for the NodeAddress parameter is localhost:10051. If you're using Docker, this parameter can be set using the environment variables ZBX_NODEADDRESS and ZBX_NODEADDRESSPORT.

Comment by Alexander Vladishev [ 2025 Jul 02 ]

zendx, For the system to function correctly, the time on all components must be synchronized. See Requirements -> Time synchronization.

Please note that in this case, it refers specifically to the time on the machine running zabbix_server (not the PostgreSQL server) and the machine running the web server for the Zabbix frontend.

Comment by Dmitry [ 2025 Jul 02 ]

For docker installation add that parameters to zabbix/zabbix-server-mysql section (follow name of your container):

   -e ZBX_NODEADDRESS=zabbix-server-mysql
   -e ZBX_NODEADDRESSPORT=10051

 

Comment by Martin Breza [ 2025 Jul 02 ]

Specifiyng NodeAddress value solved my issue. 

Note: host name is case sensitive

Comment by Michel Lobert [ 2025 Jul 02 ]

ZBX_NODEADDRESS solved my issue, thank you

Comment by Vladislav Solovei [ 2025 Jul 02 ]

Alexander,
Zabbix Server and Zabbix UI are located on the same server in my setup. PostgreSQL is on a separate one. The difference in (time() - $active_node[0]['lastaccess']) was about 800 seconds (with the result of isRunning() being false, but canConnect() returning true
After I corrected the time on the PostgreSQL server (it had an NTP client enabled, but the NTP server itself wasn’t reachable), the difference between time() - $active_node[0]['lastaccess'] decreased to 0–1 seconds, and now I see the correct status in the Zabbix UI.
Possibly, the lastaccess value in the database is set using the PostgreSQL server’s own time (NOW(), perhaps?).

Comment by Aleksejus Velutis [ 2025 Jul 02 ]

In my case (im using zabbix-server-pgsql), adding these variables:

    environment:
     - ZBX_AUTONODEADDRESS=hostname
     - ZBX_NODEADDRESS=zbxsrv
     - ZBX_NODEADDRESSPORT=10051

did not improve the situation.
Note that the official zabbix documentation on the docker hub says that the variable “ZBX_NODEADDRESSPORT=” can only be used with the variable “ZBX_AUTONODEADDRESS”

ZBX_NODEADDRESSPORT=10051 # Allowed to use with ZBX_AUTONODEADDRESS variable only. Available since 6.0.0

But that didnt help too. Interestingly enough, these variables are not added to zabbix_server.conf , but they exists in container ENV:

zbxsrv:/var/lib/zabbix# env | grep "ZBX_NODE*"
ZBX_NODEADDRESS=zbxsrv
ZBX_NODEADDRESSPORT=10051
zbxsrv:/var/lib/zabbix# env | grep "ZBX_AUTONODE*"
ZBX_AUTONODEADDRESS=hostname

Adding the following line to zabbix_server.conf helped (conf file is shared with host machine by vol - /mnt/docker/zabbix/server/etc:/etc/zabbix:rw):

cat /mnt/docker/zabbix/server/etc/zabbix_server.conf | grep "NodeAddress"
## Option: NodeAddress
NodeAddress=zbxsrv:10051

Should I remove these variables from the yaml file or leave them as they are?

Comment by Steve Allison [ 2025 Jul 03 ]

Host OS: Debian 12
Deployment: Docker
Container Images: zabbix/zabbix-server-mysql:alpine-7.4-latest & zabbix/zabbix-web-nginx-mysql:alpine-7.4-latest
Upgraded: from 7.2.10 to 7.4.0

Just like f1x - the upgrade required a manual edit of zabbix_server.conf to add NodeAddress=zabbix-server:10051

 

Comment by Deepak Jaisinghani [ 2025 Jul 03 ]

I have also upgraded to 7.4.0 but same issue.

deployed on redhat openshift environment 

tried below on apache pod

ZBX_NODEADDRESSPORT=10051

BX_NODEADDRESS=zabbixserver 

 

still the same issue

 

please let us know on which container we have to add the value 

I see below parameter for pgsql zabbix-server

ZBX_NODEADDRESSPORT

ZBX_NODEADDRESS

 

 

Comment by Markus Birth [ 2025 Jul 06 ]

The Docker container readme says something about ZBX_XXX variables being translated into zabbix_server.conf ones.

So, I've set this on my server container (NOT on the web UI container):

    environment:
      - ZBX_NODEADDRESS=zabbix-server:10051

And this fixed it for me!

(Server container is zabbix/zabbix-server-pgsql:alpine-7.4-latest)

Comment by derict [ 2025 Jul 06 ]

I'm using zabbix-server-pgsql:alpine-latest, before i'm pointing ZBX_SERVER_HOST on zbx-web using IPv6 now not working, the change to hostname and working with additional env ZBX_NODEADDRESS on zbx-svr with the hostname itself

 

On zbx-svr

ZBX_NODEADDRESS: zbx-svr

 

On zbx-web

ZBX_SERVER_HOST: zbx-svr

 

 

Comment by MArk [ 2025 Jul 13 ]

I tested Zabbix 7.4 in a Podman container and I found the same issue.

 

Setting the "ZBX_NODEADDRESS" environment variable on the Server container, actually resolves the issue.
This variable overrides the "NodeAddress" parameter in the Zabbix Server configuration file because it determines "how the frontend should connect to the server". If nothing is set, the value is essencially "localhost".

Something like this should work: -e ZBX_NODEADDRESS="${ZBXSERVERNAME}"

 

Despite the fix, I still think this is just a workaround. In my setup, I'm testing with a Podman pod, which uses localhost for containers communication. The frontend container can reach the Server container's trapper port (10051) using localhost. Therefore, it should not have any issues.

echo > /dev/tcp/localhost/10051

 

I think the real issue lies in the Frontend communication with the database, since it "will autodetect the active node by reading settings from the nodes table in Zabbix database".

When the "ZBX_NODEADDRESS" variable is not set, the HA table shows "localhost" as the node address, and the frontend displays the actual server hostname.

mysql> select name,address,port from ha_node;
----{}-------{}++{}-----
| name | address   | port  |
----{}-------{}++{}-----
|      | localhost | 10051 |
----{}-------{}++{}-----

 

When the "ZBX_NODEADDRESS" variable is set, then the HA table shows the set value, and the Frontend can connect to the Server.

mysql> select name,address,port from ha_node;
----{}-------------{}++{}-----
| name | address         | port  |
----{}-------------{}++{}-----
|      | zabbix74-server | 10051 |
----{}-------------{}++{}-----

 

Looking at the frontend configuration file, "/etc/zabbix/web/zabbix.conf.php", we see the following condition:

if (getenv('ZBX_SERVER_HOST')) {
    $ZBX_SERVER      = getenv('ZBX_SERVER_HOST');
    $ZBX_SERVER_PORT = getenv('ZBX_SERVER_PORT');
}

 

If the Frontend "ZBX_SERVER_HOST" environment variable is set, that value will be shown in the Frontend, not the actual value that it is connecting to. This variable appears to be purely cosmetic.

So, another workaround is to not set the "ZBX_SERVER_HOST" variable from the Frontend container.

 

What I don't understand is why the frontend is displaying the server address, that was set in the PHP file, but using the db address. Still, either one should communicate with the server, at least in my setup.

Comment by Romeo [ 2025 Jul 13 ]

For me the solution was on the server container to add this env variable

ZBX_AUTONODEADDRESS=hostname

 

For info in my setup I have 3 container using Docker:

  • zabbix/zabbix-web-nginx-pgsql:alpine-latest
  • zabbix/zabbix-server-pgsql:alpine-latest
  • postgres:16-alpine

 

Comment by Artem S [ 2025 Jul 14 ]

solver with 

ZBX_NODEADDRESS="zabbix-server"  -e ZBX_NODEADDRESSPORT=10051

Comment by Valdis Murzins [ 2025 Jul 17 ]

Fixed in developer branch feature/ZBX-26625-7.4

Comment by Valdis Murzins [ 2025 Jul 21 ]

Available in:

Generated at Mon Aug 04 08:54:54 EEST 2025 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.