Cleaning controllers. Arranging files. Rename files

This commit is contained in:
Pedro S 2017-01-13 03:02:27 -08:00
parent 54e53c6ff6
commit f012ff377a
13 changed files with 264 additions and 383 deletions

View File

@ -2,7 +2,7 @@
"name": "wazuh",
"version": "2.0.0-beta1",
"kibana": {
"version" : "5.1.1"
"version" : "5.1.2"
},
"description": "Wazuh App",
"main": "index.js",

View File

@ -35,15 +35,25 @@ require('plugins/wazuh/directives/kibanaDashboardDirective.js');
require('plugins/wazuh/directives/kibanaSearchbarDirective.js');
// Require controllers
// Global
require('plugins/wazuh/controllers/general.js');
// Overview
require('plugins/wazuh/controllers/overview.js');
require('plugins/wazuh/controllers/agents.js');
require('plugins/wazuh/controllers/settings.js');
// Manager
require('plugins/wazuh/controllers/manager.js');
require('plugins/wazuh/controllers/fim.js');
require('plugins/wazuh/controllers/policy-monitoring.js');
require('plugins/wazuh/controllers/ruleset.js');
require('plugins/wazuh/controllers/osseclog.js');
// Agents
require('plugins/wazuh/controllers/agentsOverview.js');
require('plugins/wazuh/controllers/agentsPreview.js');
require('plugins/wazuh/controllers/agentsFim.js');
require('plugins/wazuh/controllers/agentsPm.js');
// Settings
require('plugins/wazuh/controllers/settings.js');
require('plugins/wazuh/controllers/testController.js');
//Bootstrap and font awesome

View File

