Hi Folks,
Thought I'd bring this up for discussion. We've got 1000 monitored hosts in our deployment and all hosts are setup in various maps and screens.
A big problem with this is the speed that zabbix takes to check the permissions of objects not only on maps being viewed but also any linked maps. In our case pretty much all 1000 hosts permissions are checked!
Our workaround for this is to disable permission checks for anyone other than guest by doing the following in include/maps.inc.php:
function sysmap_accessiable($sysmapid,$perm)
{
global $USER_DETAILS;
//bypass permissions checks
if($USER_DETAILS['userid'] != 2) {
return true;
}
and the same in include/screens.inc.php
function screen_accessiable($screenid,$perm)
{
global $USER_DETAILS;
//echo "<pre>".print_r($USER_DETAILS,true)."</pre>";
//bypass permissions checks
if($USER_DETAILS['userid'] != 2) {
return true;
}
Now this runs a _lot_ faster, but it's not ideal. is there a better way of doing this when rendering the maps/screens so that only those being directly shown are checked?
-Cheers Max.
Thought I'd bring this up for discussion. We've got 1000 monitored hosts in our deployment and all hosts are setup in various maps and screens.
A big problem with this is the speed that zabbix takes to check the permissions of objects not only on maps being viewed but also any linked maps. In our case pretty much all 1000 hosts permissions are checked!
Our workaround for this is to disable permission checks for anyone other than guest by doing the following in include/maps.inc.php:
function sysmap_accessiable($sysmapid,$perm)
{
global $USER_DETAILS;
//bypass permissions checks
if($USER_DETAILS['userid'] != 2) {
return true;
}
and the same in include/screens.inc.php
function screen_accessiable($screenid,$perm)
{
global $USER_DETAILS;
//echo "<pre>".print_r($USER_DETAILS,true)."</pre>";
//bypass permissions checks
if($USER_DETAILS['userid'] != 2) {
return true;
}
Now this runs a _lot_ faster, but it's not ideal. is there a better way of doing this when rendering the maps/screens so that only those being directly shown are checked?
-Cheers Max.

Comment