Wazuh OpenSearch Analytics

Wazuh OpenSearch Analytics

🚀 OpenSearch MCP 服务器

OpenSearch MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,主要用于查询和分析存储在 OpenSearch 中的 Wazuh 安全日志,为安全日志的处理提供了便捷的途径。

🚀 快速开始

在使用 OpenSearch MCP 服务器之前,需要确保满足以下先决条件:

  • Node.js v16 或更高版本
  • 能够访问包含 Wazuh 安全日志的 OpenSearch 实例

✨ 主要特性

  • 支持带有高级过滤功能的安全警报搜索,可精准定位所需信息。
  • 能够获取特定警报的详细信息,便于深入分析。
  • 可以生成安全事件统计信息,为决策提供数据支持。
  • 实现警报时间趋势的可视化,直观展示安全态势。
  • 提供长期操作进度报告,方便监控操作状态。
  • 具备结构化的错误处理机制,增强系统稳定性。

📦 安装指南

选项 1:直接使用 npx 从 GitHub(推荐)

您可以直接使用 npx 运行此工具,而无需克隆仓库:

# 运行来自 GitHub 的最新版本
npx github:jetbalsa/mcp-opensearch-js

# 启用调试模式
npx github:jetbalsa/mcp-opensearch-js --debug

# 您还可以指定特定分支或提交
npx github:jetbalsa/mcp-opensearch-js#main

选项 2:本地安装

  1. 克隆此仓库:
git clone https://github.com/jetbalsa/mcp-opensearch-js.git
cd mcp-opensearch-js
  1. 安装依赖项:
npm install
  1. 配置环境变量:
cp .env.example .env
  1. 使用 OpenSearch 连接详细信息编辑 .env 文件:
OPENSEARCH_URL=https://your-opensearch-endpoint:9200
OPENSEARCH_USERNAME=your-username
OPENSEARCH_PASSWORD=your-password
DEBUG=false

💻 使用示例

启动服务器

启动服务器:

npm start

这将在 stdio 模式下启动服务器。

启用调试日志记录:

npm run stdio:debug

使用 MCP CLI 测试:

npm run dev

这将启动服务器并使用 MCP CLI 工具进行交互式测试。

使用 MCP Inspector 测试:

npm run inspect

这将启动服务器并与 MCP Inspector 连接以进行可视化调试。

服务器工具使用示例

1. 搜索警报

在 Wazuh 数据中搜索安全警报。 参数:

  • --search:指定要搜索的关键词或条件。
  • --filter:应用高级过滤器(如时间范围、日志级别等)。
  • -o, --output:指定输出格式(支持 JSON、CSV、文本等)。

2. 获取警报详细信息

获取特定警报的详细信息。 参数:

  • --id:指定要查询的警报 ID。
  • --fields:指定要显示的字段(以逗号分隔)。
  • -v, --verbose:启用详细模式,显示更多相关信息。

3. 统计信息

生成安全事件的统计信息。 参数:

  • --time-range:指定时间范围(格式为 YYYY-MM-DD HH:MM:SS)。
  • --aggregation:指定聚合方式(如按小时、天、周等)。
  • -s, --summary:显示汇总结果。

4. 可视化趋势

可视化警报的时间趋势。 参数:

  • --start-time:指定起始时间。
  • --end-time:指定结束时间。
  • -f, --format:指定输出格式(如图表、表格等)。

使用 MCP CLI 工具示例:

# 搜索警报
mcp-cli search --keyword "error" --output json

# 获取警报详细信息
mcp-cli get --id 12345 --verbose

# 生成统计信息
mcp-cli stats --time-range "2023-10-01 00:00:00" "2023-10-07 23:59:59" --summary

# 可视化趋势
mcp-cli trends --start-time "2023-10-01" --end-time "2023-10-07" --format chart

使用客户端示例

安装依赖项:

npm install mcp-opensearch

连接到 MCP 服务器:

const { MCPClient } = require('mcp-opensearch');
const client = new MCPClient({
host: 'localhost',
port: 9200,
username: 'your-username', // 可选
password: 'your-password'  // 可选
});

示例用法:

// 搜索警报
client.search({ keyword: 'error' }, (err, result) => {
if (err) return console.error(err);
console.log('Search Result:', result);
});

// 获取警报详细信息
client.get({ id: '12345' }, (err, result) => {
if (err) return console.error(err);
console.log('Alert Details:', result);
});
  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-09-23 03:36

相似服务问题

相关AI产品