@ -23,10 +23,6 @@ app.controller('fimController', function ($scope, $q, DataFactory, $mdToast, err
};
//Functions
$scope.setTimer = function (time) {
$scope.timerFilterValue = time;
};
$scope.setSort = function (field) {
if ($scope._sort === field) {
@ -149,7 +145,6 @@ app.controller('fimController', function ($scope, $q, DataFactory, $mdToast, err
//Load
try {
load();
$scope.setTimer($scope.$parent.timeFilter);
} catch (e) {
$mdToast.show({
template: '<md-toast> Unexpected exception loading controller </md-toast>',
@ -159,13 +154,7 @@ app.controller('fimController', function ($scope, $q, DataFactory, $mdToast, err
errlog.log('Unexpected exception loading controller', e);
}
// Timer filter watch
var timerWatch = $scope.$watch(function () {
return $scope.$parent.timeFilter;
}, function () {
$scope.setTimer($scope.$parent.timeFilter);
});
//Destroy
$scope.$on("$destroy", function () {
@ -174,7 +163,6 @@ app.controller('fimController', function ($scope, $q, DataFactory, $mdToast, err
});
$scope.files.length = 0;
loadWatch();
timerWatch();
});
});

View File

@ -0,0 +1,75 @@
// Require config
var app = require('ui/modules').get('app/wazuh', []);
app.controller('agentsController', function ($scope, DataFactory, $mdToast) {
//Initialisation
$scope.load = true;
$scope.agentInfo = [];
var objectsArray = [];
var loadWatch;
//Print Error
var printError = function (error) {
$mdToast.show({
template: '<md-toast>' + error.html + '</md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
if ($scope.blocked) {
$scope.blocked = false;
}
};
//Functions
$scope.fetchAgent = function (agent) {
DataFactory.getAndClean('get', '/agents/' + agent.id, {})
.then(function (data) {
$scope.agentInfo = data.data;
$scope.$parent._agent.status = data.data.status;
if (agent.id != '000') {
DataFactory.getAndClean('get', '/agents/' + agent.id + '/key', {})
.then(function (data) {
$scope.agentInfo.key = data.data;
$scope.load = false;
$scope.$parent.load = false;
}, printError);
}
}, printError);
$scope.fetchFim(agent);
$scope.fetchRootcheck(agent);
};
$scope.fetchFim = function (agent) {
DataFactory.getAndClean('get', '/syscheck/' + agent.id, { 'offset': 0, 'limit': 5 })
.then(function (data) {
$scope.agentInfo.syscheckEvents = data.data.items;
}, printError);
};
$scope.fetchRootcheck = function (agent) {
DataFactory.getAndClean('get', '/rootcheck/' + agent.id, { 'offset': 0, 'limit': 5 })
.then(function (data) {
$scope.agentInfo.rootcheckEvents = data.data.items;
}, printError);
};
//Load
loadWatch = $scope.$watch(function () {
return $scope.$parent._agent;
}, function () {
$scope.fetchAgent($scope.$parent._agent);
});
//Destroy
$scope.$on("$destroy", function () {
angular.forEach(objectsArray, function (value) {
DataFactory.clean(value)
});
//loadWatch();
});
});

View File

@ -1,155 +1,156 @@
// Require config
var app = require('ui/modules').get('app/wazuh', []);
app.controller('pmController', function ($scope, DataFactory, $mdToast, errlog, appState) { //Initialisation
$scope.load = true;
var objectsArray = [];
var loadWatch;
$scope.defaultManagerName = appState.getDefaultManager().name;
$scope.events = [];
//Print Error
var printError = function (error) {
$mdToast.show({
template: '<md-toast>' + error.html + '</md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
if ($scope._eblocked) {
$scope._eblocked = false;
}
}
//Functions
$scope.setTimer = function (time) {
$scope.timerFilterValue = time;
};
$scope.setSort = function (field) {
if ($scope._sort === field) {
if ($scope._sortOrder) {
$scope._sortOrder = false;
$scope._sort = '';
DataFactory.filters.unset(objectsArray['/rootcheck'], 'filter-sort');
} else {
$scope._sortOrder = true;
DataFactory.filters.set(objectsArray['/rootcheck'], 'filter-sort', field);
}
} else {
$scope._sortOrder = false;
$scope._sort = field;
DataFactory.filters.set(objectsArray['/rootcheck'], 'filter-sort', '-' + field);
}
}
$scope.eventSearchFilter = function (search) {
if (search) {
DataFactory.filters.set(objectsArray['/rootcheck'], 'search', search);
} else {
DataFactory.filters.unset(objectsArray['/rootcheck'], 'search');
}
};
$scope.eventsObj = {
//Obj with methods for virtual scrolling
getItemAtIndex: function (index) {
if ($scope._eblocked) {
return null;
}
var _pos = index - DataFactory.getOffset(objectsArray['/rootcheck']);
if (DataFactory.filters.flag(objectsArray['/rootcheck'])) {
$scope._eblocked = true;
DataFactory.scrollTo(objectsArray['/rootcheck'], 200)
.then(function (data) {
$scope.events.length = 0;
$scope.events = data.data.items;
DataFactory.filters.unflag(objectsArray['/rootcheck']);
$scope._eblocked = false;
}, printError);
} else if ((_pos > 150) || (_pos < 0)) {
$scope._eblocked = true;
DataFactory.scrollTo(objectsArray['/rootcheck'], index)
.then(function (data) {
$scope.events.length = 0;
$scope.events = data.data.items;
$scope._eblocked = false;
}, printError);
} else {
return $scope.events[_pos];
}
},
getLength: function () {
return DataFactory.getTotalItems(objectsArray['/rootcheck']);
},
};
var createWatch = function () {
loadWatch = $scope.$watch(function () {
return $scope.$parent._agent;
}, function () {
DataFactory.initialize('get', '/rootcheck/' + $scope.$parent._agent.id, {}, 200, 0)
.then(function (data) {
DataFactory.clean(objectsArray['/rootcheck']);
objectsArray['/rootcheck'] = data;
DataFactory.get(objectsArray['/rootcheck'])
.then(function (data) {
$scope.events.length = 0;
$scope.events = data.data.items;
DataFactory.filters.register(objectsArray['/rootcheck'], 'search', 'string');
DataFactory.filters.register(objectsArray['/rootcheck'], 'filter-sort', 'string');
$scope._sort = '';
$scope.eventSearchFilter($scope._eventSearch);
}, printError);
}, printError);
});
};
var load = function () {
DataFactory.initialize('get', '/rootcheck/' + $scope.$parent._agent.id, {}, 200, 0)
.then(function (data) {
objectsArray['/rootcheck'] = data;
DataFactory.get(objectsArray['/rootcheck'])
.then(function (data) {
$scope.events = data.data.items;
$scope.totalEvents = data.data.totalItems;
DataFactory.filters.register(objectsArray['/rootcheck'], 'search', 'string');
DataFactory.filters.register(objectsArray['/rootcheck'], 'filter-sort', 'string');
createWatch();
$scope.load = false;
}, printError);
}, printError);
};
//Load
try {
load();
$scope.setTimer($scope.$parent.timeFilter);
} catch (e) {
$mdToast.show({
template: '<md-toast> Unexpected exception loading controller </md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
errlog.log('Unexpected exception loading controller', e);
}
// Timer filter watch
var timerWatch = $scope.$watch(function () {
return $scope.$parent.timeFilter;
}, function () {
$scope.setTimer($scope.$parent.timeFilter);
});
//Destroy
$scope.$on("$destroy", function () {
angular.forEach(objectsArray, function (value) {
DataFactory.clean(value)
});
$scope.events.length = 0;
loadWatch();
timerWatch();
});
})
// Require config
var app = require('ui/modules').get('app/wazuh', []);
app.controller('pmController', function ($scope, DataFactory, $mdToast, errlog, appState) {
//Initialisation
$scope.load = true;
var objectsArray = [];
var loadWatch;
$scope.defaultManagerName = appState.getDefaultManager().name;
$scope.events = [];
//Print Error
var printError = function (error) {
$mdToast.show({
template: '<md-toast>' + error.html + '</md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
if ($scope._eblocked) {
$scope._eblocked = false;
}
}
//Functions
$scope.setTimer = function (time) {
$scope.timerFilterValue = time;
};
$scope.setSort = function (field) {
if ($scope._sort === field) {
if ($scope._sortOrder) {
$scope._sortOrder = false;
$scope._sort = '';
DataFactory.filters.unset(objectsArray['/rootcheck'], 'filter-sort');
} else {
$scope._sortOrder = true;
DataFactory.filters.set(objectsArray['/rootcheck'], 'filter-sort', field);
}
} else {
$scope._sortOrder = false;
$scope._sort = field;
DataFactory.filters.set(objectsArray['/rootcheck'], 'filter-sort', '-' + field);
}
}
$scope.eventSearchFilter = function (search) {
if (search) {
DataFactory.filters.set(objectsArray['/rootcheck'], 'search', search);
} else {
DataFactory.filters.unset(objectsArray['/rootcheck'], 'search');
}
};
$scope.eventsObj = {
//Obj with methods for virtual scrolling
getItemAtIndex: function (index) {
if ($scope._eblocked) {
return null;
}
var _pos = index - DataFactory.getOffset(objectsArray['/rootcheck']);
if (DataFactory.filters.flag(objectsArray['/rootcheck'])) {
$scope._eblocked = true;
DataFactory.scrollTo(objectsArray['/rootcheck'], 200)
.then(function (data) {
$scope.events.length = 0;
$scope.events = data.data.items;
DataFactory.filters.unflag(objectsArray['/rootcheck']);
$scope._eblocked = false;
}, printError);
} else if ((_pos > 150) || (_pos < 0)) {
$scope._eblocked = true;
DataFactory.scrollTo(objectsArray['/rootcheck'], index)
.then(function (data) {
$scope.events.length = 0;
$scope.events = data.data.items;
$scope._eblocked = false;
}, printError);
} else {
return $scope.events[_pos];
}
},
getLength: function () {
return DataFactory.getTotalItems(objectsArray['/rootcheck']);
},
};
var createWatch = function () {
loadWatch = $scope.$watch(function () {
return $scope.$parent._agent;
}, function () {
DataFactory.initialize('get', '/rootcheck/' + $scope.$parent._agent.id, {}, 200, 0)
.then(function (data) {
DataFactory.clean(objectsArray['/rootcheck']);
objectsArray['/rootcheck'] = data;
DataFactory.get(objectsArray['/rootcheck'])
.then(function (data) {
$scope.events.length = 0;
$scope.events = data.data.items;
DataFactory.filters.register(objectsArray['/rootcheck'], 'search', 'string');
DataFactory.filters.register(objectsArray['/rootcheck'], 'filter-sort', 'string');
$scope._sort = '';
$scope.eventSearchFilter($scope._eventSearch);
}, printError);
}, printError);
});
};
var load = function () {
DataFactory.initialize('get', '/rootcheck/' + $scope.$parent._agent.id, {}, 200, 0)
.then(function (data) {
objectsArray['/rootcheck'] = data;
DataFactory.get(objectsArray['/rootcheck'])
.then(function (data) {
$scope.events = data.data.items;
$scope.totalEvents = data.data.totalItems;
DataFactory.filters.register(objectsArray['/rootcheck'], 'search', 'string');
DataFactory.filters.register(objectsArray['/rootcheck'], 'filter-sort', 'string');
createWatch();
$scope.load = false;
}, printError);
}, printError);
};
//Load
try {
load();
$scope.setTimer($scope.$parent.timeFilter);
} catch (e) {
$mdToast.show({
template: '<md-toast> Unexpected exception loading controller </md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
errlog.log('Unexpected exception loading controller', e);
}
// Timer filter watch
var timerWatch = $scope.$watch(function () {
return $scope.$parent.timeFilter;
}, function () {
$scope.setTimer($scope.$parent.timeFilter);
});
//Destroy
$scope.$on("$destroy", function () {
angular.forEach(objectsArray, function (value) {
DataFactory.clean(value)
});
$scope.events.length = 0;
loadWatch();
timerWatch();
});
})

View File

@ -2,79 +2,6 @@
require('plugins/wazuh/utils/infinite_scroll/infinite-scroll.js');
var app = require('ui/modules').get('app/wazuh', []);
app.controller('agentsController', function ($scope, DataFactory, $mdToast) {
//Initialisation
$scope.load = true;
$scope.agentInfo = [];
var objectsArray = [];
var loadWatch;
//Print Error
var printError = function (error) {
$mdToast.show({
template: '<md-toast>' + error.html + '</md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
if ($scope.blocked) {
$scope.blocked = false;
}
};
//Functions
$scope.fetchAgent = function (agent) {
DataFactory.getAndClean('get', '/agents/' + agent.id, {})
.then(function (data) {
$scope.agentInfo = data.data;
$scope.$parent._agent.status = data.data.status;
if (agent.id != '000') {
DataFactory.getAndClean('get', '/agents/' + agent.id + '/key', {})
.then(function (data) {
$scope.agentInfo.key = data.data;
$scope.load = false;
$scope.$parent.load = false;
}, printError);
}
}, printError);
$scope.fetchFim(agent);
$scope.fetchRootcheck(agent);
};
$scope.fetchFim = function (agent) {
DataFactory.getAndClean('get', '/syscheck/' + agent.id, { 'offset': 0, 'limit': 5 })
.then(function (data) {
$scope.agentInfo.syscheckEvents = data.data.items;
}, printError);
};
$scope.fetchRootcheck = function (agent) {
DataFactory.getAndClean('get', '/rootcheck/' + agent.id, { 'offset': 0, 'limit': 5 })
.then(function (data) {
$scope.agentInfo.rootcheckEvents = data.data.items;
}, printError);
};
//Load
loadWatch = $scope.$watch(function () {
return $scope.$parent._agent;
}, function () {
$scope.fetchAgent($scope.$parent._agent);
});
//Destroy
$scope.$on("$destroy", function () {
angular.forEach(objectsArray, function (value) {
DataFactory.clean(value)
});
//loadWatch();
});
});
app.factory('Agents', function($http, DataFactory) {
var Agents = function(objectsArray, items) {
this.items = items;
@ -232,4 +159,4 @@ app.controller('agentsPreviewController', function ($scope, DataFactory, $mdToas
});
$scope.agents.length = 0;
});
});
});

View File

@ -5,47 +5,7 @@ app.controller('overviewGeneralController', function ($scope, DataFactory, gener
$scope.load = true;
$scope.defaultManager = $scope.$parent.state.getDefaultManager().name;
$scope.stats = [];
//Print Error
var printError = function (error) {
$mdToast.show({
template: '<md-toast>' + error.html + '</md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
};
//Functions
$scope.setTimer = function (time) {
$scope.timerFilterValue = time;
};
//Load
try {
$scope.setTimer($scope.$parent.timeFilter);
} catch (e) {
$mdToast.show({
template: '<md-toast> Unexpected exception loading controller </md-toast>',
position: 'bottom left',
hideDelay: 5000,
});
errlog.log('Unexpected exception loading controller', e);
}
// Timer filter watch
var loadWatch = $scope.$watch(function () {
return $scope.$parent.timeFilter;
}, function () {
$scope.setTimer($scope.$parent.timeFilter);
});
//Destroy
$scope.$on("$destroy", function () {
$scope.stats.length = 0;
loadWatch();
});
});
@ -53,9 +13,7 @@ app.controller('overviewGeneralController', function ($scope, DataFactory, gener
app.controller('overviewFimController', function ($scope, DataFactory, genericReq, $mdToast, errlog) {
//Initialisation
$scope.load = true;
$scope.$parent.state.setOverviewState('fim');
$scope.defaultManager = $scope.$parent.state.getDefaultManager().name;
$scope.stats = [];
//Print Error
var printError = function (error) {
@ -67,27 +25,8 @@ app.controller('overviewFimController', function ($scope, DataFactory, genericRe
};
//Functions
$scope.setTimer = function (time) {
$scope.timerFilterValue = time;
};
var load_tops = function () {
var daysAgo = 1;
if ($scope.timerFilterValue == "24h") {
daysAgo = 1;
} else if ($scope.timerFilterValue == "7d") {
daysAgo = 7;
} else if ($scope.timerFilterValue == "30d") {
daysAgo = 30;
} else {
daysAgo = 1;
}
var date = new Date();
date.setDate(date.getDate() - daysAgo);
var timeAgo = date.getTime();
// Last fields
@ -110,7 +49,6 @@ app.controller('overviewFimController', function ($scope, DataFactory, genericRe
//Load
try {
$scope.setTimer($scope.$parent.timeFilter);
load_tops();
} catch (e) {
$mdToast.show({
@ -121,20 +59,6 @@ app.controller('overviewFimController', function ($scope, DataFactory, genericRe
errlog.log('Unexpected exception loading controller', e);
}
// Timer filter watch
var loadWatch = $scope.$watch(function () {
return $scope.$parent.timeFilter;
}, function () {
$scope.setTimer($scope.$parent.timeFilter);
load_tops();
});
//Destroy
$scope.$on("$destroy", function () {
$scope.stats.length = 0;
loadWatch();
});
});
@ -143,7 +67,6 @@ app.controller('overviewPMController', function ($scope, DataFactory, genericReq
$scope.load = true;
$scope.$parent.state.setOverviewState('pm');
$scope.defaultManager = $scope.$parent.state.getDefaultManager().name;
$scope.stats = [];
//Print Error
var printError = function (error) {
@ -154,36 +77,9 @@ app.controller('overviewPMController', function ($scope, DataFactory, genericReq
});
};
//Functions
$scope.setTimer = function (time) {
$scope.timerFilterValue = time;
};
var load_tops = function () {
var daysAgo = 1;
if ($scope.timerFilterValue == "24h") {
daysAgo = 1;
} else if ($scope.timerFilterValue == "7d") {
daysAgo = 7;
} else if ($scope.timerFilterValue == "30d") {
daysAgo = 30;
} else {
daysAgo = 1;
}
var date = new Date();
date.setDate(date.getDate() - daysAgo);
var timeAgo = date.getTime();
// Top fields
genericReq.request('GET', '/api/wazuh-elastic/top/'+$scope.defaultManager+'/AgentName/'+timeAgo)
.then(function (data) {
$scope.topagent = data.data;
}, printError);
// Last fields
@ -206,14 +102,11 @@ app.controller('overviewPMController', function ($scope, DataFactory, genericReq
.then(function (data) {
$scope.lastEventAgentIP = (data.data != "") ? data.data : "";
}, printError);
};
//Load
try {
$scope.setTimer($scope.$parent.timeFilter);
load_tops();
} catch (e) {
$mdToast.show({
@ -224,18 +117,5 @@ app.controller('overviewPMController', function ($scope, DataFactory, genericReq
errlog.log('Unexpected exception loading controller', e);
}
// Timer filter watch
var loadWatch = $scope.$watch(function () {
return $scope.$parent.timeFilter;
}, function () {
$scope.setTimer($scope.$parent.timeFilter);
load_tops();
});
//Destroy
$scope.$on("$destroy", function () {
$scope.stats.length = 0;
loadWatch();
});
});

View File

@ -103,7 +103,7 @@
<md-card flex="100">
<md-card-title>
<md-card-title-text>
<span class="md-headline">Last events</span>
<span class="md-headline">Alerts summary</span>
</md-card-title-text>
</md-card-title>
<kbn-vis vis-height="600px" vis-type="table" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(customLabel:Agent,field:agent.name,order:desc,orderBy:'1',size:100),schema:bucket,type:terms),(enabled:!t,id:'4',params:(customLabel:File,field:syscheck.path,order:desc,orderBy:'1',size:500),schema:bucket,type:terms),(enabled:!t,id:'5',params:(customLabel:Event,field:syscheck.event,order:desc,orderBy:'1',size:10),schema:bucket,type:terms),(enabled:!t,id:'6',params:(customLabel:Description,field:rule.description,order:desc,orderBy:'1',size:10),schema:bucket,type:terms)),listeners:(),params:(perPage:10,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'New%20Visualization',type:table))"

View File

@ -44,11 +44,11 @@
<md-card flex="100">
<md-card-title>
<md-card-title-text>
<span class="md-headline">Last events</span>
<span class="md-headline">Alerts summary</span>
</md-card-title-text>
</md-card-title>
<kbn-vis vis-height="600px" vis-type="table" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'location:%20rootcheck')),uiState:(vis:(params:(sort:(columnIndex:3,direction:desc)))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:agent.name,order:desc,orderBy:'1',size:5000),schema:bucket,type:terms),(enabled:!t,id:'3',params:(field:rule.description,order:desc,orderBy:'1',size:1),schema:bucket,type:terms),(enabled:!t,id:'4',params:(field:title,order:desc,orderBy:'1',size:1),schema:bucket,type:terms)),listeners:(),params:(perPage:10,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'New%20Visualization',type:table))"
<kbn-vis vis-height="600px" vis-type="table" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(vis:(params:(sort:(columnIndex:3,direction:desc)))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(customLabel:'Agent%20name',field:agent.name,order:desc,orderBy:'1',size:999999999),schema:bucket,type:terms),(enabled:!t,id:'3',params:(customLabel:'Rule%20description',field:rule.description,order:desc,orderBy:'1',size:999999999),schema:bucket,type:terms),(enabled:!t,id:'4',params:(customLabel:Control,field:title,order:desc,orderBy:'1',size:999999999),schema:bucket,type:terms)),listeners:(),params:(perPage:10,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'New%20Visualization',type:table))"
vis-filter="rule.groups: rootcheck AND {{'agent.name:'+_agent.name}}">
</kbn-vis>

View File

@ -10,7 +10,7 @@
</md-card>
<md-card>
<md-card-content>
<kbn-vis vis-height="72px" vis-type="metric" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'rule.groups:%22syscheck%22%20AND%20full_log:%22Integrity%20checksum%20changed%22%20NOT%20location:%20syscheck-registry')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(customLabel:'Changed'),schema:metric,type:count)),listeners:(),params:(fontSize:20,handleNoResults:!t),title:'New%20Visualization',type:metric))" vis-filter='(rule.id: 550 OR rule.id: 551 OR rule.id: 552 OR rule.id: 555)'>
<kbn-vis vis-height="72px" vis-type="metric" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'rule.groups:%22syscheck%22%20AND%20full_log:%22Integrity%20checksum%20changed%22%20NOT%20location:%20syscheck-registry')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(customLabel:'Modified'),schema:metric,type:count)),listeners:(),params:(fontSize:20,handleNoResults:!t),title:'New%20Visualization',type:metric))" vis-filter='(rule.id: 550 OR rule.id: 551 OR rule.id: 552 OR rule.id: 555)'>
</kbn-vis>
</md-card-content>
</md-card>
@ -60,7 +60,7 @@
<kbn-vis-value vis-height="37px" vis-type="table" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),vis:(aggs:!((enabled:!t,id:'1',params:(field:'@timestamp'),schema:metric,type:max),(enabled:!t,id:'2',params:(field:syscheck.path,order:desc,orderBy:'1',size:1),schema:bucket,type:terms)),listeners:(),params:(perPage:1,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'New%20Visualization',type:table))"
vis-filter="syscheck.event: modified AND location: syscheck">
</kbn-vis-value>
<div class="ng-binding">Last file changed</div>
<div class="ng-binding">Last file modified</div>
</md-card-content>
</md-card>
<md-card flex layout="column">
@ -86,7 +86,7 @@
<md-card flex="33">
<md-card-content>
<div class="md-headline">Top changed</div>
<div class="md-headline">Top file changes</div>
<kbn-vis vis-height="193px" vis-type="pie" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:syscheck.path,order:desc,orderBy:'1',size:8),schema:segment,type:terms)),listeners:(),params:(addLegend:!t,addTooltip:!t,isDonut:!f,shareYAxis:!t),title:'FIM%20Top%2010%20Changed',type:pie))"
vis-filter='rule.groups:"syscheck" AND full_log:"Integrity checksum changed" NOT location: syscheck-registry'>
</md-card-content>
@ -94,7 +94,7 @@
<md-card flex="33">
<md-card-content>
<div class="md-headline">Top root related changes</div>
<div class="md-headline">Root user file changes</div>
<kbn-vis vis-height="193px" vis-type="pie" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:syscheck.path,order:desc,orderBy:'1',size:8),schema:segment,type:terms)),listeners:(),params:(addLegend:!t,addTooltip:!t,isDonut:!f,shareYAxis:!t),title:'FIM%20Top%2010%20Changed',type:pie))"
vis-filter='rule.groups:"syscheck" AND full_log:"Integrity checksum changed" NOT location: syscheck-registry AND root'>
</md-card-content>
@ -102,7 +102,7 @@
<md-card flex="33">
<md-card-content>
<div class="md-headline">Top world writable</div>
<div class="md-headline">World writable modified files</div>
<kbn-vis vis-height="193px" vis-type="pie" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'rule.groups:%22syscheck%22%20AND%20_exists_:syscheck.perm_after%20AND%20%20(syscheck.perm_after:%2F%5B0-7%5D%7B5%7D(%5B2367%5D).*%2F)')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:syscheck.path,order:desc,orderBy:'1',size:8),schema:segment,type:terms)),listeners:(),params:(addLegend:!t,addTooltip:!t,isDonut:!f,shareYAxis:!t),title:'FIM%20Top%2010%20Files',type:pie))"
vis-filter='rule.groups:"syscheck" AND _exists_:syscheck.perm_after AND (syscheck.perm_after:/[0-7]{5}([2367]).*/) '>
</md-card-content>
@ -133,7 +133,7 @@
<md-card flex="40" layout="column">
<md-card-content style="text-align: center;">
<kbn-vis-value vis-height="37px" vis-type="table" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:syscheck.path,order:desc,orderBy:'1',size:1),schema:bucket,type:terms)),listeners:(),params:(perPage:1,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'New%20Visualization',type:table))" vis-filter="location: syscheck"></kbn-vis-value>
<div class="ng-binding">Most changed file</div>
<div class="ng-binding">Most modified file</div>
</md-card-content>
</md-card>

