ARMS没有日志上报,麻烦帮看下是什么问题?

abd5cf5ae78ec38bd273ce9eb1cf9147.png 2f73b3c24f3adaef1572769b57640241.png 84d279d03b5fcd17729640325e365242.png
ARMS没有日志上报,麻烦帮看下是什么问题?

展开
收起
冰激凌甜筒 2023-06-05 16:17:10 149 分享 版权
阿里云 AI 助理回答

当您在使用ARMS(应用实时监控服务)时遇到没有日志上报的问题,可能是由多种原因导致的。以下是详细的排查步骤和可能的原因分析,帮助您快速定位并解决问题:


1. 确认日志是否已正确采集到SLS

ARMS的日志分析功能依赖于日志服务(SLS)。如果SLS中没有日志数据,ARMS自然无法展示相关日志。

  • 检查是否已接入SLS服务
    确保您的应用日志已经按照SLS的接入文档正确采集到Logstore中。ARMS不会自动将日志采集到SLS中,需要用户自行完成配置。

  • 验证SLS中的Project和Logstore绑定
    在ARMS控制台中,确认是否已正确绑定SLS的Project和Logstore。如果未绑定,请参考以下步骤:

    1. 登录ARMS控制台,进入目标应用的自定义配置页面。
    2. 打开关联业务日志与TraceId开关,并选择正确的SLS地域、Project和Logstore。
    3. 保存配置后重新检查日志是否正常显示。

2. 检查日志上报方式

不同的日志上报方式可能存在限制或配置问题,需逐一排查。

  • 默认日志上报限制
    如果您使用的是ARMS的默认日志功能,请注意,默认日志仅支持VPC上报,无法通过公网进行上报。确保您的网络环境可以联通到loki-${region}-internal.aliyuncs.com:3100

  • 自定义日志上报
    如果您使用的是自定义日志(Custom类型),请确认是否已主动调用ARMS探针的API进行日志上报。默认情况下,ARMS不会自动采集Custom类型的日志。


3. 检查日志XML配置

如果日志已成功上报至SLS,但仍然无法在ARMS中查看,可能是日志XML配置存在问题。

  • 确认日志是否关联TraceId
    如果日志未成功关联TraceId,可能是日志XML配置错误。可以通过以下方式排查:

    1. 在SLS中查询日志,确认是否存在TraceId字段。
    2. 如果TraceId字段缺失,检查日志打印的线程是否有Trace上下文。例如,异步线程可能因不支持Trace上下文透传而导致日志无法关联TraceId。
  • 升级探针版本
    对于3.x版本探针,存在部分场景(如Spring Cloud Gateway埋点)无法正确关联TraceId的问题。建议升级到4.x版本探针以解决该问题。


4. 检查Agent安装和配置

ARMS Agent的安装和配置问题可能导致日志无法正常上报。

  • 确认Agent是否正确安装
    确保ARMS Agent已正确安装并启动。如果通过-jar命令行启动应用,请确保-javaagent参数位于-jar之前。例如:

    java -javaagent:/path/to/arms-agent.jar -Darms.licenseKey=xxx -Darms.appName=xxx -jar yourApp.jar
    

    如果Agent日志中出现send agent metrics. no metrics.,请确认应用是否有持续的外部访问请求(如HTTP、HSF或Dubbo请求)。

  • 检查LicenseKey和地域配置
    如果Agent日志中出现LicenseKey is invalid异常,请检查应用所属地域与Agent所属地域是否一致。


5. 检查网络连通性

如果日志上报失败,可能是网络连通性问题导致的。

  • 确认网络是否连通
    确保应用所在的服务器能够正常访问ARMS的服务端地址。例如:

    • 华东1(杭州)地域:https://arms-retcode.aliyuncs.com/r.png?
    • 新加坡地域:https://arms-retcode-sg.aliyuncs.com/r.png?
    • 美国(硅谷)地域:https://retcode-us-west-1.arms.aliyuncs.com/r.png?

    如果网络不通,请检查防火墙规则或代理配置。


6. 检查基础版功能限制

如果您使用的是ARMS基础版,请注意基础版不支持业务日志关联调用链的TraceId信息。建议升级到高级版以解锁更多功能。


7. 其他常见问题

  • 探针版本问题
    如果您使用的JDK版本为11,请确保探针版本已升级到2.8.3或更高版本,否则可能导致部分功能不可用。

  • 白名单或网段配置
    如果日志上报涉及IP白名单或网段地址配置,请确认相关配置是否正确。

  • 日志保存时效
    日志的保存时效可能影响您查看历史数据。请确认日志是否仍在有效期内。


总结

通过以上步骤,您可以逐步排查ARMS没有日志上报的问题。如果问题仍未解决,请提交工单并提供以下信息以便进一步分析: 1. 应用名称及地域。 2. SLS的Project和Logstore名称。 3. ARMS Agent的日志文件(位于ArmsAgent/log/目录下)。 4. 相关配置截图或说明。

希望以上内容能帮助您快速定位并解决问题!

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。

还有其他疑问?
咨询AI助理