You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用Xpack Security后无法获取APM日志的问题求助

解决方案:启用Xpack Security后APM及后端服务认证失败问题

1. 修复APM Server的认证配置

从APM Server日志的401错误来看,它未正确携带认证信息连接Elasticsearch,按以下步骤排查:

  • 验证环境变量加载情况:进入APM Server Pod,执行printenv | grep ELASTICSEARCH,确认ELASTICSEARCH_USERNAME和ELASTICSEARCH_PASSWORD存在且值正确。若未加载,检查容器配置是否正确传递了环境变量。
  • 手动测试认证连接:在APM Server容器内执行命令,测试Elasticsearch连接:
    curl -u apm_system:yyyyyyyyy http://elasticsearch:9200
    
    若返回401,说明密码错误或apm_system用户权限不足。可重新执行elasticsearch-setup-passwords auto生成新密码并更新配置,或检查apm_system的角色权限(默认apm_system角色已包含APM数据写入的必要权限)。

2. 配置后端服务的Elasticsearch认证

后端服务直接写入audit_logs索引时未携带认证信息,导致401错误,需做以下配置:

  • 在后端服务的Elasticsearch客户端配置中添加用户名和密码。建议创建专用日志写入用户(如audit_writer)代替elastic超级用户:
    1. 用elastic账号登录Kibana,进入Stack Management > Security > Users创建新用户audit_writer。
    2. 为该用户分配自定义角色,包含audit_logs*索引的create_index、write、read权限。
    3. 在后端服务配置中更新Elasticsearch连接参数,填入该用户的账号密码。

3. 确认Elasticsearch安全配置生效

检查Elasticsearch Pod的安全配置是否正确加载:

  • 进入Elasticsearch Pod,执行printenv | grep xpack.security.enabled,确认值为true。
  • 执行curl -u elastic:xxxxxxxxx http://localhost:9200(替换为elastic用户的实际密码),验证Elasticsearch的HTTP接口是否已开启认证要求。

4. 重启服务并验证

完成配置后,按以下顺序重启Pod:

  1. Elasticsearch
  2. APM Server
  3. 后端服务

之后查看APM Server日志是否仍有401错误,同时在Kibana的Discover中检查APM索引和audit_logs索引是否有新数据写入。

内容的提问来源于stack exchange,提问作者Avishka Pasindu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 01:00:09