View File

@ -54,8 +54,8 @@
<div layout="row" layout-align="center stretch">
<md-card flex="65">
<md-card-content>
<span class="md-headline">Agents</span>
<kbn-vis vis-height="193px" vis-type="area" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(customInterval:'2h',extended_bounds:(),field:'@timestamp',interval:auto,min_doc_count:1),schema:segment,type:date_histogram),(enabled:!t,id:'3',params:(field:agent.name,order:desc,orderBy:'1',size:8),schema:group,type:terms)),listeners:(),params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,defaultYExtents:!f,interpolate:linear,legendPosition:right,mode:overlap,scale:linear,setYExtents:!f,shareYAxis:!t,smoothLines:!t,times:!(),yAxis:()),title:'Agents',type:area))"
<span class="md-headline">Alerts evolution - Top 10 agents</span>
<kbn-vis vis-height="240px" vis-type="area" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(customInterval:'2h',extended_bounds:(),field:'@timestamp',interval:auto,min_doc_count:1),schema:segment,type:date_histogram),(enabled:!t,id:'3',params:(field:agent.name,order:desc,orderBy:'1',size:10),schema:group,type:terms)),listeners:(),params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,defaultYExtents:!f,interpolate:linear,legendPosition:right,mode:overlap,scale:linear,setYExtents:!f,shareYAxis:!t,smoothLines:!t,times:!(),yAxis:()),title:'Agents',type:area))"
vis-filter="*"
>
</kbn-vis>
@ -67,7 +67,7 @@
<md-card layout="column" flex="45">
<md-card-content>
<span class="md-headline">Agents status</span>
<kbn-vis vis-height="193px" vis-type="line" vis-index-pattern="wazuh-monitoring-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(),vis:(aggs:!((enabled:!t,id:'2',params:(customInterval:'2h',extended_bounds:(),field:'@timestamp',interval:'auto',min_doc_count:1),schema:segment,type:date_histogram),(enabled:!t,id:'3',params:(field:id),schema:metric,type:cardinality),(enabled:!t,id:'4',params:(field:status,order:asc,orderBy:'3',size:5),schema:group,type:terms)),listeners:(),params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,defaultYExtents:!f,drawLinesBetweenPoints:!t,interpolate:linear,radiusRatio:9,scale:linear,setYExtents:!f,shareYAxis:!t,showCircles:!t,smoothLines:!f,times:!(),yAxis:()),title:'Agents Status',type:line))"
<kbn-vis vis-height="240px" vis-type="line" vis-index-pattern="wazuh-monitoring-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(),vis:(aggs:!((enabled:!t,id:'2',params:(customInterval:'2h',extended_bounds:(),field:'@timestamp',interval:'auto',min_doc_count:1),schema:segment,type:date_histogram),(enabled:!t,id:'3',params:(field:id),schema:metric,type:cardinality),(enabled:!t,id:'4',params:(field:status,order:asc,orderBy:'3',size:5),schema:group,type:terms)),listeners:(),params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,defaultYExtents:!f,drawLinesBetweenPoints:!t,interpolate:linear,radiusRatio:9,scale:linear,setYExtents:!f,shareYAxis:!t,showCircles:!t,smoothLines:!f,times:!(),yAxis:()),title:'Agents Status',type:line))"
vis-filter="*">
</kbn-vis>
</md-card-content>

