Ad Widget

Collapse

Пустые динамические графики

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jimson
    Senior Member
    • Jan 2008
    • 1327

    #1

    Пустые динамические графики

    1) Если данные для графика (динамического элемента комплексного экрана) на выбранном хосте отсутсвуют, то на комплексном экране будет "заготовка" графика и надпись "данные отсутсвуют" в легенде.

    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']);
    проверяем что нам вернули в get_same_graphitems_for_host() и если данных нет то возвращаем null, в целях оптимизации вызов "поднял" выше

    Ну и собственно результат, комплексный экран без выбранного хоста показывает нам 8 графиков, а если выбрать какой-либо хост-VSAT то будут показаны только 4 графика.
    Attached Files
Working...