如何禁用Logstash中elasticsearch输出插件的警告日志?
解决Logstash连接Elasticsearch时持续出现401认证警告的问题
这个警告的核心是Elasticsearch返回401未授权错误,和你设置的xpack.monitoring.enabled: false没关系——这是Logstash的elasticsearch输出插件在连接ES时认证失败导致的,不是监控模块的问题。给你几个可行的解决方向:
检查Logstash输出插件的认证配置
找到path.config指向的/usr/share/logstash/pipeline下的配置文件,在elasticsearch的output块里补上正确的认证信息:output { elasticsearch { hosts => ["http://elasticsearch:9200"] # 替换成你的ES用户名和密码 user => "es_admin" password => "your_secure_password" # 如果用API密钥认证,就换成这个参数 # api_key => "your_key_id:your_key_secret" } }还要确保这个账号有写入目标索引的权限。
验证ES的认证有效性
在Logstash服务器上用curl手动测试ES的认证是否正常:curl -u 你的用户名:你的密码 http://elasticsearch:9200如果返回ES的节点信息,说明账号没问题;如果还是401,要么是账号密码错误,要么是这个账号没有访问ES的权限。
排查ES的安全配置
确认Elasticsearch是否开启了安全认证(xpack.security.enabled: true),如果开了,Logstash必须提供合法认证才能连接。另外检查ES的IP白名单,确保Logstash服务器的IP在允许访问的列表里。临时屏蔽警告(不推荐长期使用)
如果暂时没时间解决认证问题,想先把警告关掉,可以修改Logstash的log4j2.properties配置文件,把elasticsearch输出插件的日志级别设为ERROR:logger.logstash.outputs.elasticsearch.level = error注意:这只是隐藏警告,没解决根本问题,之后还是要把认证配置修正。
内容的提问来源于stack exchange,提问作者A_G
相关产品推荐
相关产品推荐