View File

@ -36,7 +36,7 @@
<md-card flex>
<md-card-content>
<span class="md-headline">Events per agent evolution</span>
<kbn-vis vis-height="220px" vis-type="line" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'rule.groups:%22rootcheck%22')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(customInterval:'2h',extended_bounds:(),field:'@timestamp',interval:auto,min_doc_count:1),schema:segment,type:date_histogram),(enabled:!t,id:'3',params:(field:agent.name,order:desc,orderBy:'1',size:5),schema:group,type:terms)),listeners:(),params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,defaultYExtents:!f,drawLinesBetweenPoints:!t,interpolate:linear,radiusRatio:9,scale:linear,setYExtents:!f,shareYAxis:!t,showCircles:!t,smoothLines:!f,times:!(),yAxis:()),title:'New%20Visualization',type:line))"
<kbn-vis vis-height="220px" vis-type="line" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(customInterval:'2h',extended_bounds:(),field:'@timestamp',interval:auto,min_doc_count:1),schema:segment,type:date_histogram),(enabled:!t,id:'3',params:(field:agent.name,order:desc,orderBy:'1',size:5),schema:group,type:terms)),listeners:(),params:(addLegend:!t,addTimeMarker:!f,addTooltip:!t,defaultYExtents:!f,drawLinesBetweenPoints:!t,interpolate:linear,radiusRatio:9,scale:linear,setYExtents:!f,shareYAxis:!t,showCircles:!t,smoothLines:!f,times:!(),yAxis:()),title:'New%20Visualization',type:line))"
vis-filter='rule.groups:"rootcheck"'>
</kbn-vis>
</md-card-content>
@ -52,8 +52,8 @@
</md-card-title-text>
</md-card-title>
<md-card-content>
<kbn-vis vis-height="460px" vis-type="table" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'location:%20rootcheck')),uiState:(vis:(params:(sort:(columnIndex:3,direction:desc)))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:agent.name,order:desc,orderBy:'1',size:5000),schema:bucket,type:terms),(enabled:!t,id:'3',params:(field:rule.description,order:desc,orderBy:'1',size:1),schema:bucket,type:terms),(enabled:!t,id:'4',params:(field:title,order:desc,orderBy:'1',size:1),schema:bucket,type:terms)),listeners:(),params:(perPage:10,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'New%20Visualization',type:table))"
vis-filter='location: rootcheck'>
<kbn-vis vis-height="460px" vis-type="table" vis-index-pattern="wazuh-alerts-*" vis-a="(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(vis:(params:(sort:(columnIndex:3,direction:desc)))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(customLabel:'Agent%20name',field:agent.name,order:desc,orderBy:'1',size:999999999),schema:bucket,type:terms),(enabled:!t,id:'3',params:(customLabel:'Rule%20description',field:rule.description,order:desc,orderBy:'1',size:999999999),schema:bucket,type:terms),(enabled:!t,id:'4',params:(customLabel:Control,field:title,order:desc,orderBy:'1',size:999999999),schema:bucket,type:terms)),listeners:(),params:(perPage:10,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'New%20Visualization',type:table))"
vis-filter='rule.groups:"rootcheck"'>
</kbn-vis>
</md-card-content>
</md-card>

File diff suppressed because one or more lines are too long