1) Если данные для графика (динамического элемента комплексного экрана) на выбранном хосте отсутсвуют, то на комплексном экране будет "заготовка" графика и надпись "данные отсутсвуют" в легенде.
2) Имеется несколько типов хостов для которых хочется общий "универсальный" комплексный экран. Пример: у меня мониторятся разные спутниковые хабы, соответсвенно терминалы (VSAT) для разных хабов имеют несколько разные данные и разные графики и не очень удобно постоянно пеереключать комплексный экран.
Простенький патч:
проверяем что нам вернули в get_same_graphitems_for_host() и если данных нет то возвращаем null, в целях оптимизации вызов "поднял" выше
Ну и собственно результат, комплексный экран без выбранного хоста показывает нам 8 графиков, а если выбрать какой-либо хост-VSAT то будут показаны только 4 графика.
2) Имеется несколько типов хостов для которых хочется общий "универсальный" комплексный экран. Пример: у меня мониторятся разные спутниковые хабы, соответсвенно терминалы (VSAT) для разных хабов имеют несколько разные данные и разные графики и не очень удобно постоянно пеереключать комплексный экран.
Простенький патч:
Code:
--- frontends/php/include/classes/screens/CScreenGraph.php.orig 2013-04-25 12:04:09.000000000 +0400
+++ frontends/php/include/classes/screens/CScreenGraph.php 2013-04-25 12:04:14.000000000 +0400
@@ -55,6 +55,9 @@
));
$graph = reset($graph);
+ $newGraphItems = get_same_graphitems_for_host($graph['gitems'], $this->hostid, false);
+ if (count($newGraphItems) == 0) return null;
+
// if items from one host we change them, or set calculated if not exist on that host
if (count($graph['hosts']) == 1) {
if ($graph['ymax_type'] == GRAPH_YAXIS_TYPE_ITEM_VALUE && $graph['ymax_itemid']) {
@@ -103,7 +106,6 @@
$this->screenitem['url']->setArgument($name, $value);
}
- $newGraphItems = get_same_graphitems_for_host($graph['gitems'], $this->hostid, false);
foreach ($newGraphItems as $newGraphItem) {
unset($newGraphItem['gitemid'], $newGraphItem['graphid']);
Ну и собственно результат, комплексный экран без выбранного хоста показывает нам 8 графиков, а если выбрать какой-либо хост-VSAT то будут показаны только 4 графика.