这是一个用于与 Logstash 实例进行交互的模型上下文协议(MCP)服务器。该服务器提供了全面的工具,用于监控和确定 Logstash 实例的性能瓶颈。
python3 web_ui.py
http://localhost:5001
pip install -r requirements.txt
export LOGSTASH_API_BASE="http://your-logstash-host:9600"
# MCP 服务器将自动分析:
# - JVM 内存使用情况
# - 管道性能
# - 队列统计
# - 提供优化建议
# 监控特定管道性能
# 获取详细统计信息以进行故障排除
# 跟踪事件处理速率和错误
# 使用热点线程分析来识别瓶颈
# 监控 JVM 统计信息以查找内存问题
# 跟踪管道路队列使用情况
Web UI 使用与 MCP 服务器相同的配置:
http://localhost:9600LOGSTASH_API_BASE 环境变量进行覆盖http://localhost:5001自定义 Logstash URL 示例:
export LOGSTASH_API_BASE="http://your-logstash-host:9600"
python3 web_ui.py
logstash_check_connectivity检查与 Logstash 实例的连接,提供详细的连接状态、响应时间和错误处理信息。
logstash_node_info获取 Logstash 节点信息,包括版本、构建信息和设置。
logstash_node_stats获取全面的节点统计信息,包括 JVM、进程和管道指标。
human(布尔值,默认:true)logstash_pipelines_stats获取所有 Logstash 管道的统计信息。
human(布尔值,默认:true)logstash_pipeline_stats获取特定管道的统计信息。
id(字符串,必需),human(布尔值,默认:true)logstash_hot_threads获取热点线程信息,用于调试性能问题。
threads(整数,默认:3),human(布尔值,默认:true)logstash_plugins列出所有已安装的 Logstash 插件。
check_backpressure检查队积压指标,以监控管道性能和拥塞情况。
human(布尔值,默认:true)logstash_health_check进行全面的健康检查,提供分析和建议。
logstash_jvm_stats获取详细的 JVM 统计信息,用于内存分析。
human(布尔值,默认:true)logstash_health_report从 Logstash 获取详细的健康报告。
flow_metrics获取详细的流量指标,包括吞吐量、积压和工作线程并发情况。
human(布尔值,默认:true)健康检查工具会分析以下内容:
使用 python3 logstash_mcp_server.py 启动服务器后,可使用以下 JSON - RPC 命令:
{"jsonrpc": "2.0", "id": 0, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test-client", "version": "1.0.0"}}}
{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "logstash_check_connectivity", "arguments": {}}}
{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "logstash_health_check", "arguments": {}}}
{"jsonrpc": "2.0", "id": 3, "method": "tools/list"}
{"jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": {"name": "logstash_node_info", "arguments": {}}}
此 MCP 服务器设计为与 Elasticsearch 诊断工具配合使用,可帮助:
根据 Elasticsearch 集群分析显示的高分片计数,确保 Logstash 管道针对高效索引模式进行了优化。
服务器包括全面的错误处理功能,用于处理以下情况:
运行测试套件以验证一切正常:
python3 test_mcp_server.py
测试套件包括:
⚠️ 重要提示
此仓库是通过 AI 生成的代码,未经过充分测试。使用时请自行承担风险。