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

部署于Azure App Service的.Net Core Worker(IHostedService) New Relic日志集成问题

排查Azure Linux App Service上.NET Worker应用New Relic无数据问题

核心配置检查

  • 确认NuGet包安装:必须安装NewRelic.Agent.AspNetCore包,Worker服务依赖此包完成监控注入,仅安装基础包无法生效。
  • 验证Azure应用设置:在App Service的「配置-应用设置」中,确认以下项配置正确:
    • NEW_RELIC_LICENSE_KEY:填写有效的New Relic许可证密钥
    • NEW_RELIC_APP_NAME:设置唯一的应用名称(避免与其他应用重名导致数据混淆)
    • CORECLR_ENABLE_PROFILING=1
    • CORECLR_PROFILER={36032161-FFC0-4B61-B559-F6C5D41BAE5A}
    • CORECLR_NEWRELIC_HOME=/home/site/wwwroot/newrelic(Linux环境默认路径)

部署文件与启动验证

  • 检查New Relic文件完整性:通过Azure Kudu工具进入/home/site/wwwroot目录,确认存在newrelic文件夹及其中的newrelic.config文件。若缺失,需检查项目发布配置,确保NuGet包的内容被设置为<CopyToPublishDirectory>Always</CopyToPublishDirectory>。
  • 确认启动命令:Linux Worker应用的启动命令需为标准格式(如dotnet YourWorkerApp.dll),避免自定义启动脚本覆盖New Relic的Agent注入逻辑。

日志与连通性诊断

  • 查看New Relic本地日志:在Kudu的/home/LogFiles/newrelic目录下,检查agent.log和profiler.log,重点排查许可证验证失败、网络连接超时、Agent初始化错误等信息。
  • 检查应用启动日志:启用App Service的日志记录功能,查看启动日志中是否存在New Relic .NET Agent initialized类条目,确认Agent已成功加载。
  • 验证网络连通性:在Kudu终端执行curl collector.newrelic.com,测试App Service能否访问New Relic采集端点。若失败,需检查VNet集成、防火墙规则等网络配置是否限制了出站流量。

Worker服务专属配置

  • 确认HostBuilder配置:在Program.cs中必须添加UseNewRelic()扩展方法,示例代码如下:
    var host = Host.CreateDefaultBuilder(args)
        .UseNewRelic()
        .ConfigureServices(services =>
        {
            services.AddHostedService<Worker>();
        })
        .Build();
    
  • 检查Worker生命周期:确保Worker服务正常运行,无启动失败或立即退出的情况——服务未稳定运行时,Agent无法采集有效数据。

内容的提问来源于stack exchange,提问作者Unknown Coder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:25:18