Logstash MQTT输入配置报错:未知设置问题求助
问题分析与解决方案
核心原因
你使用的是旧版MQTT输入插件的配置语法,但当前适配Logstash 8.11.1的MQTT插件已经调整了配置项结构,host、topics这类旧配置项不再被插件识别,因此抛出未知设置错误。
修正后的配置示例
将连接参数移入mqtt_settings哈希,并将topics替换为topic_patterns(8.x版本插件的标准配置项):
input { mqtt { client_id => "logstash" id => "mqtt_input" qos => 1 # MQTT broker连接配置需嵌套在mqtt_settings中 mqtt_settings => { host => "127.0.0.1" port => 1883 } # 订阅主题使用topic_patterns(支持精确匹配或通配符) topic_patterns => ["/Application1/Message"] } } output { stdout { codec => rubydebug } elasticsearch { hosts => ["http://localhost:9200"] index => "test.logstash" user => "elastic" password => "xyz" } }
额外排查建议
确认插件版本兼容性
运行以下命令查看当前安装的MQTT插件版本,确保其与Logstash 8.11.1兼容:# Windows环境执行 bin\logstash-plugin.bat list --verbose logstash-input-mqtt若版本不匹配,重新安装适配版本的插件:
bin\logstash-plugin.bat install logstash-input-mqtt --version <对应兼容版本号>查看本地插件文档
直接查看Logstash安装目录下的插件本地文档(路径:vendor/bundle/jruby/3.1.0/gems/logstash-input-mqtt-<版本号>/README.md),获取对应版本的准确配置说明,避免在线文档的版本差异问题。检查配置语法
确认配置文件中所有符号(如=>、括号、引号)格式正确,无语法错误。
内容的提问来源于stack exchange,提问作者Shah Zain
相关产品推荐
相关产品推荐

