Documentation Index Fetch the complete documentation index at: https://mintlify.com/wazuh/wazuh-dashboard-plugins/llms.txt
Use this file to discover all available pages before exploring further.
The Overview components provide dashboard views, statistics displays, and module interfaces for visualizing Wazuh data.
Overview
Main overview dashboard component with module navigation.
Location: plugins/main/public/components/overview/overview.tsx:31
Usage
import React from 'react' ;
import { Overview } from '../components/overview/overview' ;
function App () {
return < Overview />;
}
The Overview component is a routed component that handles:
Welcome screen display
Module dashboards (Security Events, FIM, Vulnerabilities, etc.)
Agent selection and filtering
Query state management
Query Parameters
The component responds to URL query parameters:
Active module tab Possible values:
"welcome" - Welcome dashboard
"general" - Security events
"fim" - File integrity monitoring
"vulnerability" - Vulnerability detection
"mitre" - MITRE ATT&CK
"virustotal" - VirusTotal integration
"osquery" - Osquery
"docker" - Docker monitoring
And more module-specific tabs
tabView
string
default: "dashboard"
View mode for the selected tab Possible values:
"dashboard" - Dashboard view
"events" - Events table view
"panels" - Custom panels view
Filter data by specific agent ID
Example URLs
# Welcome dashboard
/app/wazuh#/overview?tab=welcome
# Security events for specific agent
/app/wazuh#/overview?tab=general&agentId=001
# FIM events view
/app/wazuh#/overview?tab=fim&tabView=events
Stats
Statistics summary component for the overview dashboard.
Location: plugins/main/public/controllers/overview/components/stats.tsx
Props
Agent summary data Count of disconnected agents
Count of agents that never connected
Usage
import React , { useEffect , useState } from 'react' ;
import { Stats } from '../controllers/overview/components/stats' ;
import { WzRequest } from '../react-services' ;
function OverviewStats () {
const [ agentData , setAgentData ] = useState ( null );
useEffect (() => {
const fetchStats = async () => {
const response = await WzRequest . apiReq (
'GET' ,
'/agents/summary/status' ,
{}
);
setAgentData ( response . data . data . connection );
};
fetchStats ();
}, []);
return agentData ? < Stats agentData ={ agentData } /> : null ;
}
OverviewWelcome
Welcome screen component with module cards and quick actions.
Location: plugins/main/public/components/common/welcome/overview-welcome.tsx
Props
Usage
import React from 'react' ;
import { OverviewWelcome } from '../components/common/welcome/overview-welcome' ;
function WelcomeDashboard ({ agentStats }) {
return < OverviewWelcome agentData ={ agentStats } />;
}
The component displays:
Agent status summary cards
Module navigation cards
Quick action buttons
Getting started information
MainModule
Module dashboard container with filters and visualizations.
Location: plugins/main/public/components/common/modules/main.tsx
Props
Module identifier (e.g., “general”, “fim”, “vulnerability”)
tabView
string
default: "dashboard"
Active view mode
Usage
import React from 'react' ;
import { MainModule } from '../components/common/modules/main' ;
function SecurityEventsModule ({ agentId }) {
return (
< MainModule
section = "general"
agentId = { agentId }
tabView = "dashboard"
/>
);
}
WzCurrentOverviewSectionWrapper
Wrapper component that manages the current overview section context.
Location: plugins/main/public/components/common/modules/overview-current-section-wrapper.tsx
Props
Usage
import React from 'react' ;
import { WzCurrentOverviewSectionWrapper } from '../components/common/modules/overview-current-section-wrapper' ;
function ModuleView ({ section }) {
return (
< WzCurrentOverviewSectionWrapper section = { section } >
{ /* Module content */ }
</ WzCurrentOverviewSectionWrapper >
);
}
Module-Specific Components
Security Events
EventsTable
Displays security events in a data table.
Props:
Usage:
import React from 'react' ;
import { EventsTable } from '../components/overview/events-table' ;
function SecurityEvents () {
const timeRange = {
from: 'now-24h' ,
to: 'now'
};
return (
< EventsTable
filters = {{}}
timeRange = { timeRange }
/>
);
}
Vulnerability Detection
VulnerabilityDashboard
Displays vulnerability detection statistics and findings.
Props:
Filter vulnerabilities by agent
Usage:
import React from 'react' ;
import { VulnerabilityDashboard } from '../components/overview/vulnerability' ;
function VulnModule ({ agentId }) {
return < VulnerabilityDashboard agentId ={ agentId } />;
}
File Integrity Monitoring
FIMDashboard
Displays FIM events and statistics.
Props:
Filter FIM events by agent
Usage:
import React from 'react' ;
import { FIMDashboard } from '../components/overview/fim' ;
function FIMModule ({ agentId }) {
return < FIMDashboard agentId ={ agentId } />;
}
Chart Components
WzVisualize
Wrapper for rendering Wazuh visualizations.
Location: plugins/main/public/components/common/charts/wz-visualize.tsx
Props
Saved object ID of the visualization
Additional filters to apply
Time range for the visualization
Usage
import React from 'react' ;
import { WzVisualize } from '../components/common/charts/wz-visualize' ;
function CustomChart () {
return (
< WzVisualize
visualizationId = "Wazuh-App-Overview-General-Alerts"
filters = {{}}
timeRange = {{ from : 'now-24h' , to : 'now' }}
/>
);
}
Dashboard Components
DashboardByRenderer
Renders OpenSearch Dashboards dashboards within Wazuh.
Location: plugins/main/public/components/common/dashboards/dashboard-by-renderer.tsx
Props
Dashboard saved object ID
Usage
import React from 'react' ;
import { DashboardByRenderer } from '../components/common/dashboards/dashboard-by-renderer' ;
function EmbeddedDashboard () {
return (
< DashboardByRenderer
dashboardId = "Wazuh-App-Overview-General"
filters = { []}
/>
);
}
Complete Example
Full overview module implementation:
import React , { useEffect , useState } from 'react' ;
import {
EuiPage ,
EuiPageBody ,
EuiPageContent ,
EuiFlexGroup ,
EuiFlexItem ,
EuiPanel ,
EuiSpacer ,
} from '@elastic/eui' ;
import { Stats } from '../controllers/overview/components/stats' ;
import { OverviewWelcome } from '../components/common/welcome/overview-welcome' ;
import { MainModule } from '../components/common/modules/main' ;
import { WzCurrentOverviewSectionWrapper } from '../components/common/modules/overview-current-section-wrapper' ;
import { WzRequest } from '../react-services' ;
import { useRouterSearch } from '../components/common/hooks' ;
function CustomOverview () {
const [ agentData , setAgentData ] = useState ( null );
const { tab = 'welcome' , tabView = 'dashboard' , agentId } = useRouterSearch ();
useEffect (() => {
const fetchAgentStats = async () => {
try {
const response = await WzRequest . apiReq (
'GET' ,
'/agents/summary/status' ,
{}
);
setAgentData ( response . data . data . connection );
} catch ( error ) {
console . error ( 'Failed to fetch agent stats:' , error );
}
};
if ( tab === 'welcome' ) {
fetchAgentStats ();
}
}, [ tab ]);
const renderContent = () => {
if ( tab === 'welcome' ) {
return (
<>
{ agentData && (
<>
< Stats agentData = { agentData } />
< EuiSpacer size = "l" />
</>
)}
< OverviewWelcome agentData = { agentData } />
</>
);
}
return (
< WzCurrentOverviewSectionWrapper section = { tab } >
< MainModule
section = { tab }
agentId = { agentId }
tabView = { tabView }
/>
</ WzCurrentOverviewSectionWrapper >
);
};
return (
< EuiPage >
< EuiPageBody >
< EuiPageContent >
{ renderContent ()}
</ EuiPageContent >
</ EuiPageBody >
</ EuiPage >
);
}
export default CustomOverview ;
Available Modules
The Overview component supports these modules:
Security Events General security events and alerts
FIM File Integrity Monitoring
Vulnerabilities Vulnerability detection findings
MITRE ATT&CK MITRE framework mapping
SCA Security Configuration Assessment
PCI DSS PCI DSS compliance
Hooks
useRouterSearch()
Hook to access URL query parameters.
Returns: Object with query parameters
import { useRouterSearch } from '../components/common/hooks' ;
function MyComponent () {
const { tab , agentId , tabView } = useRouterSearch ();
// Use query params
}
useAsyncAction()
Hook for managing async operations with loading and error states.
Signature:
function useAsyncAction < T >(
action : () => Promise < T >,
dependencies : any []
) : {
run : () => Promise < void >;
loading : boolean ;
error : Error | null ;
data : T | null ;
}
Usage:
import { useAsyncAction } from '../components/common/hooks' ;
function DataLoader () {
const action = useAsyncAction ( async () => {
const response = await WzRequest . apiReq ( 'GET' , '/agents' , {});
return response . data . data . affected_items ;
}, []);
useEffect (() => {
action . run ();
}, []);
if ( action . loading ) return < div > Loading ...</ div > ;
if ( action . error ) return < div > Error : {action.error. message } </ div > ;
return < div > Data : {JSON.stringify(action.data)} </ div > ;
}
Best Practices
Use URL Parameters for State
Store dashboard state in URL parameters for bookmarkability: // Navigate to a module
NavigationService . getInstance (). navigate (
`/overview?tab=fim&agentId=001`
);
Keep search bar state synchronized with URL: import { syncQueryStateWithUrl } from 'data/public' ;
useEffect (() => {
const { stop } = syncQueryStateWithUrl (
queryService . state$ ,
osdUrlStateStorage
);
return stop ;
}, []);
Update URL when agent selection changes: const handleAgentChange = ( agentId : string ) => {
NavigationService . getInstance (). navigate (
`/overview?tab= ${ tab } &agentId= ${ agentId } `
);
};
Agents Components Agent management components
Main Plugin Core plugin API
Dashboards Creating custom dashboards
Modules Module development guide