Kibana部分规则执行失败求助:缺失Linux异常网络端口活动组件
解决Kibana SIEM规则「Unusual Linux Network Port Activity」执行失败问题
问题现象:激活规则后执行失败,错误提示
linux_anomalous_network_port_activity_ecs,v2_linux_anomalous_network_port_activity_ecs missing;规则查询在Discovery可返回结果,但无告警生成;清理信号索引缓存、复制规则修改索引后问题依旧。环境:ELK 7.17.25、Ubuntu 20.04,ML已激活但无任务。
核心原因
该规则属于依赖Elastic机器学习(ML)异常检测作业的SIEM规则,错误提示的两个缺失项是规则必须调用的预训练ML异常检测作业。没有这些作业,规则无法完成异常评分和告警生成流程,即使原始查询能返回数据也无法触发告警。
具体解决步骤
1. 创建缺失的ML异常检测作业
- 进入Kibana的「Machine Learning」模块,切换到「Anomaly Detection」页面
- 点击「Create job」→ 选择「Use preconfigured job」
- 在预配置作业列表的Linux分类下,找到「Anomalous Network Port Activity (ECS)」和「v2 Anomalous Network Port Activity (ECS)」作业模板
- 按向导完成作业创建:
- 确认作业关联的数据源索引(需与规则监控的Linux日志索引一致,如
filebeat-*或自定义日志索引) - 保留默认异常检测配置,完成创建后启动作业
- 确认作业关联的数据源索引(需与规则监控的Linux日志索引一致,如
2. 验证ML作业运行状态
- 在「Anomaly Detection」的「Jobs」页面,确认两个新创建的作业状态为「Running」
- 等待作业运行至少30分钟(或积累足够历史日志数据),让ML模型完成基础训练并生成异常基线
3. 重新配置规则的ML依赖
- 进入Kibana SIEM的「Rules」页面,找到「Unusual Linux Network Port Activity」规则并编辑
- 在规则配置的「Anomaly detection job」选项中,选择刚创建的两个ML作业(
linux_anomalous_network_port_activity_ecs和v2_linux_anomalous_network_port_activity_ecs) - 保存规则后,手动触发一次规则执行(点击规则右侧的「Run now」)
4. 排查附加问题
- 权限检查:确保执行规则的Kibana用户拥有以下权限:
ml_read、ml_admin权限(用于访问和调用ML作业).siem-signals-default索引的write权限(用于写入告警信号)
- 日志排查:查看Elasticsearch日志(
/var/log/elasticsearch/elasticsearch.log)和Kibana日志(/var/log/kibana/kibana.log),确认是否存在ML作业启动失败、字段映射错误等细节问题 - ECS格式验证:确认你的Linux日志数据符合Elastic Common Schema(ECS),规则依赖的核心字段(如
source.port、destination.port、process.name)必须存在且正确映射
内容的提问来源于stack exchange,提问作者Majid Mortazavi
相关产品推荐
相关产品推荐

