Added cluster monitoring view

This commit is contained in:
Jesús Ángel González 2018-05-22 17:53:07 +02:00 committed by Javier Castro
parent b96176a44e
commit 4eb5645cc9
4 changed files with 173 additions and 0 deletions

View File

@ -416,3 +416,8 @@ kbn-vis .vis-container {
margin-top: 0px !important;
margin-right: 0px !important;
}
.wz-timelions {
margin-top: -30px;
z-index: 2;
}

View File

@ -0,0 +1,166 @@
<md-content flex layout="column" ng-if="submenuNavItem == 'monitoring'" ng-show="!isClusterEnabled" ng-controller="clusterController">
<div flex layout="row" layout-align="start start">
<md-card class="wz-md-card" flex>
<md-card-content class="wz-text-center">
<div layout="row" class="wz-padding-top-10">
<i class="fa fa-frown-o"></i> The cluster is disabled.
</div>
<div layout="row" class="wz-padding-top-10">
<a href="https://documentation.wazuh.com/current/user-manual/manager/wazuh-cluster.html">https://documentation.wazuh.com/current/user-manual/manager/wazuh-cluster.html</a>
</div>
</md-card-content>
</md-card>
</div>
</md-content>
<md-content flex layout="column" ng-if="submenuNavItem == 'monitoring'" ng-show="isClusterEnabled" ng-controller="clusterController">
<div layout="row" class="md-padding font-size-18 wz-margin-top-10" ng-if="!loading">
<span flex="20" ng-if="!showConfig && !showNodes"><i class="fa fa-sitemap"></i> {{ currentAPI }}</span>
<span flex ng-if="showConfig"><i class="fa fa-sitemap"></i> <span class="wz-text-link cursor-pointer" ng-click="goBack()">{{ currentAPI }}</span> / overview</span>
<span flex ng-if="showNodes"><i class="fa fa-sitemap"></i> <span class="wz-text-link cursor-pointer" ng-click="goBack()">{{ currentAPI }}</span> / nodes</span>
</div>
<div layout="row" ng-if="!showConfig && !showNodes && !loading">
<md-card flex="50" class="wz-md-card">
<md-card-content>
<span class="wz-headline-title wz-text-link cursor-pointer" ng-click="goConfiguration()">Overview</span>
<md-divider class="wz-margin-top-10"></md-divider>
<div layout="row" class="wz-padding-top-10">
<span flex="40">IP</span>
<span flex class="color-grey">{{configuration.nodes[0] || 'Unknown'}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="40">Running</span>
<span flex class="color-grey">{{ status || 'no' }}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="40">Version</span>
<span flex class="color-grey">{{version}}</span>
</div>
</md-card-content>
</md-card>
<md-card flex="50" class="wz-md-card">
<md-card-content>
<span class="wz-headline-title wz-text-link cursor-pointer" ng-click="goNodes()">Nodes: {{nodesCount}}</span>
<md-divider class="wz-margin-top-10"></md-divider>
<div layout="row" class="wz-padding-top-10 cursor-pointer" ng-click="goAgents()">
<span class="wz-text-link" flex="40">Agents</span>
<span flex class="color-grey">{{agentsCount}}</span>
</div>
</md-card-content>
</md-card>
</div>
<div layout="row" ng-show="showConfig || showNodes">
<md-card flex class="wz-metric-color wz-md-card">
<md-card-content layout="row" class="wz-padding-metric">
<div flex="20">Nodes:
<span class="wz-text-bold">{{nodesCount}}</span>
</div>
<div flex>Agents:
<span class="wz-text-bold">{{agentsCount}}</span>
</div>
</md-card-content>
</md-card>
</div>
<div layout="row" ng-show="showConfig">
<md-card flex="50" class="wz-md-card">
<md-card-content>
<span class="wz-headline-title">Overview</span>
<md-divider class="wz-margin-top-10"></md-divider>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Disabled</span>
<span flex class="color-grey">{{configuration.disabled}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Hidden</span>
<span flex class="color-grey">{{configuration.hidden}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Name</span>
<span flex class="color-grey">{{configuration.name}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Node name</span>
<span flex class="color-grey">{{configuration.node_name}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Node type</span>
<span flex class="color-grey">{{configuration.node_type}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Bind address</span>
<span flex class="color-grey">{{configuration.bind_addr}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">IP</span>
<span flex class="color-grey">{{configuration.nodes[0] || 'Unknown'}}</span>
</div>
<div layout="row" class="wz-padding-top-10">
<span flex="15">Port</span>
<span flex class="color-grey">{{configuration.port}}</span>
</div>
</md-card-content>
</md-card>
</div>
<div layout="row" ng-show="showNodes">
<md-card flex class="wz-md-card">
<md-card-content>
<span class="wz-headline-title">Nodes</span>
<md-divider class="wz-margin-top-10"></md-divider>
<wz-search-bar class="wz-lateral-padding-16" data="nodes" term="nodeSearchTerm" placetext="'Filter nodes...'"></wz-search-bar>
<wz-table-header
layout="row"
data="nodes"
keys="[
{name:'Name',size:25},
{name:'Version',size:25},
{name:'IP',size:25},
{name:'Type',size:25}
]"
>
</wz-table-header>
<wz-table
layout="column"
flex
data="nodes"
nopointer="1"
keys="[
{col:'name',size:25},
{col:'version',size:25},
{col:'ip',size:25},
{col:'type',size:25}
]"
class="no-lateral-padding"
>
</wz-table>
</md-card-content>
</md-card>
</div>
<kbn-dis ng-show="!loading && !showConfig && !showNodes"></kbn-dis>
<div class="wazuh-loading" layout="column" layout-align="center center" ng-show="resultState === 'ready' && !rendered && loading">
<div class="percentage"><i class="fa fa-spinner fa-spin fa-fw" aria-hidden="true"></i></div>
<div class="percentage">{{loadingStatus}}</div>
</div>
<div layout="row" layout-align="center stretch" class="height-400 wz-timelions" ng-show="!loading && !showConfig && !showNodes">
<md-card flex class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Master summary</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis specific-time-range="true" vis-id="'Wazuh-App-Cluster-Overview-Manager'" id="Wazuh-App-Cluster-Overview-Manager"></kbn-vis>
</md-card-content>
</md-card>
<md-card flex class="wz-md-card">
<md-card-content class="wazuh-column">
<span class="wz-headline-title">Overall summary</span>
<md-divider class="wz-margin-top-10"></md-divider>
<kbn-vis specific-time-range="true" vis-id="'Wazuh-App-Cluster-Overview'" id="Wazuh-App-Cluster-Overview"></kbn-vis>
</md-card-content>
</md-card>
</div>
</md-content>

View File

@ -9,5 +9,6 @@
<md-nav-item md-nav-click="submenuNavItem = 'configuration'" name="configuration">Configuration</md-nav-item>
<md-nav-item md-nav-click="submenuNavItem = 'logs'" name="logs">Logs</md-nav-item>
<md-nav-item md-nav-click="reloadGroups()" name="groups">Groups</md-nav-item>
<md-nav-item md-nav-click="submenuNavItem = 'monitoring'" name="monitoring">Monitoring</md-nav-item>
</md-nav-bar>
</div>

View File

@ -2,6 +2,7 @@ include ./manager.head
include ./manager-status.html
include ./manager-configuration.html
include ./manager-osseclog.html
include ./manager-monitoring.html
include ./groups/groups.jade
include ./ruleset/ruleset.jade
include ../footer.foot