I only get graphs for my master node and 2 nodes I've added after all others were upgraded to ISPC 3.3.0px. For most other nodes this is shown And for some nodes no graphs are shown at all. What could be the cause and how can I fix it?
Hmm, that's strange. It uses the monitor_data table that is used for all other stuff from monitor module as well. maybe you can take a look into the database on the master to check if it contains data for the graphs: Code: SELECT * FROM `monitor_data` WHERE `type` = 'sys_usage'
A line for every node is returned. All lines with "ok" in the "state" field. But the "data" field contains much less data for the nodes of which its graph isn't shown or populated. All similar to this Code: a:6:{s:6:"tstamp";i:1753344061;s:4:"load";a:1:{i:0;d:6;}s:4:"time";a:1:{i:0;s:5:"10:01";}s:3:"mem";a:1:{i:0;d:41.71;}s:2:"rx";s:10:"1523389499";s:2:"tx";s:10:"1328867181";}
Above was my own testlab. But in another multi node environment I manage it's exactly the same. Only the master node's graphs are shown and that of a recent newly added mail node. Of alll other nodes empty graphs are shown or none at all. Nodes are all straight forward with no fiddling in configs, scripts or other ispc files at all. Each node with a dedicated web/db, mail or dns function.
What is the monitor module using to collect data? Could it be needed packages are missing? Several nodes aren't installed using the install script (and is some cases it didn't even exist yet).
There arent any special apps required, the data is gathered by the cron plugin 100-monitor_sys_usage.inc.php and then written into monitor_data table on the master server. One thing might be that the ispconfig user on some older nodes lacks permission to update data in monitor_data table if you did not choose to reconfigure permissions in master database when updating the ISPConfig slave nodes.
This defaults to "no" during updates, so yes that has never been done. I've force updated one of my testlab nodes and chose to reconfigure master database permissions this morning but so far it doesn't make a difference.
Triple checked the table permissions for not working nodes. They're not any different to working nodes. And wouldn't permission issues result in errors in the cron log? There aren't any errors.
No, not necessarily. You can try to use the con_debug.php script, which is in the server folder, to run the cronjob: 100-monitor_sys_usage.inc.php on the affected slave node.
Code: Called run() for class cronjob_monitor_sys_usage Job has schedule: * * * * * Called onPrepare() for class cronjob_monitor_sys_usage Called onBeforeRun() for class cronjob_monitor_sys_usage Jobs next run is 2025-07-25 17:51:00 Date compare of 1753458660 and 1753458625 is -1 Called onRun() for class cronjob_monitor_sys_usage Called onAfterRun() for class cronjob_monitor_sys_usage Called onCompleted() for class cronjob_monitor_sys_usage finished cron debug. No errors in cron.log and syslog and ispconfig.log is empty.
I suspect its an issue with sql permissions. In the past, ispconfig user has only insert permission on monitor_data table. This feature requires update permission, if update permission is not granted, then you will get the result that you see. There is a record but only from initial insert run, as it can not be updated afterwards. This also explains why it works on master and newly installed nodes.
Once again you (almost completely) nailed it. Checking permissions through phpmyadmin was somewhat misleading. Checking it in mariadb itself table permissions for all nodes where select|insert|delete, except newly added nodes which also had the update permission. After adding the update permission to all other nodes lacking it made the graphs work for most nodes. But not all. In my testlab those are 2 decated galera synced servers hosting ALL databases (including ISPC's master db and those of other slave nodes). In the other environment I manage those are just straight forward web/db servers. Not sure if it's somehow related but all nodes not having "db-server" checked under system >> server services now have working graphs and those that do have it checked still don't. In both my testlab and the other environment. It's not caused by mariadb itself as all nodes in the other environment have mariadb installed to hosts its own ispc db. Including a webserver used as proxy only (and therefor has "db-server" unchecked) which does now work.
Never mind the previous post @till Where non "db-server" nodes worked immediately after the table permission change it took the "db-server" nodes a significant longer time apparently. But they too are working now in both my testlab and other environment.