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

New Relic日志采集对Logback的影响及日志级别配置问题咨询

问题解答

1. 日志能否同时发送至New Relic和ELK?

  • 不会中断向ELK的发送,完全可以同时流向两个系统。New Relic的日志采集是追加式读取,仅从日志源(如应用日志文件、stdout、AWS CloudWatch等)复制日志数据,不会修改、截断或占用原有日志流。只要ELK的原有采集配置(比如日志文件读取规则、AWS日志转发规则)保持正常,日志会同时被两个系统获取。

2. 如何让New Relic仅采集ERROR级别日志(不影响ELK)?

首先明确:newrelic.yml中的log_level配置的是New Relic Agent自身的日志输出级别,不是对应用日志的过滤级别,这是常见误区。要实现仅向New Relic发送ERROR级别日志,需针对日志框架(如Logback、Log4j2)单独配置,同时保留ELK的全量日志采集:

步骤1:关闭New Relic Agent的自动日志采集(若开启)

在newrelic.yml中添加或修改配置,避免Agent自动抓取全量日志:

logging:
  enabled: false

步骤2:给日志框架配置分级别输出

以常用的Logback为例,修改logback-spring.xml:

<!-- 保留原有ELK的Appender配置,确保全量日志正常发送到ELK -->
<appender name="ELK_APPENDER" class="你的ELK适配Appender类">
    <!-- 原有配置保持不变,比如输出级别设为debug或更低 -->
</appender>

<!-- 配置New Relic专属Appender,仅过滤ERROR级别日志 -->
<appender name="NEW_RELIC_APPENDER" class="com.newrelic.logging.logback.NewRelicAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
</appender>

<!-- 根日志配置,同时关联两个Appender -->
<root level="debug">
    <appender-ref ref="ELK_APPENDER"/> <!-- ELK接收所有级别日志 -->
    <appender-ref ref="NEW_RELIC_APPENDER"/> <!-- New Relic仅接收ERROR级别 -->
</root>

如果使用Log4j2,逻辑类似:在log4j2.xml中给New Relic的Appender添加ThresholdFilter,设置级别为ERROR,同时保留ELK的全量输出配置。

若通过AWS CloudWatch转发日志

如果是通过CloudWatch Logs将日志转发到New Relic,需在New Relic的日志摄取管道中添加过滤规则,仅保留日志内容中包含ERROR级别的事件;同时CloudWatch继续将全量日志转发到ELK,互不影响。


内容的提问来源于stack exchange,提问作者John Little

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 05:32:34