mirror of
https://github.com/valitydev/wazuh-kibana-app.git
synced 2024-11-06 01:45:18 +00:00
8e9dff0737
* Remove console.log * Navigate from agents dashboard * Change state by props * Fix settings-wizard * Fix when joinning hosts and registry * Check for new API entries * Close add api component * Remove await * Improve checks for new apis * Test if API is down in wazuh-api * Check down APIs * Api is down component finish * Transform hosts in the backend * Fix key * Adapt removeOrphanentries * Adapt settings-wizard * Improve api-is-down component * Change the way to display the helpers components * Check APIs status when get them * Remove console.log * Check manager sets the status to the API entry * Prevent create wazuh-registry.json without hosts * FIx extensions * Add panel * Change style for wazuh hosts * Show add api component from the table * Refresh API entries * Update wazuh-hosts * Api is down table loading effect * Show API is down when accessing to settings if any API is up * Update cluster info in the settings wizard * Update Kibana version * Refactor design of guides * Change color * Remove wazuh-hosts.yml * Remove hosts from configuration * Change foreach by for * Solves asynchronous problem * Adapt ruleset handler * Upload files * Add more modules to the guide * Show what files were upload and hwat not * Detail the error * Expand fail list * Add button to refresh lists * Fix \n in the migration * Fix api-count * Back from dahsboards * Fix typo * Fix when getting an empty file * Prevent empty lines in cdb lists * Hide index pattern is there are only one * Add missing `await` * Fix eui loader * Change the properties of register-agent component Set the background to transparent Change the title: Add => Deploy * Add register-agent component to add user to group * Show button in general when no agents registered * Show button in FIM when no agents registered * Hide Logtest and Test config * Update output of success/fail uploaded files * More modules * Some fixes * Fix API wizard * Add the RegisterAgent component to overview * Make module selector scrollable and fit current screen * Add Rootcheck. Fix extra attributes * Add reconnect_time to log collection section * Fix example in getting started guide * Detect if is Agent * Scroll to bottom when configuration is generated * Fix groups interactive guide * Revert "Merge branch 'extend-add-new-agent-1767' of https://github.com/wazuh/wazuh-kibana-app" This reverts commit7e56d49a75
, reversing changes made to7706a2e853
. * Fix style * Avoid error when agent is not Active * Revert "Revert "Merge branch 'extend-add-new-agent-1767' of https://github.com/wazuh/wazuh-kibana-app"" This reverts commit6724d12571
. * Delete from groups.html the actrl instance * Fix typos * Refresh hosts in api-is-down component * Set default in props * Fix API count * Iterates the api entries to set one as default * Fix component unmount * Fix flick * Validate method and path in Requests * Adapt 7.4 to 3.10 * Bump version (547) * Fix the documentation broken links (#1853) * Update AWS map * Remove babel-polyfill * Remove babel-polyfill * Restore babel-polyfill for cover simple-tail dependency * Restore babel-polyfill for cover simple-tail dependency * Filters fix (#1854) * Filters fix * Fix the documentation broken links (#1853) * Update AWS map * Removed Discover component from top menu * Update readme * Bump version * Set the correct field in the geoMap viz * Bump version (549 for 3.10.2-7.4.2) * Revert "Set the correct field in the geoMap viz" This reverts commiteffc3b8b55
. * Update branch for 7.4.2 * Update README.md * Update package.json * Fix logo when reverse proxy is enabled (#1888) * Fix hidden overflow in the fim configuration (#1887) * Fix ambiguous message (#1875) * Amazon s3 status fix (#1889) * Fix amazon s3 status error * Fix check aws s3 status * Update wz-no-config.html * Add pinned filters after refresh (#1909) * Fix missing fields in the Visualizations (#1913) * Fixed infinite load on Ciscat view (#1916) * Fixed infinite load on Ciscat-agent view (#1920) * Normalize the field whodata in the group reporting (#1921) * Fix registration guide (#1926) * Fix decoders file (#1929) * Add new table for windows hotfixes (#1932) * Remove visualizations legend (#1936) * XML validator false error for \< (#1895) * Add validator true to \< * Add to gitignore wazuh-registry * Minor Fix * Revert changes for package.json and gitignore * Refactor syscheck table (#1941) (#1956) * Fix missing fields in the Visualizations (#1913) * Fixed infinite load on Ciscat view (#1916) * Fixed infinite load on Ciscat-agent view (#1920) * Normalize the field whodata in the group reporting (#1921) * Fix registration guide (#1926) * Fix decoders file (#1929) * Add new table for windows hotfixes (#1932) * Remove visualizations legend (#1936) * XML validator false error for \< (#1895) * Add validator true to \< * Add to gitignore wazuh-registry * Minor Fix * Revert changes for package.json and gitignore * Refactor syscheck table * Set fixed width to table columns * Expand row to get extra details * Add search bar & allow search * Show extra details on row expand * Remove table description * Fix table margin * Remove wazuh-registry * Add go to edit file in rules and decoders, when it has been created correctly (#1943) * Adapt for 7.5.0 * Bump version to 7.5.0 * Adapt server 7.5.0 * Fix typo * Add fix to adapt 7.5.0 * Adapt server for Kibana 7.5.0 * Remove the table images from the reports * Fix the tables in the reports * Fix the hidden content in management>configuration (#1840) * Fix discover input styling * Fix most active agent * Change the revision number * Fix the undefined value of filters in the reports * Restore package.json dependency * Adapt 7.5.0 in 3.11 (#1960) * Adapt Kibana for 7.5.0 * Several fixes * Fix filters * Bump wazuh version to 3.11.0 * Revert "Adapt 7.5.0 in 3.11 (#1960)" This reverts commit8f9c9aa95a
. * Adapt 7.5.0 for 3.11 (#1961) * Adapt Kibana for 7.5.0 * Several fixes * Fix filters * Bump wazuh version to 3.11.0 * Prepare branch for release * Last fixes in the branch 3.11-7.5 (#1966) * Fixed broken link to the documentation * Update README * Change plugin-helpers reference in package.json * Fix the empty search in syscheck-table * Fix the dead visualizations on CIS-CAT * Update CHANGELOG.md file * Adapt for Kibana 7.5.1 * Adapt for Kibana 7.5.1 * Upadte package list * Fix ciscat panel * Adapt to 7.5.1 * Prevent reload when click in the sameTab * Revert "Prevent reload when click in the sameTab" This reverts commit7e1deb1f07
. * Update version files (#1973) * Update revision code * Update readme * Update Changelog * Update version number of kibana * Added xpack compatibility (#1971) * Update files (#1975) * Update readme file * Update changelog file * Bump Wazuh version to 3.11.1 * Add validator true to -- within a commentary (#1980) * Increased list filesize limit and fixed typo (#1993) As mentioned in #1947 the limit for uploading a list for the CDB-list capability is too low and the resulting error message contains a typo. This commit addresses that by increasing the limit to 5MB and fixing the typo. * Fix maps vis load * Bump version 3.11.2 * Bump for 7.5.2 * Fix Wazuh version in upgrade guide (#2023) The upgrade guide is using a previous version of Wazuh 3.11.1-7.5.2 when the latest version is 3.11.2-7.5.2. * Add WindowsUpdate table to report (#2028) * Bump for Wazuh 3.11.3 * Cancel listener on destroy kibana discover * Fix custom spaces infinite loop * Fix reporting in syscollector * Adapt for 7.6.0 * Update routes kibana * Modified upgrade guide * Bump for 3.11.4 * Update kibana-discover.js * Update package.json * Update CHANGELOG.md * Delete wazuh-registry.json * update changelog master * Adapt for 7.6.1 * Fix reporting syscheck negative values in atrributes * Adapt discover * Fix visualizations report on chrome * Restructure optimize/wazuh folder (#2116) * Restructure optimize/wazuh folder * Update protocol of initial config example * Replace path with a constant * Remove wazuh.yml file * Update README upgrade guide * Fix plugin helper error Co-authored-by: Pablo Torres <pablotr9@correo.ugr.es> * hide manager alerts * Add rule group win_auth_failure to metrics (#2099) * Add PCI 11.2.1 y 11.2.3 rules. (#2062) * Discover in monitoring * Close 3.12-7.6 * Update changelog * Update package.json * Update package.json * merge discover * merge 7.6 * merge 7.6 * Update CHANGELOG.md * Update package.json * Fix merge * Close 6.8.7 * Allow disabling known fields health check (#2037) * Add https to initial wazuh configuration * Add https to Wazuh config example * update changelog * Fix reports path error * Add checks.fields to initial default config * Update initial-wazuh-config.js Co-authored-by: Adri Valle <adri9valle@gmail.com> Co-authored-by: Jose Sanchez <josesanxez@gmail.com> Co-authored-by: Pablo <pablotr9@correo.ugr.es> Co-authored-by: Alberto Andújar <josealbertoandujar@gmail.com> Co-authored-by: Daniel Ruiz Capilla <daniel.ruiz@wazuh.com> Co-authored-by: Juan Carlos Tello <juancarlos.tello@wazuh.com> Co-authored-by: Victor Santaella <victorst79@gmail.com>
163 lines
4.4 KiB
JavaScript
163 lines
4.4 KiB
JavaScript
/*
|
|
* Wazuh app - Reporting service
|
|
* Copyright (C) 2015-2019 Wazuh, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Find more information about this on the LICENSE file.
|
|
*/
|
|
|
|
import $ from 'jquery';
|
|
import moment from 'moment';
|
|
|
|
export class ReportingService {
|
|
constructor(
|
|
$rootScope,
|
|
vis2png,
|
|
rawVisualizations,
|
|
visHandlers,
|
|
genericReq,
|
|
errorHandler,
|
|
wazuhConfig
|
|
) {
|
|
this.$rootScope = $rootScope;
|
|
this.vis2png = vis2png;
|
|
this.rawVisualizations = rawVisualizations;
|
|
this.visHandlers = visHandlers;
|
|
this.genericReq = genericReq;
|
|
this.errorHandler = errorHandler;
|
|
this.wazuhConfig = wazuhConfig;
|
|
}
|
|
|
|
removeAgentStatusVis(idArray) {
|
|
const monitoringEnabled = this.wazuhConfig.getConfig()[
|
|
'wazuh.monitoring.enabled'
|
|
];
|
|
if (!monitoringEnabled) {
|
|
const visArray = idArray.filter(vis => {
|
|
return vis !== 'Wazuh-App-Overview-General-Agents-status';
|
|
});
|
|
return visArray;
|
|
}
|
|
return idArray;
|
|
}
|
|
|
|
async startVis2Png(tab, isAgents = false, syscollectorFilters = null) {
|
|
try {
|
|
if (this.vis2png.isWorking()) {
|
|
this.errorHandler.handle('Report in progress', 'Reporting', true);
|
|
return;
|
|
}
|
|
this.$rootScope.reportBusy = true;
|
|
this.$rootScope.reportStatus = 'Generating report...0%';
|
|
this.$rootScope.$applyAsync();
|
|
|
|
this.vis2png.clear();
|
|
|
|
let idArray = [];
|
|
if (tab === 'general') {
|
|
idArray = this.removeAgentStatusVis(
|
|
this.rawVisualizations.getList().map(item => item.id)
|
|
);
|
|
} else {
|
|
idArray = this.rawVisualizations.getList().map(item => item.id);
|
|
}
|
|
|
|
for (const item of idArray) {
|
|
const tmpHTMLElement = $(`#${item}`);
|
|
this.vis2png.assignHTMLItem(item, tmpHTMLElement);
|
|
}
|
|
|
|
const appliedFilters = this.visHandlers.getAppliedFilters(
|
|
syscollectorFilters
|
|
);
|
|
|
|
const array = await this.vis2png.checkArray(idArray);
|
|
const name = `wazuh-${
|
|
isAgents ? 'agents' : 'overview'
|
|
}-${tab}-${(Date.now() / 1000) | 0}.pdf`;
|
|
|
|
const browserTimezone = moment.tz.guess(true);
|
|
|
|
const data = {
|
|
array,
|
|
name,
|
|
title: isAgents ? `Agents ${tab}` : `Overview ${tab}`,
|
|
filters: appliedFilters.filters,
|
|
time: appliedFilters.time,
|
|
searchBar: appliedFilters.searchBar,
|
|
tables: appliedFilters.tables,
|
|
tab,
|
|
section: isAgents ? 'agents' : 'overview',
|
|
isAgents,
|
|
browserTimezone
|
|
};
|
|
|
|
await this.genericReq.request('POST', '/reports', data);
|
|
|
|
this.$rootScope.reportBusy = false;
|
|
this.$rootScope.reportStatus = false;
|
|
this.$rootScope.$applyAsync();
|
|
this.errorHandler.info(
|
|
'Success. Go to Wazuh > Management > Reporting',
|
|
'Reporting'
|
|
);
|
|
|
|
return;
|
|
} catch (error) {
|
|
this.$rootScope.reportBusy = false;
|
|
this.$rootScope.reportStatus = false;
|
|
this.errorHandler.handle(error.message || error);
|
|
}
|
|
}
|
|
|
|
async startConfigReport(obj, type, components) {
|
|
try {
|
|
this.$rootScope.reportBusy = true;
|
|
this.$rootScope.reportStatus = 'Generating PDF document...';
|
|
this.$rootScope.$applyAsync();
|
|
|
|
const docType =
|
|
type === 'agentConfig'
|
|
? `wazuh-agent-${obj.id}`
|
|
: `wazuh-group-${obj.name}`;
|
|
|
|
const name = `${docType}-configuration-${(Date.now() / 1000) | 0}.pdf`;
|
|
const browserTimezone = moment.tz.guess(true);
|
|
|
|
const data = {
|
|
array: [],
|
|
name,
|
|
filters: [
|
|
type === 'agentConfig' ? { agent: obj.id } : { group: obj.name }
|
|
],
|
|
time: '',
|
|
searchBar: '',
|
|
tables: [],
|
|
tab: type,
|
|
browserTimezone,
|
|
components
|
|
};
|
|
|
|
await this.genericReq.request('POST', '/reports', data);
|
|
|
|
this.$rootScope.reportBusy = false;
|
|
this.$rootScope.reportStatus = false;
|
|
this.$rootScope.$applyAsync();
|
|
this.errorHandler.info(
|
|
'Success. Go to Wazuh > Management > Reporting',
|
|
'Reporting'
|
|
);
|
|
|
|
return;
|
|
} catch (error) {
|
|
this.$rootScope.reportBusy = false;
|
|
this.$rootScope.reportStatus = false;
|
|
this.errorHandler.handle(error.message || error);
|
|
this.$rootScope.$applyAsync();
|
|
}
|
|
}
|
|
} |