CINXE.COM
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><script src="https://cmp.osano.com/AzZVWOTJtg1WY32RK/cd381ba3-ebca-488c-a528-376a86764609/osano.js?language=en"></script><meta name="generator" content="Gatsby 4.25.2"/><meta data-react-helmet="true" name="theme-color" content="#293338"/><meta data-react-helmet="true" class="swiftype" name="type" data-type="enum" content="docs"/><meta data-react-helmet="true" name="google-site-verification" content="He_vizRXYX_mUhwBe3BmyaMxNnVRAZbq_Jtm2A0e4WY"/><meta data-react-helmet="true" name="tags" class="swiftype" data-type="string" content="Logs"/><meta data-react-helmet="true" name="tags" class="swiftype" data-type="string" content="Enable log management in New Relic"/><meta data-react-helmet="true" name="tags" class="swiftype" data-type="string" content="Enable log monitoring in New Relic"/><meta data-react-helmet="true" class="swiftype" name="document_type" data-type="enum" content="page"/><meta data-react-helmet="true" class="swiftype" name="title" data-type="string" content="Forward your logs using the infrastructure agent"/><meta data-react-helmet="true" name="description" content="How to forward your logs to New Relic using our infrastructure agent, so you can use enhanced log management capabilities."/><meta name="theme-color" content="#663399"/><title data-react-helmet="true">Forward your logs using the infrastructure agent | New Relic Documentation</title><link data-react-helmet="true" rel="canonical" href="https://docs.newrelic.com/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/"/><link data-react-helmet="true" rel="alternate" href="https://docs.newrelic.com/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" hrefLang="x-default"/><link data-react-helmet="true" rel="alternate" href="https://docs.newrelic.com/jp/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" hrefLang="ja"/><link data-react-helmet="true" rel="alternate" href="https://docs.newrelic.com/kr/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" hrefLang="ko"/><link data-react-helmet="true" rel="alternate" href="https://docs.newrelic.com/es/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" hrefLang="es"/><link data-react-helmet="true" rel="alternate" href="https://docs.newrelic.com/pt/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" hrefLang="pt"/><script data-react-helmet="true" async="" defer="" src="https://www.google.com/recaptcha/api.js?render=6LeGFt8UAAAAANfnpE8si2Z6NnAqYKnPAYgMpStu"></script><script data-react-helmet="true" async="" defer="" src="https://www.google.com/recaptcha/api.js?render=6Lfn8wUiAAAAANBY-ZtKg4V9b4rdGZtJuAng62jo"></script><script data-react-helmet="true" async="" defer="" src="https://www.google.com/recaptcha/api.js?render=6Lehf-4oAAAAAK-sCeVSRUrRQfImJdwgc2pPkOwZ"></script><link rel="icon" href="/favicon-32x32.png?v=c6adf0dad65cc1d73c93c5e0b1680678" type="image/png"/><link rel="manifest" href="/manifest.webmanifest" crossorigin="anonymous"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=c6adf0dad65cc1d73c93c5e0b1680678"/><style type="text/css"> .anchor.before { position: absolute; top: 0; left: 0; transform: translateX(-100%); padding-right: 4px; } .anchor.after { display: inline-block; padding-left: 4px; } h1 .anchor svg, h2 .anchor svg, h3 .anchor svg, h4 .anchor svg, h5 .anchor svg, h6 .anchor svg { visibility: hidden; } h1:hover .anchor svg, h2:hover .anchor svg, h3:hover .anchor svg, h4:hover .anchor svg, h5:hover .anchor svg, h6:hover .anchor svg, h1 .anchor:focus svg, h2 .anchor:focus svg, h3 .anchor:focus svg, h4 .anchor:focus svg, h5 .anchor:focus svg, h6 .anchor:focus svg { visibility: visible; } </style><script> document.addEventListener("DOMContentLoaded", function(event) { var hash = window.decodeURI(location.hash.replace('#', '')) if (hash !== '') { var element = document.getElementById(hash) if (element) { var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop var clientTop = document.documentElement.clientTop || document.body.clientTop || 0 var offset = element.getBoundingClientRect().top + scrollTop - clientTop // Wait for the browser to finish rendering before scrolling. setTimeout((function() { window.scrollTo(0, offset - 0) }), 0) } } }) </script><link rel="sitemap" type="application/xml" href="/sitemap-index.xml"/><script>;window.NREUM||(NREUM={});NREUM.init={session_replay:{enabled:true,mask_text_selector:'*',sampling_rate:5,error_sampling_rate:100,mask_all_inputs:true,collect_fonts:true,inline_stylesheet:true},distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["staging-bam-cell.nr-data.net","docs.newrelic.com"]},}; ;/*! For license information please see nr-loader-spa-1.256.0.min.js.LICENSE.txt */ (()=>{var e,t,r={234:(e,t,r)=>{"use strict";r.d(t,{P_:()=>m,Mt:()=>b,C5:()=>s,DL:()=>E,OP:()=>N,lF:()=>D,Yu:()=>x,Dg:()=>v,CX:()=>c,GE:()=>w,sU:()=>O});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o);const r=(0,n.ek)(e);r&&(r.info=a[e])}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f="[data-nr-mask]",h=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector="".concat(t,",").concat(f):""===t||null===t?e.mask_selector=f:(0,l.Z)("An invalid session_replay.mask_selector was provided. '*' will be used.",t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},p={},g="All configuration objects require an agent identifier!";function m(e){if(!e)throw new Error(g);if(!p[e])throw new Error("Configuration for ".concat(e," was never set"));return p[e]}function v(e,t){if(!e)throw new Error(g);p[e]=(0,i.D)(t,h());const r=(0,n.ek)(e);r&&(r.init=p[e])}function b(e,t){if(!e)throw new Error(g);var r=m(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const y={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A={};function E(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!A[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return A[e]}function w(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");A[e]=(0,i.D)(t,y);const r=(0,n.ek)(e);r&&(r.loader_config=A[e])}const x=(0,n.mF)().o;var _=r(385),T=r(6818);const S={buildEnv:T.Re,customTransaction:void 0,disabled:!1,distMethod:T.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(_._A?.performance?.timeOrigin||_._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+_._A.location,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,xhrWrappable:"function"==typeof _._A.XMLHttpRequest?.prototype?.addEventListener,version:T.q4,denyList:void 0,harvestCount:0,timeKeeper:void 0},R={};function N(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!R[e])throw new Error("Runtime for ".concat(e," was never set"));return R[e]}function O(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");R[e]=(0,i.D)(t,S);const r=(0,n.ek)(e);r&&(r.runtime=R[e])}function D(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{"use strict";r.d(t,{Re:()=>i,gF:()=>o,lF:()=>a,q4:()=>n});const n="1.256.0",i="PROD",o="CDN",a="2.0.0-alpha.12"},385:(e,t,r)=>{"use strict";r.d(t,{FN:()=>c,IF:()=>l,LW:()=>a,Nk:()=>h,Tt:()=>u,_A:()=>o,cv:()=>p,iS:()=>s,il:()=>n,ux:()=>d,v6:()=>i,w1:()=>f});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a="complete"===o?.document?.readyState,s=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,u=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Boolean(n&&window.document.documentMode),h=!!o.navigator?.sendBeacon,p=Math.floor(Date.now()-performance.now())},1117:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occurred while setting SharedContext",e)}}}},8e3:(e,t,r)=>{"use strict";r.d(t,{LP:()=>l,RP:()=>c,o5:()=>u});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){d(e),s[e].get(t)&&s[e].delete(t),s[e].size&&f(e)}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=[...s[e]];t.every((e=>{let[t,r]=e;return r.staged}))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((t=>{let[r]=t;s[e].delete(r),h(e,r)})))}function h(e,t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)p(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}r.isolatedBacklog||delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}function p(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.fP)();d.ee||(d.ee=u)},5546:(e,t,r)=>{"use strict";r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{"use strict";r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{"use strict";r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},7056:(e,t,r)=>{"use strict";r.d(t,{Bq:()=>n,Hb:()=>a,IK:()=>u,K4:()=>i,oD:()=>o,uT:()=>c,wO:()=>s});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},7894:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{"use strict";r.d(t,{e:()=>i});var n=r(385);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n._A?.location?.protocol&&t.host===n._A?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},50:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2825:(e,t,r)=>{"use strict";r.d(t,{N:()=>c,T:()=>s});var n=r(8325),i=r(385);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{i._A.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},2210:(e,t,r)=>{"use strict";r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},7872:(e,t,r)=>{"use strict";function n(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n?.leading||!1;let o;return function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];i&&void 0===o&&(e.apply(t,a),o=setTimeout((()=>{o=clearTimeout(o)}),r)),i||(clearTimeout(o),o=setTimeout((()=>{e.apply(t,a)}),r))}}function i(e){var t=this;let r=!1;return function(){if(!r){r=!0;for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];e.apply(t,i)}}}r.d(t,{D:()=>n,Z:()=>i})},1284:(e,t,r)=>{"use strict";r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{"use strict";r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{"use strict";r.d(t,{KB:()=>a,b2:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{"use strict";r.d(t,{EZ:()=>d,ce:()=>o,ek:()=>u,fP:()=>a,gG:()=>l,h5:()=>c,mF:()=>s});var n=r(385),i=r(7894);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n._A.NREUM||(n._A.NREUM={}),void 0===n._A.newrelic&&(n._A.newrelic=n._A.NREUM),n._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:n._A.setTimeout,SI:n._A.setImmediate,CT:n._A.clearTimeout,XHR:n._A.XMLHttpRequest,REQ:n._A.Request,EV:n._A.Event,PR:n._A.Promise,MO:n._A.MutationObserver,FETCH:n._A.fetch}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.z)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},7806:(e,t,r)=>{"use strict";r.d(t,{em:()=>b,u5:()=>R,QU:()=>D,_L:()=>j,Gm:()=>M,Lg:()=>L,BV:()=>Z,Kf:()=>Y});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var A="fetch-",E=A+"body-",w=["arrayBuffer","blob","json","text","formData"],x=f._A.Request,_=f._A.Response,T="prototype";const S={};function R(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(x&&_&&f._A.fetch))return t;if(S[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return S[t.debugId]=1,w.forEach((e=>{r(x[T],e,E),r(_[T],e,E)})),r(f._A,"fetch",A),t.on(A+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(A+"done",[null,r],n)}else t.emit(A+"done",[e],n)})),t}const N={},O=["pushState","replaceState"];function D(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||N[t.debugId]++||(N[t.debugId]=1,c(t).inPlace(window.history,O,"-")),t}var I=r(3239);const P={},C=["appendChild","insertBefore","replaceChild"];function j(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!f.il||P[t.debugId])return t;P[t.debugId]=!0;var r=c(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function s(e,t){if(!e)return t;const r=e.match(a),n=r[1];return s(r[3],t[n])}return r.inPlace(Node.prototype,C,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,c=a.match(i),c?c[1]:null);var a,c;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,I.m$)(!1)),e.removeEventListener("error",f,(0,I.m$)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,I.m$)(!1)),e.removeEventListener("error",f,(0,I.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,I.m$)(!1)),e.addEventListener("error",f,(0,I.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const k={};function M(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!f.il||k[t.debugId])return t;k[t.debugId]=!0;var r=c(t),i=f._A.MutationObserver;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const H={};function L(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(H[t.debugId])return t;H[t.debugId]=!0;var r=t.context,i=c(t),a=f._A.Promise;return a&&function(){function e(r){var n=t.context(),o=i(r,"executor-",n,null,!1);const s=Reflect.construct(a,[o],e);return t.context(s).getCtx=function(){return n},s}f._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,o=r(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",o,null,!1),s[1]=i(s[1],"cb-",o,null,!1);const u=n.apply(this,s);return o.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[o]=n,t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const U={},z="setTimeout",F="setInterval",B="clearTimeout",q="-start",G="-",V=[z,"setImmediate",F,B,"clearImmediate"];function Z(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(U[t.debugId]++)return t;U[t.debugId]=1;var r=c(t);return r.inPlace(f._A,V.slice(0,2),z+G),r.inPlace(f._A,V.slice(2,3),F+G),r.inPlace(f._A,V.slice(3),B+G),t.on(F+q,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(z+q,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}var K=r(50);const W={},X=["open","send"];function Y(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(W[r.debugId]++)return r;W[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,u=f._A.setInterval,d="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(d,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",E)}),(0,I.m$)(!1))}catch(e){(0,K.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,X,"-xhr-",E),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(A):u?u(A):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!u&&!s){var v=1,y=document.createTextNode(v);new a(A).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function E(e,t){return t}return r}},7825:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{"use strict";r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{"use strict";r.d(t,{Ef:()=>o,J0:()=>f,Mi:()=>l,Vb:()=>a,Ye:()=>c,fm:()=>u,i9:()=>s,t9:()=>i,u0:()=>d});var n=r(7056);const i=r(3325).D.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c=1e6,u=64e3,d={[n.IK.ERROR]:15e3,[n.IK.FULL]:3e5,[n.IK.OFF]:0},l={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},f=5e3},3112:(e,t,r)=>{"use strict";r.d(t,{HM:()=>c,ev:()=>o,rU:()=>s,wi:()=>u});var n=r(234),i=r(385);const o=e=>i.il&&!0===(0,n.Mt)(e,"privacy.cookies_enabled");function a(e){return n.Yu.MO&&o&&!0===(0,n.Mt)(e,"session_trace.enabled")}function s(e){return!0===(0,n.Mt)(e,"session_replay.preload")&&a(e)}function c(e,t){return!!a(e)&&(!!t?.isNew||!!t?.state.sessionReplayMode)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,timeKeeperOriginTime:t.originTime,timeKeeperCorrectedOriginTime:t.correctedOriginTime,timeKeeperDiff:Math.floor(t.originTime-t.correctedOriginTime)}}},3614:(e,t,r)=>{"use strict";r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},6216:(e,t,r)=>{"use strict";r.d(t,{K8:()=>s,QZ:()=>c,cS:()=>o,sE:()=>i,t9:()=>a,vh:()=>u});var n=r(3325);const i=["click","keydown","submit"],o="api",a=n.D.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7836:(e,t,r)=>{"use strict";r.d(t,{BODY:()=>w,CB_END:()=>x,CB_START:()=>u,END:()=>E,FEATURE_NAME:()=>i,FETCH:()=>T,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>f,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>_,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>l,SPA_NODE:()=>h,START:()=>A,originalSetTimeout:()=>y});var n=r(234);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,A="-start",E="-end",w="-body",x="cb"+E,_="jsTime",T="fetch"},5938:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},2758:(e,t,r)=>{"use strict";r.d(t,{j:()=>x});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(8e3),c=r(3960),u=r(385),d=r(50),l=r(3081),f=r(8632),h=r(7144);const p=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start","recordReplay","pauseReplay",h.Ef.RECORD,h.Ef.PAUSE],g=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(7894),v=r(7056);function b(){const e=(0,f.gG)();p.forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}const y={};var A=r(2825);const E=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let w=!1;function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=arguments.length>2?arguments[2]:void 0,x=arguments.length>3?arguments[3]:void 0,{init:_,info:T,loader_config:S,runtime:R={loaderType:p},exposed:N=!0}=t;const O=(0,f.gG)();T||(_=O.init,T=O.info,S=O.loader_config),(0,i.Dg)(e.agentIdentifier,_||{}),(0,i.GE)(e.agentIdentifier,S||{}),T.jsAttributes??={},u.v6&&(T.jsAttributes.isWorker=!0),(0,i.CX)(e.agentIdentifier,T);const D=(0,i.P_)(e.agentIdentifier),I=[T.beacon,T.errorBeacon];w||(D.proxy.assets&&(E(D.proxy.assets),I.push(D.proxy.assets)),D.proxy.beacon&&I.push(D.proxy.beacon),b(),(0,f.EZ)("activatedFeatures",A.T),e.runSoftNavOverSpa&&=!0===D.soft_navigations.enabled&&D.feature_flags.includes("soft_nav")),R.denyList=[...D.ajax.deny_list||[],...D.ajax.block_internal?I:[]],R.ptid=e.agentIdentifier,(0,i.sU)(e.agentIdentifier,R),void 0===e.api&&(e.api=function(e,t){let f=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t||(0,s.RP)(e,"api");const p={};var b=a.ee.get(e),A=b.get("tracer");y[e]=v.IK.OFF,b.on(h.Ef.REPLAY_RUNNING,(t=>{y[e]=t}));var E="api-",w=E+"ixn-";function x(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),S(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.forEach((e=>{p[e]=S(E,e,!0,"api")})),p.addPageAction=S(E,"addPageAction",!0,n.D.pageAction),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,S(E,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return x(e,t,"setCustomAttribute",r);(0,d.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,d.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},p.setUserId=function(e){if("string"==typeof e||null===e)return x("enduser.id",e,"setUserId",!0);(0,d.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return x("application.version",e,"setApplicationVersion",!1);(0,d.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},p.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(l.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,b);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,d.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{b.emit("".concat(e,"-opt-in"))}))}catch(e){(0,d.Z)("An unexpected issue occurred",e)}},p[h.Ef.RECORD]=function(){(0,o.p)(l.xS,["API/recordReplay/called"],void 0,n.D.metrics,b),(0,o.p)(h.Ef.RECORD,[],void 0,n.D.sessionReplay,b)},p[h.Ef.PAUSE]=function(){(0,o.p)(l.xS,["API/pauseReplay/called"],void 0,n.D.metrics,b),(0,o.p)(h.Ef.PAUSE,[],void 0,n.D.sessionReplay,b)},p.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const T=_.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(l.xS,["API/createTracer/called"],void 0,n.D.metrics,b),f||(0,o.p)(w+"tracer",[(0,m.z)(),e,r],i,n.D.spa,b),function(){if(A.emit((a?"":"no-")+"fn-start",[(0,m.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw A.emit("fn-err",[arguments,this,e],r),e}finally{A.emit("fn-end",[(0,m.z)()],r)}}}};function S(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,b),i&&(0,o.p)(e+t,[(0,m.z)(),...arguments],r?null:this,i,b),r?void 0:this}}function R(){r.e(111).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,s.LP)(e,"api")})).catch((()=>{(0,d.Z)("Downloading runtime APIs failed..."),b.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{T[e]=S(w,e,void 0,f?n.D.softNav:n.D.spa)})),p.setCurrentRouteName=f?S(w,"routeName",void 0,n.D.softNav):S(E,"routeName",!0,n.D.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,b),(0,o.p)("err",[t,(0,m.z)(),!1,r,!!y[e]],void 0,n.D.jserrors,b)},u.il?(0,c.b2)((()=>R()),!0):R(),p}(e.agentIdentifier,x,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=N),w=!0}},8993:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},3325:(e,t,r)=>{"use strict";r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.softNav]:9,[n.sessionReplay]:10}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({111:"nr-spa",164:"nr-spa-compressor",433:"nr-spa-recorder"}[e]+"-1.256.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.256.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={111:"sha512-t6PKBdfIC5mf5+k47/tJ6Z+ZCX0f+bcmFiUMbS8PuZwzhJQDtoaKjZfwcO40e9S4KnqKtE41XnM1cgooyLYW8g==",433:"sha512-tN/NK+oQR/fvjq1RnhqCPK/gadUQsIByqale3V5iG/eV4ZxwmFfy+GS+wbRDXJQq1T9uj1R7S/RuItN7XLRhdQ==",164:"sha512-sZxBhk0WuEPzK/B3KAxKrKTglpzCSXuhN1P+zDOe5feDUGbSz8A1bnQORRpAZ08KoPlbkJ4RV6+fbtxUPlmBYQ=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={801:0,92:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.256.0.PROD"]=self["webpackChunk:NRBA-1.256.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8993);var e=i(50),t=i(7144),r=i(4402);class n{agentIdentifier;constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,r.ky)(16);this.agentIdentifier=e}#e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];if("function"==typeof this.api?.[t])return this.api[t](...n);(0,e.Z)("Call to agent api ".concat(t," failed. The API is not currently initialized."))}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}finished(e){return this.#e("finished",e)}addRelease(e,t){return this.#e("addRelease",e,t)}start(e){return this.#e("start",e)}recordReplay(){return this.#e(t.Ef.RECORD)}pauseReplay(){return this.#e(t.Ef.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}}var o=i(3325),a=i(234);const s=Object.values(o.D);function c(e){const t={};return s.forEach((r=>{t[r]=function(e,t){return!0===(0,a.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var u=i(2758);var d=i(8e3),l=i(5938),f=i(3960),h=i(385),p=i(3112);class g extends l.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,a.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto&&(0,d.RP)(e,r)}importAggregator(){let t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on("".concat(this.featureName,"-opt-in"),(()=>{(0,d.RP)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));this.onAggregateImported=new Promise((e=>{t=e}));const n=async()=>{let n;try{if((0,p.ev)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(111).then(i.bind(i,1656));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t),this.featureName===o.D.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,n))return(0,d.LP)(this.agentIdentifier,this.featureName),void t(!1);const{lazyFeatureLoader:e}=await i.e(111).then(i.bind(i,8582)),{Aggregate:o}=await e(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,r),t(!0)}catch(r){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),r),this.abortHandler?.(),(0,d.LP)(this.agentIdentifier,this.featureName,!0),t(!1),this.ee&&this.ee.abort()}};h.il?(0,f.b2)((()=>n()),!0):n()}#t(e,t){return e!==o.D.sessionReplay||(0,p.HM)(this.agentIdentifier,t)}}var m=i(7633);class v extends g{static featureName=m.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,m.t,r),this.importAggregator()}}var b=i(1117),y=i(1284);class A extends b.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,y.D)(e,(function(e,r){t[e]=E(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,y.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=E(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=w(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=E(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=Object.values(this.aggregatedData[r]||{}),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function E(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=w(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function w(e){return{t:e,min:e,max:e,sos:e*e,c:1}}var x=i(8632),_=i(4351);var T=i(5546),S=i(7956),R=i(3239),N=i(9251),O=i(7894);class D extends g{static featureName=N.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),h.il&&((0,S.N)((()=>(0,T.p)("docHidden",[(0,O.z)()],void 0,N.t,this.ee)),!0),(0,R.bP)("pagehide",(()=>(0,T.p)("winPagehide",[(0,O.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var I=i(3081);class P extends g{static featureName=I.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,I.t9,r),this.importAggregator()}}var C=i(6660);class j{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class k extends g{static featureName=C.t;#r=new Set;#n=!1;constructor(e,r){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,r,C.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,r)=>{this.abortHandler&&!this.#r.has(r)&&(this.#r.add(r),(0,T.p)("err",[this.#i(r),(0,O.z)()],void 0,o.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,T.p)("ierr",[this.#i(e),(0,O.z)(),!0,{},this.#n],void 0,o.D.jserrors,this.ee)})),this.ee.on(t.Ef.REPLAY_RUNNING,(e=>{this.#n=e})),h._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,T.p)("err",[this.#o(e),(0,O.z)(),!1,{unhandledPromiseRejection:1},this.#n],void 0,o.D.jserrors,this.ee)}),(0,R.m$)(!1,this.removeOnAbort?.signal)),h._A.addEventListener("error",(e=>{this.abortHandler&&(this.#r.has(e.error)?this.#r.delete(e.error):(0,T.p)("err",[this.#a(e),(0,O.z)(),!1,{},this.#n],void 0,o.D.jserrors,this.ee))}),(0,R.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#s,this.importAggregator()}#s(){this.removeOnAbort?.abort(),this.#r.clear(),this.abortHandler=void 0}#i(e){return e instanceof Error?e:void 0!==e?.message?new j(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new j("string"==typeof e?e:(0,_.P)(e))}#o(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new j(t);const r=this.#i(e.reason);return r.message=t+r.message,r}#a(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno);return t.name=SyntaxError.name,t}return e.error instanceof Error?e.error:new j(e.message,e.filename,e.lineno,e.colno)}}var M=i(2210);let H=1;const L="nr@id";function U(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===h._A?0:(0,M.X)(e,L,(function(){return H++}))}function z(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,_.P)(e).length}catch(e){return}}}var F=i(7806),B=i(7243);class q{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,a.DL)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var s=(0,r.M)(),c=(0,r.Ht)(),u=Date.now(),d={spanId:s,traceId:c,timestamp:u};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(s,c),d.traceContextStateHeader=this.generateTraceContextStateHeader(s,u,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(s,c,u,n,i,o)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof h._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,_.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,a.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,a.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,B.e)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,a.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var G=i(7825),V=["load","error","abort","timeout"],Z=V.length,K=a.Yu.REQ,W=a.Yu.XHR;class X extends g{static featureName=G.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,G.t,r),(0,a.OP)(e).xhrWrappable){this.dt=new q(e),this.handler=(e,t,r,n)=>(0,T.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};h._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};Y(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,o.D.ajax)}}))}catch(e){}(0,F.u5)(this.ee),(0,F.Kf)(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=w,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){x(t,e)}),(0,R.m$)(!1)),h.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,R.m$)(!1))}function s(e){this.params={method:e[0]},Y(this,e[1]),this.metrics={}}function c(t,r){var i=(0,a.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var o=n.generateTracePayload(this.parsedOrigin);if(o){var s=!1;o.newrelicHeader&&(r.setRequestHeader("newrelic",o.newrelicHeader),s=!0),o.traceContextParentHeader&&(r.setRequestHeader("traceparent",o.traceContextParentHeader),o.traceContextStateHeader&&r.setRequestHeader("tracestate",o.traceContextStateHeader),s=!0),s&&(this.dt=o)}}function u(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=z(i);a&&(n.txSize=a)}this.startTime=(0,O.z)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<Z;s++)r.addEventListener(V[s],this.listener,(0,R.m$)(!1))}function d(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function l(e,t){var r=""+U(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function f(e,t){var r=""+U(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,O.z)()}function g(e,r){r instanceof W&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof W&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof W&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,O.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,O.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&h.il&&(t=""+h._A.location.href):e[0]&&e[0].url?t=e[0].url:h._A?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,B.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function A(e,t){this.params={},this.metrics={},this.startTime=(0,O.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof K?r=i.url:h._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),Y(this,r);var o=(""+(i&&i instanceof K&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=z(n.body)||0}function E(e,t){var n;this.endTime=(0,O.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var i={txSize:this.txSize,rxSize:n,duration:(0,O.z)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,o.D.ajax)}function w(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var i=0;i<Z;i++)e.removeEventListener(V[i],this.listener,!1);t.aborted||(n.duration=(0,O.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):x(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,o.D.ajax))}}function x(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?z(e.response):"text"===r||""===r||void 0===r?z(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,T.p)(I.mY,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,o.D.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",u),t.on("xhr-cb-time",d),t.on("xhr-load-added",l),t.on("xhr-load-removed",f),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",A),t.on("fn-start",v),t.on("fetch-done",E)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function Y(e,t){var r=(0,B.e)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var J=i(3614);const{BST_RESOURCE:Q,RESOURCE:ee,START:te,END:re,FEATURE_NAME:ne,FN_END:ie,FN_START:oe,PUSH_STATE:ae}=J;var se=i(7056);class ce extends g{static featureName=t.t9;constructor(e,r){let n,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,r,t.t9,i);try{n=JSON.parse(localStorage.getItem("".concat(se.Bq,"_").concat(se.K4)))}catch(e){}this.#c(n)?(this.ee.on("err",(e=>{this.errorNoticed=!0,this.featAggregate&&this.featAggregate.handleError()})),this.#u(n?.sessionReplayMode)):this.importAggregator()}#c(e){return e&&(e.sessionReplayMode===se.IK.FULL||e.sessionReplayMode===se.IK.ERROR)||(0,p.rU)(this.agentIdentifier)}async#u(e){const{Recorder:t}=await Promise.all([i.e(111),i.e(433)]).then(i.bind(i,4345));this.recorder=new t({mode:e,agentIdentifier:this.agentIdentifier,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording,this.importAggregator({recorder:this.recorder,errorNoticed:this.errorNoticed})}}var ue=i(7872),de=i(6216);class le extends g{static featureName=de.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,de.t9,r),!h.il||!a.Yu.MO)return;const n=(0,F.QU)(this.ee),i=(0,F.em)(this.ee),o=()=>(0,T.p)("newURL",[(0,O.z)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",o),n.on("replaceState-end",o);try{this.removeOnAbort=new AbortController}catch(e){}(0,R.bP)("popstate",(e=>(0,T.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let s=!1;const c=new a.Yu.MO(((e,t)=>{s||(s=!0,requestAnimationFrame((()=>{(0,T.p)("newDom",[(0,O.z)()],void 0,this.featureName,this.ee),s=!1})))})),u=(0,ue.D)((e=>{(0,T.p)("newUIEvent",[e],void 0,this.featureName,this.ee),c.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});i.on("fn-start",(e=>{let[t]=e;de.sE.includes(t?.type)&&u(t)}));for(let e of de.sE)document.addEventListener(e,(()=>{}));this.abortHandler=function(){this.removeOnAbort?.abort(),c.disconnect(),this.abortHandler=void 0},this.importAggregator({domObserver:c})}}var fe=i(7836);const{FEATURE_NAME:he,START:pe,END:ge,BODY:me,CB_END:ve,JS_TIME:be,FETCH:ye,FN_START:Ae,CB_START:Ee,FN_END:we}=fe;var xe=i(4649);class _e extends g{static featureName=xe.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,xe.t,r),this.importAggregator()}}new class extends n{constructor(t,r){super(r),h._A?(this.sharedAggregator=new A({agentIdentifier:this.agentIdentifier}),this.features={},(0,x.h5)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(v),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===o.D.softNav)),(0,u.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.Z)("Failed to initialize the agent. Could not determine the runtime environment.")}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=c(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>o.p[e.featureName]-o.p[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==o.D.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===o.D.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===o.D.softNav)return;const n=function(e){switch(e){case o.D.ajax:return[o.D.jserrors];case o.D.sessionTrace:return[o.D.ajax,o.D.pageViewEvent];case o.D.sessionReplay:return[o.D.sessionTrace];case o.D.pageViewTiming:return[o.D.pageViewEvent];default:return[]}}(r.featureName);n.every((e=>e in this.features))||(0,e.Z)("".concat(r.featureName," is enabled but one or more dependent features has not been initialized (").concat((0,_.P)(n),"). This may cause unintended consequences or missing data...")),this.features[r.featureName]=new r(this.agentIdentifier,this.sharedAggregator)}))}catch(t){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.fP)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[X,v,D,class extends g{static featureName=ne;constructor(e,t){if(super(e,t,ne,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!h.il)return;const r=this.ee;let n;(0,F.QU)(r),this.eventsEE=(0,F.em)(r),this.eventsEE.on(oe,(function(e,t){this.bstStart=(0,O.z)()})),this.eventsEE.on(ie,(function(e,t){(0,T.p)("bst",[e[0],t,this.bstStart,(0,O.z)()],void 0,o.D.sessionTrace,r)})),r.on(ae+te,(function(e){this.time=(0,O.z)(),this.startPath=location.pathname+location.hash})),r.on(ae+re,(function(e){(0,T.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,o.D.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,T.p)(Q,[t],void 0,o.D.sessionTrace,r)})),n.observe({type:ee,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:n})}},ce,P,_e,k,le,class extends g{static featureName=he;constructor(e,t){if(super(e,t,he,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!h.il)return;if(!(0,a.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=(0,F._L)(this.ee),s=(0,F.Lg)(this.ee),c=(0,F.BV)(this.ee),u=(0,F.Kf)(this.ee),d=this.ee.get("events"),l=(0,F.u5)(this.ee),f=(0,F.QU)(this.ee),p=(0,F.Gm)(this.ee);function g(e,t){f.emit("newURL",[""+window.location,t])}function m(){n++,r=window.location.hash,this[Ae]=(0,O.z)()}function v(){n--,window.location.hash!==r&&g(0,!0);var e=(0,O.z)();this[be]=~~this[be]+e-this[Ae],this[we]=e}function b(e,t){e.on(t,(function(){this[t]=(0,O.z)()}))}this.ee.on(Ae,m),s.on(Ee,m),o.on(Ee,m),this.ee.on(we,v),s.on(ve,v),o.on(ve,v),this.ee.buffer([Ae,we,"xhr-resolved"],this.featureName),d.buffer([Ae],this.featureName),c.buffer(["setTimeout"+ge,"clearTimeout"+pe,Ae],this.featureName),u.buffer([Ae,"new-xhr","send-xhr"+pe],this.featureName),l.buffer([ye+pe,ye+"-done",ye+me+pe,ye+me+ge],this.featureName),f.buffer(["newURL"],this.featureName),p.buffer([Ae],this.featureName),s.buffer(["propagate",Ee,ve,"executor-err","resolve"+pe],this.featureName),i.buffer([Ae,"no-"+Ae],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(l,ye+pe),b(l,ye+"-done"),b(o,"new-jsonp"),b(o,"jsonp-end"),b(o,"cb-start"),f.on("pushState-end",g),f.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,R.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,R.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,n>1)}),(0,R.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#s,this.importAggregator()}#s(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})()})(); ;NREUM.loader_config={accountID:"10956800",trustKey:"1",agentID:"35094662",licenseKey:"NRJS-649173eb1a7b28cd6ab",applicationID:"35094662"} ;NREUM.info={beacon:"staging-bam-cell.nr-data.net",errorBeacon:"staging-bam-cell.nr-data.net",licenseKey:"NRJS-649173eb1a7b28cd6ab",applicationID:"35094662",sa:1} </script><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap"/></head><body><script>!function(e,a,o){function d(e){document.body.classList.add(e?"dark-mode":"light-mode"),document.body.classList.remove(e?"light-mode":"dark-mode")}var t=window.matchMedia("(prefers-color-scheme: dark)"),r="(prefers-color-scheme: dark)"===t.media,s=null;try{s=localStorage.getItem("darkMode")}catch(e){}var c=null!==s;if(c&&(s=JSON.parse(s)),c)d(s);else if(r)d(t.matches),localStorage.setItem("darkMode",t.matches);else{var l=document.body.classList.contains("dark-mode");localStorage.setItem("darkMode",JSON.stringify(l))}}();</script><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><style data-emotion="css-global 7t9v0r">html{line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;}body{margin:0;}main{display:block;}h1{font-size:2em;margin:0.67em 0;}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:transparent;}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;}b,strong{font-weight:bolder;}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sub{bottom:-0.25em;}sup{top:-0.5em;}img{border-style:none;}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible;}button,select{text-transform:none;}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button;}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0;}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText;}fieldset{padding:0.35em 0.625em 0.75em;}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline;}textarea{overflow:auto;}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto;}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block;}summary{display:-webkit-box;display:-webkit-list-item;display:-ms-list-itembox;display:list-item;}template{display:none;}[hidden]{display:none;}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}:root{--global-header-height:72px;--color-white:#ffffff;--color-black:#000000;--erno-black:#1d252c;--erno-yellow:#fdebb8;--product-blue:#0e74df;--product-blue-hover:#0958a9;--system-text-primary-light:#293338;--system-text-secondary-light:#535e65;--system-text-secondary-inverted-light:#cdd3d5;--system-text-muted-light:#6b757b;--system-background-app-light:#f9fafa;--system-background-surface-1-light:#ffffff;--system-background-muted-light:#dcdede;--system-border-strong-light:#cdd3d5;--system-background-selected-low-contrast-light:#e8e8e8;--system-text-primary-dark:#e9ecec;--system-text-secondary-dark:#d0d6d7;--system-text-secondary-inverted-dark:#d0d6d7;--system-text-disabled-dark:#7b838a;--system-background-app-dark:#0d1212;--system-background-surface-1-dark:#182125;--system-background-hover-dark:#2a363c;--system-border-regular-dark:#3a444b;--system-background-selected-low-contrast-dark:#404b53;--system-background-floating-dark:#3a444b;--nav-category:#1dcad3;--nav-item:#afe2e3;--nav-highlight:#0d374a;--interactive-link-light:#0c74df;--interactive-link-dark:#3d9dff;--modal-wrapper-background-light:rgba(213,215,215,0.75);--modal-wrapper-background-dark:rgba(58,68,75,0.75);--code-console-background-main:#182125;--code-console-text-highlight:#429fff;--code-console-text-primary:#ffffff;--code-console-text-error:#ff6f66;--code-console-text-success:#01cb81;--code-console-text-warning:#ffd23d;--code-query-syntax-keyword:#da66ed;--code-query-syntax-function:#52a7f7;--code-query-syntax-string:#6cb404;--code-query-syntax-regex:#8c97ff;--code-query-syntax-numeric:#e89600;--code-query-syntax-operator:#19b1bb;--brand-button-primary-accent:#1ce783;--brand-button-primary-accent-hover:#00ce7c;--attention-notification-critical:#df2d24;--attention-notification-announcement:#00ce7c;--attention-notification-warning:#ffd23d;--attention-notification-info:#0c74df;--color-text:#c5c8c6;--color-background:#212c31;--color-current-line:#282a2e;--color-selection:#373b41;--color-comment:#969896;--color-aqua:#8abeb7;--color-blue:#81a2be;--color-red:#cc6666;--color-orange:#de935f;--color-yellow:#f0c674;--color-green:#b5bd68;--color-purple:#b294bb;--search-dropdown-emphasis:#00ac69;--spooky-white:#f8f8ff;--primary-font-family:Sohne,system-ui,sans-serif;--code-font:'Menlo','Consolas',monospace;--paragraph-spacing:1.25rem;--shadow-0:rgba(0, 0, 0, 0.05) 0px 0px 0px 1px;--shadow-1:rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;--shadow-2:rgba(0, 0, 0, 0.1) 0px 1px 3px 0px,rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;--shadow-3:rgba(0, 0, 0, 0.1) 0px 4px 6px -1px,rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;--shadow-4:rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;--shadow-5:rgba(0, 0, 0, 0.1) 0px 20px 25px -5px,rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;--shadow-6:rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;--site-max-width:1600px;--site-content-padding:5rem;--sidebar-width:340px;}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-ExtraleichtKursiv.otf') format('opentype');font-weight:200;font-style:'italic';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-Extraleicht.otf') format('opentype');font-weight:200;font-style:'normal';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-LeichtKursiv.otf') format('opentype');font-weight:300;font-style:'italic';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-Leicht.otf') format('opentype');font-weight:300;font-style:'normal';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-BuchKursiv.otf') format('opentype');font-weight:400;font-style:'italic';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-Buch.otf') format('opentype');font-weight:400;font-style:'normal';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-Kraftig.otf') format('opentype');font-weight:500;font-style:'normal';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-Halbfett.otf') format('opentype');font-weight:600;font-style:'normal';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-DreiviertelfettKursiv.otf') format('opentype');font-weight:700;font-style:'italic';}@font-face{font-family:'Sohne';src:url('https://sohne-font.s3.us-east-2.amazonaws.com/Sohne-Dreiviertelfett.otf') format('opentype');font-weight:700;font-style:'normal';}.light-mode{--primary-background-color:var(--system-background-app-light);--primary-contrast-color:var(--system-text-primary-dark);--primary-text-color:var(--system-text-primary-light);--primary-hover-color:var(--system-background-selected-low-contrast-light);--secondary-background-color:var(--system-background-surface-1-light);--secondary-text-color:var(--system-text-secondary-light);--secondary-text-color-inverted:var( --system-text-secondary-inverted-light );--muted-text:var(--system-text-muted-light);--modal-background-color:var(--secondary-background-color);--modal-wrapper-color:var(--modal-wrapper-background-light);--button-background-color:var(--primary-text-color);--button-outline-color:var(--color-black);--button-text-color:var(--color-white);--accent-text-color:var(--secondary-text-color);--link-color:var(--interactive-link-light);--link-hover-color:#074382;--border-color:var(--system-border-strong-light);--divider-color:var(--system-background-selected-low-contrast-light);--heading-text-color:var(--primary-text-color);--callout-caution-background-color:#fce9e935;--callout-important-background-color:#fff9cc30;--callout-tip-background-color:#d1f7d925;--callout-course-background-color:#00b3c310;--search-dropdown-background:#fff;--search-dropdown-border:#e7e9ea;--search-dropdown-hover:rgba(0, 0, 0, 0.06);--search-input-border:none;}.light-mode input::-webkit-input-placeholder{color:var(--primary-text-color);opacity:80%;}.light-mode input::-moz-placeholder{color:var(--primary-text-color);opacity:80%;}.light-mode input:-ms-input-placeholder{color:var(--primary-text-color);opacity:80%;}.light-mode input::placeholder{color:var(--primary-text-color);opacity:80%;}.light-mode *:not(pre)>code,.light-mode var{background:var(--system-background-muted-light);}.dark-mode{--primary-background-color:var(--system-background-app-dark);--primary-contrast-color:var(--system-text-primary-light);--primary-text-color:var(--system-text-primary-dark);--primary-hover-color:var(--system-background-hover-dark);--secondary-background-color:var(--system-background-surface-1-dark);--secondary-text-color:var(--system-text-secondary-dark);--secondary-text-color-inverted:var(--system-text-secondary-inverted-dark);--muted-text:var(--system-text-disabled-dark);--modal-background-color:var(--system-background-surface-1-dark);--modal-wrapper-color:var(--modal-wrapper-background-dark);--button-background-color:var(--primary-text-color);--button-text-color:var(--color-black);--button-outline-color:var(--color-white);--accent-text-color:var(--secondary-text-color);--link-color:var(--interactive-link-dark);--link-hover-color:var(--interactive-link-light);--border-color:var(--system-border-regular-dark);--divider-color:var(--primary-contrast-color);--heading-text-color:var(--primary-text-color);--callout-caution-background-color:#1b000020;--callout-important-background-color:#14110020;--callout-tip-background-color:#02120020;--search-dropdown-background:#1a2125;--search-dropdown-border:#eaecec;--search-dropdown-hover:rgba(255, 255, 255, 0.1);--search-input-border:1px solid #eaecec;}.dark-mode input::-webkit-input-placeholder{color:var(--primary-text-color);opacity:80%;}.dark-mode input::-moz-placeholder{color:var(--primary-text-color);opacity:80%;}.dark-mode input:-ms-input-placeholder{color:var(--primary-text-color);opacity:80%;}.dark-mode input::placeholder{color:var(--primary-text-color);opacity:80%;}.dark-mode *:not(pre)>code,.dark-mode var{background:var(--primary-contrast-color);}*{box-sizing:border-box;}body{font-size:16px;font-family:var(--primary-font-family);color:var(--primary-text-color);background-color:var(--primary-background-color);line-height:1.5;overflow-x:hidden;}a{cursor:pointer;color:var(--link-color);}a:hover{color:var(--link-hover-color);}p{margin-top:0;margin-bottom:var(--paragraph-spacing);line-height:1.969rem;}p:last-child{margin-bottom:0;}img{max-height:550px;max-width:100%;}img.unbound{max-height:unset;}h1,h2,h3,h4,h5,h6{margin-top:0;font-weight:600;color:var(--heading-text-color);scroll-margin-top:calc( var(--global-header-height) + var(--site-content-padding) );}h1 .anchor svg,h2 .anchor svg,h3 .anchor svg,h4 .anchor svg,h5 .anchor svg,h6 .anchor svg{opacity:0;-webkit-transition:opacity 0.2s ease-out;transition:opacity 0.2s ease-out;}h1:hover .anchor svg,h2:hover .anchor svg,h3:hover .anchor svg,h4:hover .anchor svg,h5:hover .anchor svg,h6:hover .anchor svg,h1 .anchor:focus svg,h2 .anchor:focus svg,h3 .anchor:focus svg,h4 .anchor:focus svg,h5 .anchor:focus svg,h6 .anchor:focus svg{opacity:1;}h1 code,h2 code,h3 code,h4 code,h5 code,h6 code{font-size:inherit;}h1 var,h2 var,h3 var,h4 var,h5 var,h6 var,h1 mark,h2 mark,h3 mark,h4 mark,h5 mark,h6 mark{font-size:inherit;}h1{line-height:1.15;font-weight:bold;margin-bottom:1rem;}h2{line-height:1.75rem;margin-bottom:0.75rem;font-weight:600;}h3{margin-bottom:0.75rem;font-weight:600;}h4,h5,h6{margin-bottom:0.5rem;font-weight:600;}ol,ul{margin:0;padding-left:1.75rem;}ol >li,ul >li{line-height:1.969rem;margin:0.344rem 0;}ul>li::marker{color:var(--system-text-secondary-light);}.dark-mode ul>li::marker{color:var(--system-text-secondary-dark);}ul ul li::marker{color:var(--color-black);}.dark-mode ul ul li::marker{color:var(--color-white);}code,var{font-family:var(--code-font);white-space:pre-wrap;}*:not(pre)>code,var,mark{padding:0.2em 0.4em;border-radius:3px;font-size:85%;word-break:break-word;}blockquote{border-left:0.25rem solid var(--secondary-text-color);color:var(--secondary-text-color);padding:0.25rem 1rem;margin:0;font-style:italic;}pre{margin:0;}hr{border:none;border-bottom:1px solid var(--divider-color);}var,mark{line-height:1.25;display:inline;}var{font-style:normal;}mark{background:var(--code-console-text-highlight);}figcaption{font-size:0.75rem;color:var(--accent-text-color);}.gatsby-resp-image-wrapper,.gatsby-resp-image-image,.gatsby-resp-image-background-image{border-radius:0.25rem;}.grecaptcha-badge{visibility:hidden;}.osano-cm-widget{display:none;}.screenreader-only{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;}.header-anchor{position:absolute;top:0;left:0;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);padding-right:4px;}.children-nowrap *{white-space:nowrap;}</style><style data-emotion="css 1f4za3w">.css-1f4za3w{display:grid;background-color:var(--erno-black);grid-template-columns:var(--sidebar-width) minmax(0, 1fr);grid-template-rows:1fr auto;grid-template-areas:'logo nav';box-shadow:var(--shadow-2);position:-webkit-sticky;position:sticky;top:0;z-index:80;height:var(--global-header-height);}@media screen and (max-width: 1507px){.css-1f4za3w{grid-template-columns:calc(150px + 1.5rem) minmax(0, 1fr);}}@media screen and (max-width: 760px){.css-1f4za3w{grid-template-columns:calc(150px + 1.5rem) minmax(0, 1fr);}}</style><div data-swiftype-index="false" class="css-1f4za3w"><style data-emotion="css 17e78o6">.css-17e78o6{grid-area:logo;padding:0 1.5rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;overflow:hidden;}</style><nav class="css-17e78o6"><style data-emotion="css ulm082">.css-ulm082{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media screen and (max-width: 1070px){.css-ulm082{display:none;}}</style><a class="css-ulm082" href="https://newrelic.com/" target="_blank" rel="noopener"><style data-emotion="css 1rfhi2">.css-1rfhi2 .text-color{fill:var(--color-white);}</style><style data-emotion="css vjpcgp">.css-vjpcgp{fill:none;width:150px;}.css-vjpcgp .text-color{fill:var(--color-white);}</style><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -3 171 36" class="css-vjpcgp"><style data-emotion="css qzz8ia">@media screen and (max-width: 460px){.css-qzz8ia{display:none;}}</style><g clip-path="url(#clip0_3277_23032)" class="css-qzz8ia"><style data-emotion="css tgp2q7">.css-tgp2q7{fill:var(--primary-text-color);}</style><path class="text-color css-tgp2q7 e1rtpysa0" d="M40.104 7.57598H43.7406L44.0649 9.14005H44.223C44.223 9.14005 45.642 7.25391 48.6502 7.25391C52.2868 7.25391 54.9747 9.92309 54.9747 14.0074V23.5931H51.0219V14.3335C51.0219 12.2923 49.6029 10.8792 47.5434 10.8792C45.4839 10.8792 44.0649 12.2883 44.0649 14.3335V23.5931H40.1121L40.104 7.57598Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M73.1498 18.8823C72.8336 20.1384 70.7781 23.9147 65.7185 23.9147C60.9731 23.9147 57.4946 20.4605 57.4946 15.5931C57.4946 10.7258 60.9731 7.26953 65.7185 7.26953C70.1457 7.26953 73.6241 10.7238 73.6241 15.2791C73.6302 15.8067 73.5771 16.3333 73.466 16.8492H61.4474C61.7657 19.0393 63.5049 20.6134 65.7185 20.6134C67.6159 20.6134 68.7226 19.5144 69.0389 18.8863L73.1498 18.8823ZM69.6713 14.172C69.3551 12.1308 67.9321 10.5607 65.7185 10.5607C63.3468 10.5607 61.9238 12.1308 61.4474 14.172H69.6713Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M74.4243 7.57422H78.5271L81.2231 18.0959H81.4502L84.1381 7.57422H88.1598L90.8478 18.0959H91.0748L93.7627 7.57422H97.8736L93.7627 23.5913H88.9504L86.2625 13.2286H86.0273L83.3475 23.5913H78.5271L74.4243 7.57422Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M105.776 7.57422H109.098L109.414 8.98329H109.573C109.904 8.54636 110.332 8.19169 110.825 7.94718C111.317 7.70267 111.86 7.575 112.411 7.57422H115.167V11.3525H112.735C110.677 11.3525 109.729 12.2946 109.729 14.3357V23.5954H105.776V7.57422Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M131.345 18.8823C131.029 20.1384 128.973 23.9147 123.914 23.9147C119.168 23.9147 115.69 20.4604 115.69 15.5931C115.69 10.7258 119.168 7.26953 123.914 7.26953C128.341 7.26953 131.819 10.7238 131.819 15.2791C131.825 15.8067 131.772 16.3333 131.661 16.8492H119.643C119.961 19.0474 121.7 20.6175 123.914 20.6175C125.811 20.6175 126.918 19.5184 127.234 18.8903L131.345 18.8823ZM127.867 14.172C127.55 12.1308 126.127 10.5607 123.914 10.5607C121.542 10.5607 120.119 12.1308 119.643 14.172H127.867Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M142.256 1.60938H146.209V5.09984H142.256V1.60938ZM142.256 7.57579H146.209V23.5929H142.256V7.57579Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M164.71 17.6264C164.236 20.1386 162.18 23.9069 157.121 23.9069C152.375 23.9069 148.897 20.4526 148.897 15.5853C148.897 10.718 152.375 7.26172 157.121 7.26172C162.189 7.26172 164.236 11.032 164.71 13.3871H160.757C160.441 12.4431 159.493 10.875 157.121 10.875C154.749 10.875 152.85 12.7591 152.85 15.5853C152.85 18.4115 154.747 20.2956 157.121 20.2956C159.495 20.2956 160.441 18.7255 160.757 17.6264H164.71Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M132.424 1.61133V5.09978H134.668V23.5928H138.621V1.61133H132.424Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M165.336 22.1028C165.342 21.7518 165.452 21.4104 165.653 21.1215C165.853 20.8325 166.136 20.6089 166.464 20.4787C166.792 20.3484 167.152 20.3174 167.498 20.3896C167.844 20.4617 168.161 20.6337 168.409 20.884C168.656 21.1343 168.824 21.4517 168.891 21.7964C168.958 22.1412 168.921 22.4978 168.784 22.8216C168.647 23.1453 168.417 23.4218 168.123 23.6162C167.829 23.8107 167.483 23.9145 167.13 23.9145C166.89 23.9193 166.652 23.8755 166.43 23.7858C166.208 23.6961 166.007 23.5623 165.839 23.3927C165.671 23.2231 165.54 23.0212 165.454 22.7994C165.367 22.5776 165.327 22.3406 165.336 22.1028V22.1028ZM168.644 22.1028C168.639 21.806 168.546 21.5173 168.376 21.2728C168.207 21.0283 167.968 20.8391 167.691 20.7289C167.413 20.6187 167.109 20.5924 166.816 20.6534C166.524 20.7144 166.256 20.8598 166.046 21.0715C165.837 21.2832 165.695 21.5517 165.639 21.8433C165.582 22.1348 165.614 22.4363 165.73 22.71C165.846 22.9837 166.04 23.2173 166.289 23.3815C166.538 23.5457 166.831 23.633 167.13 23.6327C167.332 23.6375 167.533 23.6011 167.721 23.5256C167.909 23.4501 168.079 23.3371 168.221 23.1937C168.363 23.0503 168.473 22.8795 168.546 22.6919C168.619 22.5042 168.652 22.3037 168.644 22.1028ZM166.414 21.1487H167.225C167.312 21.1426 167.399 21.1544 167.482 21.1831C167.564 21.2119 167.639 21.2571 167.703 21.3159C167.767 21.3748 167.819 21.446 167.854 21.5253C167.889 21.6045 167.907 21.6901 167.908 21.7767C167.908 21.9369 167.844 22.0905 167.73 22.2037C167.616 22.317 167.461 22.3806 167.3 22.3806L167.957 23.0328H167.602L166.945 22.3806H166.702V23.0308H166.424L166.414 21.1487ZM167.225 22.1028C167.503 22.1028 167.63 21.976 167.63 21.7767C167.63 21.7262 167.619 21.6764 167.597 21.6305C167.576 21.5846 167.545 21.5436 167.507 21.5104C167.469 21.4771 167.424 21.4523 167.375 21.4374C167.327 21.4226 167.275 21.4182 167.225 21.4245H166.702V22.1028H167.225Z"></path></g><path d="M23.2043 11.0778V20.9232L14.6196 25.8469V32.0005L28.5741 24.001V8L23.2043 11.0778Z" fill="#00AC69"></path><path d="M14.6209 6.15563L23.2056 11.0773L28.5754 7.9995L14.6209 0L0.666504 7.9995L6.03422 11.0773L14.6209 6.15563Z" fill="#1CE783"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M9.25323 19.0793V28.9247L14.6209 32.0005V16.0015L0.666504 8V14.1556L9.25323 19.0793Z"></path></svg></a><style data-emotion="css xsus79">.css-xsus79{display:none;}@media screen and (max-width: 1070px){.css-xsus79{display:block;}}</style><style data-emotion="css nir1x4">.css-nir1x4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;position:relative;display:none;}@media screen and (max-width: 1070px){.css-nir1x4{display:block;}}</style><div class="css-nir1x4"><style data-emotion="css 127vvv2">.css-127vvv2{padding-left:0;padding-right:0;}</style><style data-emotion="css v723t8">.css-v723t8{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:0.625rem;padding:0.375rem 0.625rem;border-radius:0.125rem;padding-left:0;padding-right:0;}</style><button class="css-v723t8 e132irl20"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -3 171 36" class="css-vjpcgp"><g clip-path="url(#clip0_3277_23032)" class="css-qzz8ia"><path class="text-color css-tgp2q7 e1rtpysa0" d="M40.104 7.57598H43.7406L44.0649 9.14005H44.223C44.223 9.14005 45.642 7.25391 48.6502 7.25391C52.2868 7.25391 54.9747 9.92309 54.9747 14.0074V23.5931H51.0219V14.3335C51.0219 12.2923 49.6029 10.8792 47.5434 10.8792C45.4839 10.8792 44.0649 12.2883 44.0649 14.3335V23.5931H40.1121L40.104 7.57598Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M73.1498 18.8823C72.8336 20.1384 70.7781 23.9147 65.7185 23.9147C60.9731 23.9147 57.4946 20.4605 57.4946 15.5931C57.4946 10.7258 60.9731 7.26953 65.7185 7.26953C70.1457 7.26953 73.6241 10.7238 73.6241 15.2791C73.6302 15.8067 73.5771 16.3333 73.466 16.8492H61.4474C61.7657 19.0393 63.5049 20.6134 65.7185 20.6134C67.6159 20.6134 68.7226 19.5144 69.0389 18.8863L73.1498 18.8823ZM69.6713 14.172C69.3551 12.1308 67.9321 10.5607 65.7185 10.5607C63.3468 10.5607 61.9238 12.1308 61.4474 14.172H69.6713Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M74.4243 7.57422H78.5271L81.2231 18.0959H81.4502L84.1381 7.57422H88.1598L90.8478 18.0959H91.0748L93.7627 7.57422H97.8736L93.7627 23.5913H88.9504L86.2625 13.2286H86.0273L83.3475 23.5913H78.5271L74.4243 7.57422Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M105.776 7.57422H109.098L109.414 8.98329H109.573C109.904 8.54636 110.332 8.19169 110.825 7.94718C111.317 7.70267 111.86 7.575 112.411 7.57422H115.167V11.3525H112.735C110.677 11.3525 109.729 12.2946 109.729 14.3357V23.5954H105.776V7.57422Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M131.345 18.8823C131.029 20.1384 128.973 23.9147 123.914 23.9147C119.168 23.9147 115.69 20.4604 115.69 15.5931C115.69 10.7258 119.168 7.26953 123.914 7.26953C128.341 7.26953 131.819 10.7238 131.819 15.2791C131.825 15.8067 131.772 16.3333 131.661 16.8492H119.643C119.961 19.0474 121.7 20.6175 123.914 20.6175C125.811 20.6175 126.918 19.5184 127.234 18.8903L131.345 18.8823ZM127.867 14.172C127.55 12.1308 126.127 10.5607 123.914 10.5607C121.542 10.5607 120.119 12.1308 119.643 14.172H127.867Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M142.256 1.60938H146.209V5.09984H142.256V1.60938ZM142.256 7.57579H146.209V23.5929H142.256V7.57579Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M164.71 17.6264C164.236 20.1386 162.18 23.9069 157.121 23.9069C152.375 23.9069 148.897 20.4526 148.897 15.5853C148.897 10.718 152.375 7.26172 157.121 7.26172C162.189 7.26172 164.236 11.032 164.71 13.3871H160.757C160.441 12.4431 159.493 10.875 157.121 10.875C154.749 10.875 152.85 12.7591 152.85 15.5853C152.85 18.4115 154.747 20.2956 157.121 20.2956C159.495 20.2956 160.441 18.7255 160.757 17.6264H164.71Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M132.424 1.61133V5.09978H134.668V23.5928H138.621V1.61133H132.424Z"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M165.336 22.1028C165.342 21.7518 165.452 21.4104 165.653 21.1215C165.853 20.8325 166.136 20.6089 166.464 20.4787C166.792 20.3484 167.152 20.3174 167.498 20.3896C167.844 20.4617 168.161 20.6337 168.409 20.884C168.656 21.1343 168.824 21.4517 168.891 21.7964C168.958 22.1412 168.921 22.4978 168.784 22.8216C168.647 23.1453 168.417 23.4218 168.123 23.6162C167.829 23.8107 167.483 23.9145 167.13 23.9145C166.89 23.9193 166.652 23.8755 166.43 23.7858C166.208 23.6961 166.007 23.5623 165.839 23.3927C165.671 23.2231 165.54 23.0212 165.454 22.7994C165.367 22.5776 165.327 22.3406 165.336 22.1028V22.1028ZM168.644 22.1028C168.639 21.806 168.546 21.5173 168.376 21.2728C168.207 21.0283 167.968 20.8391 167.691 20.7289C167.413 20.6187 167.109 20.5924 166.816 20.6534C166.524 20.7144 166.256 20.8598 166.046 21.0715C165.837 21.2832 165.695 21.5517 165.639 21.8433C165.582 22.1348 165.614 22.4363 165.73 22.71C165.846 22.9837 166.04 23.2173 166.289 23.3815C166.538 23.5457 166.831 23.633 167.13 23.6327C167.332 23.6375 167.533 23.6011 167.721 23.5256C167.909 23.4501 168.079 23.3371 168.221 23.1937C168.363 23.0503 168.473 22.8795 168.546 22.6919C168.619 22.5042 168.652 22.3037 168.644 22.1028ZM166.414 21.1487H167.225C167.312 21.1426 167.399 21.1544 167.482 21.1831C167.564 21.2119 167.639 21.2571 167.703 21.3159C167.767 21.3748 167.819 21.446 167.854 21.5253C167.889 21.6045 167.907 21.6901 167.908 21.7767C167.908 21.9369 167.844 22.0905 167.73 22.2037C167.616 22.317 167.461 22.3806 167.3 22.3806L167.957 23.0328H167.602L166.945 22.3806H166.702V23.0308H166.424L166.414 21.1487ZM167.225 22.1028C167.503 22.1028 167.63 21.976 167.63 21.7767C167.63 21.7262 167.619 21.6764 167.597 21.6305C167.576 21.5846 167.545 21.5436 167.507 21.5104C167.469 21.4771 167.424 21.4523 167.375 21.4374C167.327 21.4226 167.275 21.4182 167.225 21.4245H166.702V22.1028H167.225Z"></path></g><path d="M23.2043 11.0778V20.9232L14.6196 25.8469V32.0005L28.5741 24.001V8L23.2043 11.0778Z" fill="#00AC69"></path><path d="M14.6209 6.15563L23.2056 11.0773L28.5754 7.9995L14.6209 0L0.666504 7.9995L6.03422 11.0773L14.6209 6.15563Z" fill="#1CE783"></path><path class="text-color css-tgp2q7 e1rtpysa0" d="M9.25323 19.0793V28.9247L14.6209 32.0005V16.0015L0.666504 8V14.1556L9.25323 19.0793Z"></path></svg></button><style data-emotion="css 16wlb2s">.css-16wlb2s{--arrow-size:5px;--arrow-offset:0.5rem;position:absolute;top:calc(100% + var(--arrow-size));display:none;background:var(--secondary-background-color);border-radius:0.25rem;z-index:1000;padding:0.5rem;box-shadow:0 3px 8px 0 rgba(22, 38, 59, 0.2);}.dark-mode .css-16wlb2s{background-color:var(--primary-hover-color);}.css-16wlb2s::before{content:'';position:absolute;display:block;top:calc(-1 * var(--arrow-size));border-left:var(--arrow-size) solid transparent;border-right:var(--arrow-size) solid transparent;border-bottom:var(--arrow-size) solid var(--background-color);width:0;height:0;z-index:1000;left:var(--arrow-offset);}</style><div class="css-16wlb2s"><style data-emotion="css 1ejk3sh">.css-1ejk3sh{max-height:20rem;min-width:100px;overflow-y:auto;}</style><div class="css-1ejk3sh"><style data-emotion="css 1j1f2xp">.css-1j1f2xp{display:block;padding:0.25rem 0.5rem;font-size:0.75rem;-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out;color:var(--text-color);-webkit-text-decoration:none;text-decoration:none;}.css-1j1f2xp:hover{color:var(--text-color);cursor:pointer;background:var(--primary-hover-color);border-radius:0.25rem;}.dark-mode .css-1j1f2xp:hover{background-color:var(--system-border-regular-dark);}</style><a class="css-1j1f2xp" href="/">Docs</a><a class="css-1j1f2xp" href="https://discuss.newrelic.com/" target="_blank" rel="noopener">Community</a><a class="css-1j1f2xp" href="https://learn.newrelic.com/" target="_blank" rel="noopener">Learn</a></div></div></div></nav><style data-emotion="css 15prito">.css-15prito{grid-area:nav;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0 1.5rem;width:100%;max-width:var(--site-max-width);margin:auto;}</style><div class="css-15prito"><nav><style data-emotion="css 1xr14q6">.css-1xr14q6{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style-type:none;white-space:nowrap;padding:0;}.css-1xr14q6 li >a{font-size:18px;}.css-1xr14q6 li:first-of-type >a{padding-left:0px;}@media screen and (max-width: 1070px){.css-1xr14q6{display:none;}}</style><ul class="css-1xr14q6"><li><style data-emotion="css 1vyzctq">.css-1vyzctq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;padding:0.25rem 0.5625rem;color:var(--system-text-primary-dark);font-size:0.75rem;line-height:1.125rem;font-weight:400;-webkit-transition:0.2s;transition:0.2s;-webkit-text-decoration:none;text-decoration:none;}.css-1vyzctq:hover{color:var(--system-text-secondary-dark);}</style><a class="css-1vyzctq" instrumentation="[object Object]" href="/">Docs</a></li><li><a class="css-1vyzctq" href="https://discuss.newrelic.com/" target="_blank" rel="noopener">Community</a></li><li><a class="css-1vyzctq" href="https://learn.newrelic.com/" target="_blank" rel="noopener">Learn</a></li></ul></nav><style data-emotion="css 17x1e8q">.css-17x1e8q{margin:0;margin-left:1rem;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;list-style-type:none;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;}.css-17x1e8q >li{-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out;}.css-17x1e8q >li:not(:first-of-type) .css-17x1e8q >li:not(:last-of-type){margin-left:0.5rem;}@media screen and (max-width: 1070px){.css-17x1e8q{width:100%;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin:0;}}</style><ul class="css-17x1e8q"><style data-emotion="css 11aujae">.css-11aujae{--search-width:26.625rem;--search-dropdown-width:26.625rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:end;justify-content:end;margin:0rem 0.5rem 0 1rem;position:relative;width:var(--search-width);}@media screen and (max-width: 930px){.css-11aujae{margin-right:1rem;}}@media screen and (max-width: 1070px){.css-11aujae{margin-left:0;}}@media (max-width: 1355px){.css-11aujae{--search-width:13.3125rem;}}@media (max-width: 865px){.css-11aujae{--search-width:12rem;}}@media screen and (max-width: 760px){.css-11aujae{display:none;position:static;}}</style><li class="css-11aujae"><style data-emotion="css gxwj2d">.css-gxwj2d{--icon-size:1.5rem;width:var(--search-width);}.css-gxwj2d svg{width:1rem;height:1rem;}.css-gxwj2d input{border:none;height:40px;}@media (max-width: 760px){.css-gxwj2d{border:0;border-radius:0;position:absolute;left:0;top:0;width:100vw;height:var(--global-header-height);z-index:99;}.css-gxwj2d input{border-radius:0;height:var(--global-header-height);}}</style><style data-emotion="css 6qtwj2">.css-6qtwj2{--horizontal-spacing:1rem;border:var(--search-input-border);border-radius:4px;position:relative;width:100%;--icon-size:1rem;--icon-size:1.5rem;width:var(--search-width);}.css-6qtwj2 svg{width:1rem;height:1rem;}.css-6qtwj2 input{border:none;height:40px;}@media (max-width: 760px){.css-6qtwj2{border:0;border-radius:0;position:absolute;left:0;top:0;width:100vw;height:var(--global-header-height);z-index:99;}.css-6qtwj2 input{border-radius:0;height:var(--global-header-height);}}</style><div class="css-6qtwj2"><style data-emotion="css 1ru24ph">.css-1ru24ph{position:absolute;left:var(--horizontal-spacing);top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}</style><style data-emotion="css 1kgdipl">.css-1kgdipl{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;position:absolute;left:var(--horizontal-spacing);top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}</style><style data-emotion="css 1sytjs1">.css-1sytjs1{width:0.875rem;height:0.875rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;position:absolute;left:var(--horizontal-spacing);top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}</style><svg viewBox="0 0 24 24" class="css-1sytjs1" xmlns="http://www.w3.org/2000/svg"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg><style data-emotion="css otxpqg">.css-otxpqg{width:100%;border:1px solid var(--primary-text-color);border-radius:4px;background:var(--secondary-background-color);-webkit-transition:0.15s ease-out;transition:0.15s ease-out;line-height:1;color:var(--primary-text-color);padding-left:calc( var(--horizontal-spacing) + 0.5rem + var(--icon-size) );padding-right:var(--horizontal-spacing);font-size:0.875rem;padding-top:0.5rem;padding-bottom:0.5rem;}.css-otxpqg:focus{outline:none;border:1px solid rgba(0, 126, 138, 0.6);box-shadow:0 0 0 4px rgba(0, 126, 138, 0.1);}</style><input type="text" value="" placeholder="Search docs" class="css-otxpqg"/><style data-emotion="css yyoiav">.css-yyoiav{border:1px solid currentColor;border-radius:4px;display:inline-grid;line-height:1.1;margin-right:0.25rem;padding:2px 4px;place-items:center;position:absolute;right:0.5rem;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}@media (max-width: 760px){.css-yyoiav{display:none;}}</style><kbd class="css-yyoiav">/</kbd><style data-emotion="css 16b0y2j">.css-16b0y2j{display:none;right:var(--horizontal-spacing);top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);color:var(--primary-text-color);border:none;background:transparent;position:absolute;margin:0;padding:0;outline:none;z-index:123;}.css-16b0y2j:hover{cursor:pointer;}@media (max-width: 760px){.css-16b0y2j{display:block;}}</style><button type="button" class="css-16b0y2j"><style data-emotion="css 4zleql">.css-4zleql{display:block;}</style><style data-emotion="css ibalvt">.css-ibalvt{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;}</style><style data-emotion="css bus8w9">.css-bus8w9{width:0.875rem;height:0.875rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;}</style><svg viewBox="0 0 24 24" class="css-bus8w9" xmlns="http://www.w3.org/2000/svg"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></li><style data-emotion="css tevsxp">.css-tevsxp{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}@media screen and (max-width: 460px){.css-tevsxp{width:100%;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;-webkit-justify-content:space-evenly;justify-content:space-evenly;}}</style><li class="css-tevsxp"><style data-emotion="css 1scq7w6">.css-1scq7w6{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:var(--system-text-primary-dark);display:none;margin-right:8px;padding:8px;-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out;}@media screen and (max-width: 760px){.css-1scq7w6{display:block;}}</style><style data-emotion="css dep3f0">.css-dep3f0{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--button-outline-color);background:transparent;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:var(--system-text-primary-dark);display:none;margin-right:8px;padding:8px;-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out;}@media screen and (max-width: 760px){.css-dep3f0{display:block;}}</style><button id="mobile-search-expand" class="css-dep3f0 e132irl20"><style data-emotion="css 1y43q3c">.css-1y43q3c{cursor:pointer;display:block;}</style><style data-emotion="css 1y61uui">.css-1y61uui{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;display:block;}</style><style data-emotion="css 13ljknx">.css-13ljknx{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;display:block;}</style><svg viewBox="0 0 24 24" class="css-13ljknx" xmlns="http://www.w3.org/2000/svg"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg></button><style data-emotion="css weovyz">.css-weovyz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;position:relative;}</style><div class="css-weovyz"><style data-emotion="css pv04m4">.css-pv04m4{margin:0;border-radius:0px;font-size:0.75rem;color:var(--system-text-primary-dark);background:transparent;}</style><style data-emotion="css 1xla0pq">.css-1xla0pq{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:0.625rem;padding:0.375rem 0.625rem;border-radius:0.125rem;margin:0;border-radius:0px;font-size:0.75rem;color:var(--system-text-primary-dark);background:transparent;}</style><button class="css-1xla0pq e132irl20"><style data-emotion="css 3bqe50">.css-3bqe50{stroke:currentColor;}</style><style data-emotion="css hfypzk">.css-hfypzk{width:20px;height:20px;stroke:currentColor;}</style><svg viewBox="0 0 20 20" fill="none" class="css-hfypzk" xmlns="http://www.w3.org/2000/svg"><circle cx="10.0001" cy="10" r="9.09091" stroke-width="1.5"></circle><path d="M10.2842 18.512C7.84969 16.4278 6.30688 13.3321 6.30688 9.87611C6.30688 6.5488 7.73691 3.55549 10.0159 1.47726" stroke-width="1.5"></path><path d="M9.71609 18.512C12.1505 16.4278 13.6934 13.3321 13.6934 9.87611C13.6934 6.5488 12.2633 3.55549 9.98435 1.47726" stroke-width="1.5"></path><line x1="1.81812" y1="6.52274" x2="18.1818" y2="6.52274" stroke-width="1.5"></line><line x1="0.90918" y1="12.8864" x2="18.1819" y2="12.8864" stroke-width="1.5"></line></svg></button><style data-emotion="css 5jfumo">.css-5jfumo{--arrow-size:5px;--arrow-offset:0.5rem;position:absolute;top:calc(100% + var(--arrow-size));display:none;background:var(--secondary-background-color);border-radius:0.25rem;z-index:1000;padding:0.5rem;box-shadow:0 3px 8px 0 rgba(22, 38, 59, 0.2);}.dark-mode .css-5jfumo{background-color:var(--primary-hover-color);}.css-5jfumo::before{content:'';position:absolute;display:block;top:calc(-1 * var(--arrow-size));border-left:var(--arrow-size) solid transparent;border-right:var(--arrow-size) solid transparent;border-bottom:var(--arrow-size) solid var(--background-color);width:0;height:0;z-index:1000;right:var(--arrow-offset);}</style><div class="css-5jfumo"><div class="css-1ejk3sh"><style data-emotion="css 1fnsbne">.css-1fnsbne{-webkit-text-decoration:none;text-decoration:none;color:var(--primary-text-color);}</style><style data-emotion="css 1ocafrb">.css-1ocafrb{display:block;padding:0.25rem 0.5rem;font-size:0.75rem;-webkit-transition:all 0.2s ease-out;transition:all 0.2s ease-out;color:var(--text-color);-webkit-text-decoration:none;text-decoration:none;-webkit-text-decoration:none;text-decoration:none;color:var(--primary-text-color);}.css-1ocafrb:hover{color:var(--text-color);cursor:pointer;background:var(--primary-hover-color);border-radius:0.25rem;}.dark-mode .css-1ocafrb:hover{background-color:var(--system-border-regular-dark);}</style><a class="css-1ocafrb" to="/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" href="/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/">English</a><a class="css-1ocafrb" to="/es/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" href="/es/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/">Español</a><a class="css-1ocafrb" to="/jp/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" href="/jp/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/">日本語</a><a class="css-1ocafrb" to="/kr/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" href="/kr/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/">한국어</a><a class="css-1ocafrb" to="/pt/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" href="/pt/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/">Português</a></div></div></div><style data-emotion="css mljzwi">.css-mljzwi{font-size:0.75rem;color:var(--system-text-primary-dark);}@media screen and (max-width: 760px){.css-mljzwi{margin:0;}}</style><style data-emotion="css 1slxonv">@media screen and (max-width: 450px){.css-1slxonv{padding:0;}}</style><style data-emotion="css 1ra5igj">.css-1ra5igj{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:0.625rem;padding:0.375rem 0.625rem;border-radius:0.125rem;}@media screen and (max-width: 450px){.css-1ra5igj{padding:0;}}</style><button class="css-1ra5igj e132irl20"><style data-emotion="css mpl4ec">.css-mpl4ec{cursor:pointer;-webkit-transition:opacity 250ms;transition:opacity 250ms;transition-timing-function:ease-out;font-size:0.75rem;color:var(--system-text-primary-dark);}.css-mpl4ec path{-webkit-transition:-webkit-transform 250ms;transition:transform 250ms;transform-origin:center;transition-timing-function:ease-out;}.dark-mode .css-mpl4ec{opacity:0.8;-webkit-transition:opacity 250ms;transition:opacity 250ms;transition-timing-function:ease-out;}.dark-mode .css-mpl4ec line{stroke-linecap:butt;}.dark-mode .css-mpl4ec path{-webkit-transform:rotate(0.5turn) translate(3%, 3%);-moz-transform:rotate(0.5turn) translate(3%, 3%);-ms-transform:rotate(0.5turn) translate(3%, 3%);transform:rotate(0.5turn) translate(3%, 3%);transform-origin:center;-webkit-transition:-webkit-transform 250ms;transition:transform 250ms;transition-timing-function:ease-out;}@media screen and (max-width: 760px){.css-mpl4ec{margin:0;}}</style><style data-emotion="css 63f8r9">.css-63f8r9{stroke:currentColor;cursor:pointer;-webkit-transition:opacity 250ms;transition:opacity 250ms;transition-timing-function:ease-out;font-size:0.75rem;color:var(--system-text-primary-dark);}.css-63f8r9 path{fill:currentColor;}.css-63f8r9 path{-webkit-transition:-webkit-transform 250ms;transition:transform 250ms;transform-origin:center;transition-timing-function:ease-out;}.dark-mode .css-63f8r9{opacity:0.8;-webkit-transition:opacity 250ms;transition:opacity 250ms;transition-timing-function:ease-out;}.dark-mode .css-63f8r9 line{stroke-linecap:butt;}.dark-mode .css-63f8r9 path{-webkit-transform:rotate(0.5turn) translate(3%, 3%);-moz-transform:rotate(0.5turn) translate(3%, 3%);-ms-transform:rotate(0.5turn) translate(3%, 3%);transform:rotate(0.5turn) translate(3%, 3%);transform-origin:center;-webkit-transition:-webkit-transform 250ms;transition:transform 250ms;transition-timing-function:ease-out;}@media screen and (max-width: 760px){.css-63f8r9{margin:0;}}</style><style data-emotion="css 10vc1eo">.css-10vc1eo{width:27px;height:27px;stroke:currentColor;cursor:pointer;-webkit-transition:opacity 250ms;transition:opacity 250ms;transition-timing-function:ease-out;font-size:0.75rem;color:var(--system-text-primary-dark);}.css-10vc1eo path{fill:currentColor;}.css-10vc1eo path{-webkit-transition:-webkit-transform 250ms;transition:transform 250ms;transform-origin:center;transition-timing-function:ease-out;}.dark-mode .css-10vc1eo{opacity:0.8;-webkit-transition:opacity 250ms;transition:opacity 250ms;transition-timing-function:ease-out;}.dark-mode .css-10vc1eo line{stroke-linecap:butt;}.dark-mode .css-10vc1eo path{-webkit-transform:rotate(0.5turn) translate(3%, 3%);-moz-transform:rotate(0.5turn) translate(3%, 3%);-ms-transform:rotate(0.5turn) translate(3%, 3%);transform:rotate(0.5turn) translate(3%, 3%);transform-origin:center;-webkit-transition:-webkit-transform 250ms;transition:transform 250ms;transition-timing-function:ease-out;}@media screen and (max-width: 760px){.css-10vc1eo{margin:0;}}</style><svg class="css-10vc1eo" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.0001 20.0722C14.8758 20.0722 16.6746 19.3271 18.0009 18.0008C19.3272 16.6745 20.0723 14.8757 20.0723 13C20.0723 11.1244 19.3272 9.32553 18.0009 7.99924C16.6746 6.67296 14.8758 5.92786 13.0001 5.92786V13L13.0001 20.0722Z" fill="#F3F4F4"></path><circle cx="12.9999" cy="13" r="7.57215" stroke="#F3F4F4"></circle><line x1="13.1826" y1="0.5" x2="13.1826" y2="2.76407" stroke="#F3F4F4" stroke-linecap="round"></line><line x1="25.6125" y1="13.106" x2="23.3485" y2="13.106" stroke="#F3F4F4" stroke-linecap="round"></line><line x1="13.106" y1="23.3485" x2="13.106" y2="25.6126" stroke="#F3F4F4" stroke-linecap="round"></line><line x1="22.0242" y1="4.26704" x2="20.4232" y2="5.86798" stroke="#F3F4F4" stroke-linecap="round"></line><line x1="21.8998" y1="21.9701" x2="20.2989" y2="20.3692" stroke="#F3F4F4" stroke-linecap="round"></line></svg></button></li><style data-emotion="css asx9fy">.css-asx9fy{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:right;-webkit-box-align:right;-ms-flex-align:right;align-items:right;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}</style><li class="css-asx9fy"><style data-emotion="css 171eanu">.css-171eanu{white-space:nowrap;font-size:18px;}.css-171eanu span{color:var(--system-text-primary-dark);}@media screen and (max-width: 760px){.css-171eanu{display:none;}}</style><style data-emotion="css bvr2c8">.css-bvr2c8{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:0.75rem;white-space:nowrap;font-size:18px;}.css-bvr2c8 span{color:var(--system-text-primary-dark);}@media screen and (max-width: 760px){.css-bvr2c8{display:none;}}</style><a variant="link" class="css-bvr2c8 e132irl20" href="https://one.newrelic.com" target="_blank" rel="noopener"><span>Log in</span></a><style data-emotion="css 1ji1fdu">.css-1ji1fdu{font-size:18px;white-space:nowrap;padding-right:0;}.css-1ji1fdu span{color:var(--brand-button-primary-accent);}</style><style data-emotion="css 108z63l">.css-108z63l{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:0.75rem;font-size:18px;white-space:nowrap;padding-right:0;}.css-108z63l span{color:var(--brand-button-primary-accent);}</style><a class="css-108z63l e132irl20" variant="link" href="https://newrelic.com/signup" target="_blank" rel="noopener"><span>Start now</span></a></li></ul></div></div><style data-emotion="css 1772kps">.css-1772kps{display:none;padding:1rem 1.5rem;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media screen and (max-width: 760px){.css-1772kps{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}}</style><header class="css-1772kps"><style data-emotion="css g65o95">.css-g65o95{-webkit-text-decoration:none;text-decoration:none;}</style><a class="css-g65o95" href="/"><style data-emotion="css 4zleql">.css-4zleql{display:block;}</style><style data-emotion="css ziuxi6">.css-ziuxi6{width:150px;display:block;}.css-ziuxi6 .text-color{fill:var(--primary-text-color);}.css-ziuxi6 .brand-color{fill:#1ce783;}</style><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.95 98.52" class="css-ziuxi6"><path class="text-color" d="M369.63,75.57H384.9c14.61,0,23.85,9.38,23.85,24.05s-9.24,24-23.85,24H369.63ZM384.9,118.1c10.92,0,17.55-7.3,17.55-18.48s-6.63-18.49-17.61-18.49h-8.91v37Z" transform="translate(-251.43 -50.58)"></path><path class="text-color" d="M429.51,124.4c-9.58,0-16.28-7.37-16.28-18.22S419.93,88,429.51,88s16.28,7.37,16.28,18.22S439.09,124.4,429.51,124.4Zm0-5.16c6.17,0,10.18-5.09,10.18-13.06s-4-13.13-10.18-13.13-10.18,5.09-10.18,13.13S423.35,119.24,429.51,119.24Z" transform="translate(-251.43 -50.58)"></path><path class="text-color" d="M467.56,119.11c4.82,0,7.7-3.08,8.71-7.44l5.36,2.48C480,120,474.86,124.4,467.56,124.4c-9.78,0-16.55-7.44-16.55-18.22S457.78,88,467.56,88c7.3,0,12.26,4.22,13.93,10.05l-5.22,2.61c-1-4.29-3.89-7.43-8.71-7.43-6.23,0-10.52,5-10.52,13S461.33,119.11,467.56,119.11Z" transform="translate(-251.43 -50.58)"></path><path class="text-color" d="M489.06,112.81a11.7,11.7,0,0,0,10.72,6.57c4.08,0,7.7-1.75,7.7-5.56s-3.35-4.36-9.11-5.56-11.79-2.55-11.79-9.72C486.58,92.31,492,88,499.44,88c6.3,0,11.46,3.08,13.53,7.23l-4.28,3.42a10.27,10.27,0,0,0-9.52-5.69c-4,0-6.69,2-6.69,5.15,0,3.29,3.08,3.89,8,5,6,1.41,12.93,2.61,12.93,10.25,0,6.7-6.1,11.12-13.6,11.12-6.37,0-12.73-2.75-15.41-8.17Z" transform="translate(-251.43 -50.58)"></path><path class="brand-color" d="M283.62,100.83h24v4h-24Zm0,12h18v-4h-18Zm33-27.8v35.8a2,2,0,0,1-2,2h-38a2,2,0,0,1-2-2v-44a2,2,0,0,1,2-2h29.8a2,2,0,0,1,1.42.59l8.19,8.2A2,2,0,0,1,316.62,85Zm-4,33.8v-32h-8v-8h-26v40Zm-29-22h24v-4h-24Z" transform="translate(-251.43 -50.58)"></path></svg></a><style data-emotion="css fhxb3m">.css-fhxb3m{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><div class="css-fhxb3m"><style data-emotion="css 10g5aad">.css-10g5aad{--line-width:1rem;--x-padding:1rem;display:block;border:0;cursor:pointer;width:calc(var(--line-width) + 2 * var(--x-padding));outline:none;padding:0.5rem 1rem;background:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform 0.2s ease-out;transition:transform 0.2s ease-out;}.css-10g5aad:active{-webkit-transform:scale(0.8);-moz-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8);}</style><button aria-expanded="false" aria-label="Mobile Menu" type="button" class="css-10g5aad"><style data-emotion="css 6ehe0v">.css-6ehe0v{width:100%;height:2px;background-color:var(--primary-text-color);margin:2px 0;border-radius:5px;-webkit-transition:0.18s;transition:0.18s;}</style><div class="css-6ehe0v"></div><div class="css-6ehe0v"></div><div class="css-6ehe0v"></div></button></div></header><style data-emotion="css n1p8jg">.css-n1p8jg{--sidebar-width:340px;-webkit-font-smoothing:antialiased;font-size:1.125rem;}@media screen and (max-width: 1240px){.css-n1p8jg{--sidebar-width:278px;}}</style><style data-emotion="css 1uz5ayg">.css-1uz5ayg{overflow:clip;width:100%;}</style><div class="css-1uz5ayg"><style data-emotion="css 1nvgao0">.css-1nvgao0{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-areas:'sidebar main' 'sidebar footer';grid-template-rows:1fr auto;min-height:calc(100vh - var(--global-header-height));width:100%;-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;--sidebar-width:340px;-webkit-font-smoothing:antialiased;font-size:1.125rem;}@media screen and (max-width: 760px){.css-1nvgao0{grid-template-columns:minmax(0, 1fr);grid-template-areas:'main' 'footer';grid-template-rows:unset;-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;width:100%;}}@media screen and (max-width: 1240px){.css-1nvgao0{--sidebar-width:278px;}}</style><div class="css-1nvgao0"><style data-emotion="css zvy3am">.css-zvy3am{grid-column:1;grid-row:1;height:calc(100vh - var(--global-header-height));left:269px;padding:1.5rem 0;position:-webkit-sticky;position:sticky;top:var(--global-header-height);width:0;z-index:1;}@media (max-width: 760px){.css-zvy3am{display:none;}}@media (max-width: 1240px){.css-zvy3am{left:208px;}}</style><div class="css-zvy3am"><style data-emotion="css 10gp793">.css-10gp793{background:var(--system-background-hover-dark);color:var(--brand-button-primary-accent);height:40px;width:40px;padding:0;border-radius:50%;-webkit-transition:300ms translate ease;transition:300ms translate ease;}</style><style data-emotion="css 1ci9pnj">.css-1ci9pnj{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--button-outline-color);background:transparent;background:var(--system-background-hover-dark);color:var(--brand-button-primary-accent);height:40px;width:40px;padding:0;border-radius:50%;-webkit-transition:300ms translate ease;transition:300ms translate ease;}</style><button class="css-1ci9pnj e132irl20"><style data-emotion="css 19nf4is">.css-19nf4is{fill:currentColor;height:14px;overflow:visible;stroke:currentColor;stroke-width:0.25;width:14px;}</style><style data-emotion="css 1tnnavn">.css-1tnnavn{width:1rem;height:1rem;fill:currentColor;height:14px;overflow:visible;stroke:currentColor;stroke-width:0.25;width:14px;}</style><svg viewBox="0 0 16 16" class="css-1tnnavn" xmlns="http://www.w3.org/2000/svg"><style data-emotion="css 1tf5rjr">.css-1tf5rjr{transform-origin:center;}</style><path d="M16 8.76923L16 7.23077L6.92308 7.23077L11.0769 3.23077L9.84615 2L4 8L9.84616 14L11.0769 12.7692L6.92308 8.76923L16 8.76923Z" style="transform:rotate(180deg)" class="css-1tf5rjr"></path><rect width="2" height="16" style="transform:translate3d(14px,0,0)" class="css-1tf5rjr"></rect></svg></button></div><style data-emotion="css b586wv">.css-b586wv{padding:0;background:var(--erno-black);}.css-b586wv >div{height:100%;overflow:hidden;}.css-b586wv hr{border:none;height:1rem;margin:0;}</style><style data-emotion="css 3tb8to">.css-3tb8to{grid-area:sidebar;height:calc(100vh - var(--global-header-height));position:-webkit-sticky;position:sticky;top:var(--global-header-height);padding:0;background:var(--erno-black);}@media screen and (max-width: 760px){.css-3tb8to{display:none;}}.css-3tb8to >div{height:100%;overflow:hidden;}.css-3tb8to hr{border:none;height:1rem;margin:0;}</style><aside data-swiftype-index="false" class="css-3tb8to"><style data-emotion="css n10ylw">.css-n10ylw{position:absolute;top:0;bottom:0;left:0;right:0;padding:1.5rem;overflow:auto;}</style><div class="css-n10ylw"><style data-emotion="css 1k9bk4">.css-1k9bk4{height:55px;}</style><div class="css-1k9bk4"><style data-emotion="css 1066lcq">.css-1066lcq{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}</style><div class="css-1066lcq"><style data-emotion="css cn4dqi">.css-cn4dqi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-text-decoration:none;text-decoration:none;color:var(--system-text-primary-dark);}.css-cn4dqi:hover{color:var(--system-text-primary-dark);}</style><a class="css-cn4dqi" href="/"><style data-emotion="css 1i59lnz">.css-1i59lnz .text-color{fill:var(--system-text-primary-dark);}</style><style data-emotion="css lj5hrk">.css-lj5hrk{width:118px;}.css-lj5hrk .text-color{fill:var(--primary-text-color);}.css-lj5hrk .brand-color{fill:#1ce783;}.css-lj5hrk .text-color{fill:var(--system-text-primary-dark);}</style><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.95 98.52" class="css-lj5hrk"><path class="text-color" d="M369.63,75.57H384.9c14.61,0,23.85,9.38,23.85,24.05s-9.24,24-23.85,24H369.63ZM384.9,118.1c10.92,0,17.55-7.3,17.55-18.48s-6.63-18.49-17.61-18.49h-8.91v37Z" transform="translate(-251.43 -50.58)"></path><path class="text-color" d="M429.51,124.4c-9.58,0-16.28-7.37-16.28-18.22S419.93,88,429.51,88s16.28,7.37,16.28,18.22S439.09,124.4,429.51,124.4Zm0-5.16c6.17,0,10.18-5.09,10.18-13.06s-4-13.13-10.18-13.13-10.18,5.09-10.18,13.13S423.35,119.24,429.51,119.24Z" transform="translate(-251.43 -50.58)"></path><path class="text-color" d="M467.56,119.11c4.82,0,7.7-3.08,8.71-7.44l5.36,2.48C480,120,474.86,124.4,467.56,124.4c-9.78,0-16.55-7.44-16.55-18.22S457.78,88,467.56,88c7.3,0,12.26,4.22,13.93,10.05l-5.22,2.61c-1-4.29-3.89-7.43-8.71-7.43-6.23,0-10.52,5-10.52,13S461.33,119.11,467.56,119.11Z" transform="translate(-251.43 -50.58)"></path><path class="text-color" d="M489.06,112.81a11.7,11.7,0,0,0,10.72,6.57c4.08,0,7.7-1.75,7.7-5.56s-3.35-4.36-9.11-5.56-11.79-2.55-11.79-9.72C486.58,92.31,492,88,499.44,88c6.3,0,11.46,3.08,13.53,7.23l-4.28,3.42a10.27,10.27,0,0,0-9.52-5.69c-4,0-6.69,2-6.69,5.15,0,3.29,3.08,3.89,8,5,6,1.41,12.93,2.61,12.93,10.25,0,6.7-6.1,11.12-13.6,11.12-6.37,0-12.73-2.75-15.41-8.17Z" transform="translate(-251.43 -50.58)"></path><path class="brand-color" d="M283.62,100.83h24v4h-24Zm0,12h18v-4h-18Zm33-27.8v35.8a2,2,0,0,1-2,2h-38a2,2,0,0,1-2-2v-44a2,2,0,0,1,2-2h29.8a2,2,0,0,1,1.42.59l8.19,8.2A2,2,0,0,1,316.62,85Zm-4,33.8v-32h-8v-8h-26v40Zm-29-22h24v-4h-24Z" transform="translate(-251.43 -50.58)"></path></svg></a></div></div><style data-emotion="css j9s4a8">.css-j9s4a8{overflow-x:hidden;height:calc( 100vh - 55px - var(--global-header-height) - 3rem );}</style><style data-emotion="css 1im8jd2">.css-1im8jd2{height:100%;overflow:auto;margin:0 0 16px;-ms-overflow-style:none;scrollbar-width:none;overflow-x:hidden;height:calc( 100vh - 55px - var(--global-header-height) - 3rem );}.css-1im8jd2::-webkit-scrollbar{display:none;}.css-1im8jd2 span,.css-1im8jd2 svg{color:var(--system-text-primary-dark);opacity:0.8;}</style><nav role="navigation" aria-label="Navigation" id="nav" class="css-1im8jd2"><div><style data-emotion="css d89hgk">.css-d89hgk{color:var(--system-text-primary-dark);opacity:0.8;margin:0;font-size:14px;font-weight:500;margin-top:1rem;}</style><p data-flip-config="{"translate":true}" data-flip-id="start-here" data-portal-key="portal" class="css-d89hgk">START HERE</p><style data-emotion="css 1icqfzt">.css-1icqfzt{--icon-size:1.5rem;--icon-spacing:0.5rem;--nav-link-padding:1rem;display:block;padding-left:8px;border-left:none;}@media screen and (max-width: 760px){.css-1icqfzt{padding-left:0;}}</style><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="get-started-with-new-relic" data-portal-key="portal" class="css-1icqfzt"><style data-emotion="css 5ce9ri">.css-5ce9ri{padding-left:var(--nav-link-padding);}.css-5ce9ri:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-5ce9ri{--border-width:4px;padding-left:calc(var(--nav-link-padding) - var(--border-width));}}</style><style data-emotion="css 15qzw1h">.css-15qzw1h{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;cursor:pointer;-webkit-transition:0.2s ease-out;transition:0.2s ease-out;padding:0.5rem var(--nav-link-padding);margin:0 calc(var(--nav-link-padding) * -1);font-size:0.875rem;-webkit-text-decoration:none;text-decoration:none;padding-left:var(--nav-link-padding);}.css-15qzw1h:hover{color:var(--secondary-text-color);}@media screen and (max-width: 760px){.css-15qzw1h{border-radius:0;border-left:var(--border-width) solid transparent;}}.css-15qzw1h:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-15qzw1h{--border-width:4px;padding-left:calc(var(--nav-link-padding) - var(--border-width));}}</style><a class="css-15qzw1h" name="/docs/new-relic-solutions/get-started/intro-new-relic/" href="/docs/new-relic-solutions/get-started/intro-new-relic/"><div><style data-emotion="css 82a6rk">.css-82a6rk{-webkit-flex:1;-ms-flex:1;flex:1;}</style><span class="css-82a6rk">Get started with New Relic</span></div></a></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="tutorials-and-walkthroughs" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Tutorials and walkthroughs</span></div><style data-emotion="css 15w5tr6">.css-15w5tr6{font-size:1rem;padding:0.25rem;-webkit-transform:translateX(0.25rem);-moz-transform:translateX(0.25rem);-ms-transform:translateX(0.25rem);transform:translateX(0.25rem);}</style><style data-emotion="css 1vfs8c2">.css-1vfs8c2{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--button-outline-color);background:transparent;font-size:0.625rem;padding:0.375rem 0.625rem;border-radius:0.125rem;font-size:1rem;padding:0.25rem;-webkit-transform:translateX(0.25rem);-moz-transform:translateX(0.25rem);-ms-transform:translateX(0.25rem);transform:translateX(0.25rem);}</style><button class="css-1vfs8c2 e132irl20"><style data-emotion="css bwg7n1">.css-bwg7n1{-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transition:0.2s ease-out;transition:0.2s ease-out;}</style><style data-emotion="css g1pzz2">.css-g1pzz2{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transition:0.2s ease-out;transition:0.2s ease-out;}</style><style data-emotion="css 1tyf2qy">.css-1tyf2qy{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transition:0.2s ease-out;transition:0.2s ease-out;}</style><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="guides-and-best-practices" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Guides and best practices</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><p data-flip-config="{"translate":true}" data-flip-id="monitor-your-data" data-portal-key="portal" class="css-d89hgk">MONITOR YOUR DATA</p><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="ai-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">AI monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="application-performance-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Application performance monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="browser-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Browser monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="infrastructure-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Infrastructure monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="kubernetes-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Kubernetes monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><style data-emotion="css 12ap5p1">.css-12ap5p1{--icon-size:1.5rem;--icon-spacing:0.5rem;--nav-link-padding:1rem;display:block;padding-left:8px;border-left:none;}.css-12ap5p1 span,.css-12ap5p1 svg{color:white;opacity:1;}@media screen and (max-width: 760px){.css-12ap5p1{padding-left:0;}}</style><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="log-management" data-portal-key="portal" class="css-12ap5p1"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Log management</span></div><button class="css-1vfs8c2 e132irl20"><style data-emotion="css 7j4sbu">.css-7j4sbu{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:0.2s ease-out;transition:0.2s ease-out;}</style><style data-emotion="css zon0hc">.css-zon0hc{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:0.2s ease-out;transition:0.2s ease-out;}</style><style data-emotion="css 1mejuza">.css-1mejuza{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:0.2s ease-out;transition:0.2s ease-out;}</style><svg viewBox="0 0 24 24" class="css-1mejuza" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div><style data-emotion="css 62a6bj">.css-62a6bj{--icon-size:1.5rem;--icon-spacing:0.5rem;--nav-link-padding:1rem;display:block;padding-left:var(--nav-link-padding);border-left:solid var(--system-background-hover-dark) 2px;}@media screen and (max-width: 760px){.css-62a6bj{padding-left:0;}}</style><div data-flip-config="{"translate":true}" data-flip-id="log-management,get-started-with-log-management" data-portal-key="portal" class="css-62a6bj"><style data-emotion="css 1jh6fjd">.css-1jh6fjd{padding-left:var(--nav-link-padding);}.css-1jh6fjd:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-1jh6fjd{--border-width:4px;padding-left:calc(2 * var(--nav-link-padding) - var(--border-width));}}</style><style data-emotion="css 4pg4xz">.css-4pg4xz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;cursor:pointer;-webkit-transition:0.2s ease-out;transition:0.2s ease-out;padding:0.5rem var(--nav-link-padding);margin:0 calc(var(--nav-link-padding) * -1);font-size:0.875rem;-webkit-text-decoration:none;text-decoration:none;padding-left:var(--nav-link-padding);}.css-4pg4xz:hover{color:var(--secondary-text-color);}@media screen and (max-width: 760px){.css-4pg4xz{border-radius:0;border-left:var(--border-width) solid transparent;}}.css-4pg4xz:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-4pg4xz{--border-width:4px;padding-left:calc(2 * var(--nav-link-padding) - var(--border-width));}}</style><a class="css-4pg4xz" name="/docs/logs/get-started/get-started-log-management/" href="/docs/logs/get-started/get-started-log-management/"><div><span class="css-82a6rk">Get started with log management</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,manage-large-amounts-of-logs" data-portal-key="portal" class="css-62a6bj"><a class="css-4pg4xz" name="/docs/tutorial-large-logs/get-started-managing-large-logs/" href="/docs/tutorial-large-logs/get-started-managing-large-logs/"><div><span class="css-82a6rk">Manage large amounts of logs</span><style data-emotion="css 1o55wq4">.css-1o55wq4{display:inline;margin-left:0.5rem;padding:1px 4px;background:#103156;border-radius:3px;color:#3d9dff;font-size:0.75rem;font-weight:400;}</style><p class="css-1o55wq4 e1f1cdjc0">Tutorial</p></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,logging-best-practices" data-portal-key="portal" class="css-62a6bj"><a class="css-4pg4xz" name="/docs/logs/get-started/logging-best-practices/" href="/docs/logs/get-started/logging-best-practices/"><div><span class="css-82a6rk">Logging best practices</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,log-management-and-security" data-portal-key="portal" class="css-62a6bj"><a class="css-4pg4xz" name="/docs/logs/get-started/new-relics-log-management-security-privacy/" href="/docs/logs/get-started/new-relics-log-management-security-privacy/"><div><span class="css-82a6rk">Log management and security</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,live-archives" data-portal-key="portal" class="css-62a6bj"><div instrumentation="[object Object]" class="css-4pg4xz" name=""><div><span class="css-82a6rk">Live archives</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs" data-portal-key="portal" class="css-62a6bj"><div instrumentation="[object Object]" class="css-4pg4xz" name=""><div><span class="css-82a6rk">Forward logs</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1mejuza" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,enable-log-management" data-portal-key="portal" class="css-62a6bj"><style data-emotion="css 1gccsdp">.css-1gccsdp{padding-left:var(--nav-link-padding);}.css-1gccsdp:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-1gccsdp{--border-width:4px;padding-left:calc(3 * var(--nav-link-padding) - var(--border-width));}}</style><style data-emotion="css 11j9qbt">.css-11j9qbt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;cursor:pointer;-webkit-transition:0.2s ease-out;transition:0.2s ease-out;padding:0.5rem var(--nav-link-padding);margin:0 calc(var(--nav-link-padding) * -1);font-size:0.875rem;-webkit-text-decoration:none;text-decoration:none;padding-left:var(--nav-link-padding);}.css-11j9qbt:hover{color:var(--secondary-text-color);}@media screen and (max-width: 760px){.css-11j9qbt{border-radius:0;border-left:var(--border-width) solid transparent;}}.css-11j9qbt:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-11j9qbt{--border-width:4px;padding-left:calc(3 * var(--nav-link-padding) - var(--border-width));}}</style><a class="css-11j9qbt" name="/docs/logs/forward-logs/enable-log-management-new-relic/" href="/docs/logs/forward-logs/enable-log-management-new-relic/"><div><span class="css-82a6rk">Enable log management</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,infrastructure-agent-logs" data-portal-key="portal" class="css-62a6bj"><style data-emotion="css 17zjkvf">.css-17zjkvf{padding-left:var(--nav-link-padding);background:var(--system-background-hover-dark);}.css-17zjkvf:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-17zjkvf{--border-width:4px;padding-left:calc(3 * var(--nav-link-padding) - var(--border-width));}}.css-17zjkvf span{font-weight:600;}</style><style data-emotion="css 5ty8nd">.css-5ty8nd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;cursor:pointer;-webkit-transition:0.2s ease-out;transition:0.2s ease-out;padding:0.5rem var(--nav-link-padding);margin:0 calc(var(--nav-link-padding) * -1);font-size:0.875rem;-webkit-text-decoration:none;text-decoration:none;background:var(--nav-highlight);padding-left:var(--nav-link-padding);background:var(--system-background-hover-dark);}.css-5ty8nd:hover{color:var(--secondary-text-color);}@media screen and (max-width: 760px){.css-5ty8nd{border-radius:0;border-left:var(--border-width) solid transparent;}}.css-5ty8nd:hover{background:var(--system-background-hover-dark);}@media screen and (max-width: 760px){.css-5ty8nd{--border-width:4px;padding-left:calc(3 * var(--nav-link-padding) - var(--border-width));}}.css-5ty8nd span{font-weight:600;}</style><a aria-current="page" class="css-5ty8nd" name="/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/" href="/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/"><div><span class="css-82a6rk">Infrastructure agent logs</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,aws-services" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/install/aws-logs/" href="/install/aws-logs/"><div><span class="css-82a6rk">AWS services</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,akamai" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/enable-log-management-new-relic#forward-other/" href="/docs/logs/forward-logs/enable-log-management-new-relic/#forward-other"><div><span class="css-82a6rk">Akamai</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,aws-lambda-for-amazon-s3" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/aws-lambda-sending-logs-s3/" href="/docs/logs/forward-logs/aws-lambda-sending-logs-s3/"><div><span class="css-82a6rk">AWS Lambda for Amazon S3</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,circleci-logs" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/circleci-logs/" href="/docs/logs/forward-logs/circleci-logs/"><div><span class="css-82a6rk">CircleCI logs</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,cloudfront-logs" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/cloudfront-web-logs/" href="/docs/logs/forward-logs/cloudfront-web-logs/"><div><span class="css-82a6rk">CloudFront logs</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,cloudflare-logpush" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/cloudflare-logpush-forwarding/" href="/docs/logs/forward-logs/cloudflare-logpush-forwarding/"><div><span class="css-82a6rk">Cloudflare Logpush</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,fastly" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/enable-log-management-new-relic#forward-other/" href="/docs/logs/forward-logs/enable-log-management-new-relic/#forward-other"><div><span class="css-82a6rk">Fastly</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,fluentd-plugin" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/fluentd-plugin-log-forwarding/" href="/docs/logs/forward-logs/fluentd-plugin-log-forwarding/"><div><span class="css-82a6rk">Fluentd plugin</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,fluent-bit-plugin" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/fluent-bit-plugin-log-forwarding/" href="/docs/logs/forward-logs/fluent-bit-plugin-log-forwarding/"><div><span class="css-82a6rk">Fluent Bit plugin</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,google-cloud-platform-pubsub-topic" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/google-cloud-platform-log-forwarding/" href="/docs/logs/forward-logs/google-cloud-platform-log-forwarding/"><div><span class="css-82a6rk">Google Cloud Platform Pub/Sub topic</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,heroku-log-drains" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/heroku-log-forwarding/" href="/docs/logs/forward-logs/heroku-log-forwarding/"><div><span class="css-82a6rk">Heroku log drains</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,kong-gateway" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/kong-gateway/" href="/docs/logs/forward-logs/kong-gateway/"><div><span class="css-82a6rk">Kong Gateway</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,kubernetes-plugin" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/kubernetes-plugin-log-forwarding/" href="/docs/logs/forward-logs/kubernetes-plugin-log-forwarding/"><div><span class="css-82a6rk">Kubernetes plugin</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,logstash-plugin" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/logstash-plugin-log-forwarding/" href="/docs/logs/forward-logs/logstash-plugin-log-forwarding/"><div><span class="css-82a6rk">Logstash plugin</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,microsoft-azure-logs-arm-templates" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/azure-log-forwarding/" href="/docs/logs/forward-logs/azure-log-forwarding/"><div><span class="css-82a6rk">Microsoft Azure logs ARM templates</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,mux-video-streaming-logs-with-kinesis-firehose" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/mux-video-streaming-firehose/" href="/docs/logs/forward-logs/mux-video-streaming-firehose/"><div><span class="css-82a6rk">Mux video streaming logs with Kinesis Firehose</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,vector-plugin" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/vector-output-sink-log-forwarding/" href="/docs/logs/forward-logs/vector-output-sink-log-forwarding/"><div><span class="css-82a6rk">Vector plugin</span></div></a></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,forward-logs,vercel-integration" data-portal-key="portal" class="css-62a6bj"><a class="css-11j9qbt" name="/docs/logs/forward-logs/vercel-integration/" href="/docs/logs/forward-logs/vercel-integration/"><div><span class="css-82a6rk">Vercel integration</span></div></a></div></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,logs-in-context" data-portal-key="portal" class="css-62a6bj"><div instrumentation="[object Object]" class="css-4pg4xz" name=""><div><span class="css-82a6rk">Logs in context</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,ui-and-data" data-portal-key="portal" class="css-62a6bj"><div instrumentation="[object Object]" class="css-4pg4xz" name=""><div><span class="css-82a6rk">UI and data</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,log-api" data-portal-key="portal" class="css-62a6bj"><div instrumentation="[object Object]" class="css-4pg4xz" name=""><div><span class="css-82a6rk">Log API</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"translate":true}" data-flip-id="log-management,troubleshooting" data-portal-key="portal" class="css-62a6bj"><div instrumentation="[object Object]" class="css-4pg4xz" name=""><div><span class="css-82a6rk">Troubleshooting</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="mobile-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Mobile monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="model-performance-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Model performance monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="network-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Network monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="opentelemetry" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">OpenTelemetry</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="serverless-function-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Serverless function monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="synthetic-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Synthetic monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="video-agents" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Video agents</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="website-performance-monitoring" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Website performance monitoring</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><p data-flip-config="{"translate":true}" data-flip-id="data-insights" data-portal-key="portal" class="css-d89hgk">DATA INSIGHTS</p><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="alerts" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Alerts</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="change-tracking" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Change tracking</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="charts-dashboards-and-querying" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Charts, dashboards, and querying</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="codestream" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">CodeStream</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="distributed-tracing" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Distributed tracing</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="errors-inbox" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Errors inbox</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="nrql" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">NRQL</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="service-level-management" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Service level management</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><p data-flip-config="{"translate":true}" data-flip-id="security" data-portal-key="portal" class="css-d89hgk">SECURITY</p><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="interactive-application-security-testing-iast" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Interactive application security testing (IAST)</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="vulnerability-management" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Vulnerability management</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><p data-flip-config="{"translate":true}" data-flip-id="latest-updates" data-portal-key="portal" class="css-d89hgk">LATEST UPDATES</p><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="release-notes" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Release notes</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="whats-new" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">What's new?</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="end-of-life-announcements" data-portal-key="portal" class="css-1icqfzt"><a class="css-15qzw1h" name="/eol/" href="/eol/"><div><span class="css-82a6rk">End-of-life announcements</span></div></a></div><p data-flip-config="{"translate":true}" data-flip-id="admin-and-data" data-portal-key="portal" class="css-d89hgk">ADMIN AND DATA</p><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="account--user-management" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Account & user management</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="data-and-apis" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Data and APIs</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="data-dictionary" data-portal-key="portal" class="css-1icqfzt"><a class="css-15qzw1h" name="/attribute-dictionary/" href="/attribute-dictionary/"><div><span class="css-82a6rk">Data dictionary</span></div></a></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="security-and-privacy" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Security and privacy</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div><div data-flip-config="{"opacity":true,"translate":true}" data-flip-id="licenses" data-portal-key="portal" class="css-1icqfzt"><div instrumentation="[object Object]" class="css-15qzw1h" name=""><div><span class="css-82a6rk">Licenses</span></div><button class="css-1vfs8c2 e132irl20"><svg viewBox="0 0 24 24" class="css-1tyf2qy" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button></div></div></div></nav></div></aside><style data-emotion="css kocmdw">.css-kocmdw{display:block;position:relative;padding-top:2.75rem;}@media (min-width: 1241px){.css-kocmdw{padding-right:1.5rem;}}.css-kocmdw.main-transition-enter{-webkit-translate:50px;-moz-translate:50px;-ms-translate:50px;translate:50px;}.css-kocmdw.main-transition-enter-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-kocmdw.main-transition-enter-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}.css-kocmdw.main-transition-exit{-webkit-translate:-50px;-moz-translate:-50px;-ms-translate:-50px;translate:-50px;}.css-kocmdw.main-transition-exit-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-kocmdw.main-transition-exit-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}</style><style data-emotion="css ig5oi2">.css-ig5oi2{grid-area:main;padding:var(--site-content-padding);max-width:var(--site-max-width);margin:0 auto;width:100%;display:block;position:relative;padding-top:2.75rem;}@media screen and (max-width: 1000px){.css-ig5oi2{padding:1.5rem;}}@media (min-width: 1241px){.css-ig5oi2{padding-right:1.5rem;}}.css-ig5oi2.main-transition-enter{-webkit-translate:50px;-moz-translate:50px;-ms-translate:50px;translate:50px;}.css-ig5oi2.main-transition-enter-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-ig5oi2.main-transition-enter-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}.css-ig5oi2.main-transition-exit{-webkit-translate:-50px;-moz-translate:-50px;-ms-translate:-50px;translate:-50px;}.css-ig5oi2.main-transition-exit-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-ig5oi2.main-transition-exit-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}</style><main class="css-ig5oi2"><style data-emotion="css 1qbq6n">.css-1qbq6n{display:grid;grid-template-areas:'mt-disclaimer page-tools' 'page-title page-tools' 'content page-tools';grid-template-columns:minmax(0, 1fr) 12.8125rem;grid-column-gap:5rem;}.css-1qbq6n iframe{max-width:100%;}@media screen and (max-width: 1240px){.css-1qbq6n{grid-template-areas:'mt-disclaimer' 'page-title' 'content';grid-template-columns:minmax(0, 1fr);}}</style><div class="css-1qbq6n"><style data-emotion="css v50zng">.css-v50zng{grid-area:page-title;}.css-v50zng::before{content:'';display:block;margin-top:-5px;}</style><h1 class="css-v50zng">Forward your logs using the infrastructure agent</h1><style data-emotion="css 1sxg93g">.css-1sxg93g{grid-area:content;}</style><article data-swiftype-name="body" data-swiftype-type="text" class="css-1sxg93g"><style data-emotion="css 12dd90h">.css-12dd90h{--block-element-spacing:1.5rem;--text-spacing:var(--paragraph-spacing);}.css-12dd90h >*:first-of-type{margin-top:0;}.css-12dd90h ul,.css-12dd90h ol{counter-reset:listitem;}.css-12dd90h ul:not(:last-child),.css-12dd90h ol:not(:last-child){margin-bottom:var(--text-spacing);}.css-12dd90h ul li p:last-of-type,.css-12dd90h ol li p:last-of-type{margin-bottom:0;}.css-12dd90h ol>li{counter-increment:listitem 1;list-style-type:none;position:relative;}.css-12dd90h ol>li::before{background:var(--border-color);border-radius:50%;color:var(--system-text-primary);content:counter(listitem);font-size:12px;font-weight:600;height:10px;left:-28px;line-height:10px;padding:5px 0;position:absolute;text-align:center;top:6px;width:20px;}.css-12dd90h ol>li code{line-height:1.5;}.css-12dd90h blockquote:not(:last-child){margin-bottom:var(--block-element-spacing);}.css-12dd90h figcaption{margin-bottom:var(--text-spacing);}.css-12dd90h h2:not(:first-of-type){margin-top:2rem;}.css-12dd90h h3:not(:first-of-type),.css-12dd90h h4:not(:first-of-type){margin-top:1.5rem;}.css-12dd90h h2+h3{margin-top:1rem!important;}.css-12dd90h h3+h4{margin-top:1rem!important;}</style><div class="css-12dd90h"><p>Forwarding your logs to New Relic makes all of your logging data available in one location, providing deeper visibility into both your application and your platform performance data. With your logs in one spot, you can collect, process, explore, query, and alert on errors or anomalies found in your log data.</p><span style="position:relative;display:block;text-align:center;margin:1em 0"><a href="/images/logs_screenshot-full_host-logs-ui.webp" target="_blank" rel="noreferrer" style="display:inline-block"><img width="auto" src="/images/logs_screenshot-full_host-logs-ui.webp" alt="Screenshot of logs in context for a host" title="Logs in context for a host" style="border-radius:0.25rem;max-width:100%;margin:0 0.25rem" loading="lazy"/></a></span><figcaption><p>From your host's UI, your logs are placed in context of events for the selected time period. You can drill down into detailed data for any of the highlighted attributes.</p></figcaption><p>How you forward your logs depends on how you installed the infrastructure agent, since the infrastructure agent enables the log forwarding feature. You can install the infrastructure agent via:</p><ul><li>Guided install (recommended for most users)</li><li>Manual installation</li><li>Linux tarball</li></ul><style data-emotion="css 1r12iee">.css-1r12iee:not(:last-child){margin-bottom:var(--block-element-spacing);}</style><style data-emotion="css wc8ph0">.css-wc8ph0{padding:1.25rem;border-radius:0.25rem;border:1px solid;border-left-width:6px;color:var(--primary-text-color);border-color:var(--attention-notification-warning);background:var(--callout-important-background-color);}.css-wc8ph0:not(:last-child){margin-bottom:var(--block-element-spacing);}</style><div class="css-wc8ph0"><style data-emotion="css 1xoslel">.css-1xoslel{font-size:0.75rem!important;text-transform:uppercase;margin-top:0!important;color:var(--attention-notification-warning);}</style><h4 class="css-1xoslel">Important</h4><p>The Linux version of infrastructure agent, specifically version 1.42.0, has transitioned from using the td-agent-bit package to the fluent-bit package. This change was necessitated by the fact that fluent-bit is no longer distributed in the td-agent-bit flavour after the major version 2.x update.</p><p>To ensure smooth operations and provide the option to revert to td-agent-bit in the event of any issues with the fluent-bit package, the infrastructure agent now installs both packages (td-agent-bit and fluent-bit). By default, the agent is configured to use fluent-bit.</p><p>See <a href="#rollback-after-fluent-bit-2">Rollback to Fluent Bit 1.9</a> for more information about how to rollback.</p></div><style data-emotion="css 1cnef7x">.css-1cnef7x{padding:1.25rem;border-radius:0.25rem;border:1px solid;border-left-width:6px;color:var(--primary-text-color);border-color:var(--attention-notification-announcement);background:var(--callout-tip-background-color);}.css-1cnef7x:not(:last-child){margin-bottom:var(--block-element-spacing);}</style><div class="css-1cnef7x"><style data-emotion="css 1bsdgx8">.css-1bsdgx8{font-size:0.75rem!important;text-transform:uppercase;margin-top:0!important;color:var(--attention-notification-announcement);}</style><h4 class="css-1bsdgx8">Tip</h4><p>Got lots of logs? Check out our <a href="/docs/tutorial-large-logs/get-started-managing-large-logs/">tutorial on how to optimize and manage them</a>.</p></div><h2 id="system" style="position:relative">System requirements <style data-emotion="css 21sua1">.css-21sua1{background:none;border:none;width:0;padding:0;}</style><button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#system" aria-label="system permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><ul><li>Infrastructure agent version 1.11.4 or higher</li><li><a href="https://fluentbit.io/" target="_blank" rel="noopener noreferrer">Fluent Bit<style data-emotion="css 1p7qkn8">.css-1p7qkn8{margin-left:0.25rem;position:relative;top:-1px;}</style><style data-emotion="css 1vugbg2">.css-1vugbg2{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:0.25rem;position:relative;top:-1px;}</style><style data-emotion="css 1yhl729">.css-1yhl729{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:0.25rem;position:relative;top:-1px;}</style><svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>. The infrastructure agent already installs the latest version for you. To update or downgrade it to a specfic version, refer to the <a href="#install-fb-version">Fluent Bit installation</a> procedures.</li><li>OpenSSL library 1.1.0 or higher</li><li>Built-in support for ARM64 architecture on Linux systems (for example, AWS Graviton architecture) added in infrastructure agent <a href="https://github.com/newrelic/infrastructure-agent/releases/tag/1.20.6" target="_blank" rel="noopener noreferrer">1.20.6<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>.</li><li>Amazon Linux 2 and 2023</li><li>CentOS version 8 and 9 Stream (Rocky Linux and AlmaLinux are also supported)</li><li>RedHat version 8 and 9</li><li>Debian version 11 (Bullseye) and 12 (Bookworm).</li><li>SUSE Linux Enterprise Server (SLES) version 12 and 15 (ARM64 not supported).</li><li>Ubuntu versions 16.04.x, 18.04.x, 20.04.x, 22.04.x, 24.04.x (LTS versions).</li><li>Windows Server 2016, 2019, and 2022, and their service packs.</li><li>Windows 10, Windows 11.</li></ul><h2 id="infra" style="position:relative">Automatically forward logs with guided install <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#infra" aria-label="infra permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><p>When you use our guided install to install the infrastructure agent, the log forwarding feature is automatically configured during the install process.</p><p>To initiate your install, choose your deployment method:</p><style data-emotion="css z5w72j">.css-z5w72j{display:grid;grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));grid-gap:1rem;}.css-z5w72j:not(:last-child){margin-bottom:var(--block-element-spacing);}</style><div class="css-z5w72j"><style data-emotion="css xm1u8v">.css-xm1u8v{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;padding:0.5rem;color:currentColor;}.css-xm1u8v:hover{color:currentColor;}.light-mode .css-xm1u8v{border:1px solid var(--border-color);}.light-mode .css-xm1u8v:hover{border-color:var(--border-hover-color);}</style><style data-emotion="css 1p3thwr">.css-1p3thwr{border-radius:0.25rem;box-shadow:var(--shadow-3);-webkit-text-decoration:none;text-decoration:none;background:var(--primary-background-color);cursor:pointer;-webkit-transition:-webkit-transform 0.15s ease-out,border-color 0.15s ease-out,box-shadow 0.15s ease-out;transition:transform 0.15s ease-out,border-color 0.15s ease-out,box-shadow 0.15s ease-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center;padding:0.5rem;color:currentColor;}.dark-mode .css-1p3thwr{background:var(--primary-hover-color);}.css-1p3thwr:hover{-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);box-shadow:var(--shadow-4);}.css-1p3thwr:hover{color:currentColor;}.light-mode .css-1p3thwr{border:1px solid var(--border-color);}.light-mode .css-1p3thwr:hover{border-color:var(--border-hover-color);}</style><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="https://one.newrelic.com/marketplace?state=8f14e646-461e-b010-4675-3a0658bb3d20" target="_blank" rel="noopener"><style data-emotion="css 1g60e8e">.css-1g60e8e{margin-bottom:0;}.css-1g60e8e img{width:2rem;}</style><style data-emotion="css od7cd8">.css-od7cd8{-webkit-flex:1;-ms-flex:1;flex:1;margin-bottom:0;}.css-od7cd8 img{width:2rem;}</style><span class="css-od7cd8"><style data-emotion="css 1x6ru23">.css-1x6ru23{width:2rem;height:auto;border-radius:0.25rem;}</style><img width="inherit" src="/images/infrastructure_logo_Amazon-linux.webp" class="css-1x6ru23" alt="Amazon Linux" style="margin:0 0.25rem"/></span><style data-emotion="css ol9ofu">.css-ol9ofu{font-size:0.875rem;}</style><div class="css-ol9ofu">Amazon Linux</div></a><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="/docs/infrastructure/new-relic-infrastructure/config-management-tools/configure-new-relic-infrastructure-using-ansible/"><span class="css-od7cd8"><img width="inherit" src="/images/os_icon_ansible-red.webp" class="css-1x6ru23" alt="Ansible" style="margin:0 0.25rem"/></span><div class="css-ol9ofu">Ansible</div></a><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="https://one.newrelic.com/marketplace?state=8f14e646-461e-b010-4675-3a0658bb3d20" target="_blank" rel="noopener"><span class="css-od7cd8"><img width="inherit" src="/images/infrastructure_logo_centos.webp" class="css-1x6ru23" alt="CentOS" style="margin:0 0.25rem"/></span><div class="css-ol9ofu">CentOS</div></a><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="https://one.newrelic.com/marketplace?state=8f14e646-461e-b010-4675-3a0658bb3d20" target="_blank" rel="noopener"><span class="css-od7cd8"><img width="inherit" src="/images/infrastructure_logo_debian.webp" class="css-1x6ru23" alt="Debian" style="margin:0 0.25rem"/></span><div class="css-ol9ofu">Debian</div></a><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="https://one.newrelic.com/marketplace?state=8f14e646-461e-b010-4675-3a0658bb3d20" target="_blank" rel="noopener"><span class="css-od7cd8"><img width="inherit" src="/images/infrastructure_logo_redhat.webp" class="css-1x6ru23" alt="Red Hat" style="margin:0 0.25rem"/></span><div class="css-ol9ofu">RHEL</div></a><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="https://one.newrelic.com/marketplace?state=8f14e646-461e-b010-4675-3a0658bb3d20" target="_blank" rel="noopener"><span class="css-od7cd8"><img width="inherit" src="/images/infrastructure_logo_suse.webp" class="css-1x6ru23" alt="SLES" style="margin:0 0.25rem"/></span><div class="css-ol9ofu">SLES</div></a><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="https://one.newrelic.com/marketplace?state=8f14e646-461e-b010-4675-3a0658bb3d20" target="_blank" rel="noopener"><span class="css-od7cd8"><img width="inherit" src="/images/infrastructure_logo_ubuntu.webp" class="css-1x6ru23" alt="Ubuntu" style="margin:0 0.25rem"/></span><div class="css-ol9ofu">Ubuntu</div></a><a base="SECONDARY" class="css-1p3thwr esuq8iu0" href="https://one.newrelic.com/marketplace?state=a792b092-300f-a5a4-ff62-510f4e0c52a5" target="_blank" rel="noopener"><span class="css-od7cd8"><img width="inherit" src="/images/infrastructure_logo_windows.webp" class="css-1x6ru23" alt="Windows" style="margin:0 0.25rem"/></span><div class="css-ol9ofu">Windows</div></a></div><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>To forward logs from a Docker container, use this <a href="https://hub.docker.com/r/newrelic/newrelic-fluentbit-output" target="_blank" rel="noopener noreferrer">Docker image<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a> as the base image to be used with kubernetes logs integration, or you can build your own container with custom configurations for different environments.</p></div><h2 id="manual" style="position:relative">Enable log forwarding on agent installed manually <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#manual" aria-label="manual permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><p>To install the infrastructure agent manually, follow our <a href="/docs/infrastructure/install-infrastructure-agent/linux-installation/install-infrastructure-agent-linux-using-package-manager/">tutorial to install the package manager</a>, or check out our <a href="/docs/infrastructure/install-configure-manage-infrastructure/windows-installation/install-infrastructure-windows-server-using-msi-installer/">MSI installer</a> (Windows).</p><h3 id="step-1-configure-the-infrastructure-agent" style="position:relative">Step 1. Configure the infrastructure agent<button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#step-1-configure-the-infrastructure-agent" aria-label="step 1 configure the infrastructure agent permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h3><p>Configuration files direct your system to forward the log sources you want to appear in New Relic. You can add as many config files as you want. Our infrastructure agent uses <code>.yml</code> files to configure logging. If you install the infrastructure agent via <a href="https://one.newrelic.com/marketplace?state=78678a7f-91c5-ca40-ac55-e6b74a50085c" target="_blank" rel="noopener">Integrations & Agents<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a> in the UI, the file <code>logging.yml</code> is created automatically.</p><p>To add a new configuration file for the log forwarding feature:</p><ol><li><p>Navigate to the log forwarder configuration folder:</p><ul><li>Linux: <code>/etc/newrelic-infra/logging.d/</code></li><li>Windows: <code>C:\Program Files\New Relic\newrelic-infra\logging.d\</code></li></ul></li><li><p>Create a <code>logging.yml</code> configuration file, and add the parameters you need. The <code>logging.d</code> directory has various <code>.yml.example</code> files you can use as a reference or starting point. For Windows examples, see <a href="https://github.com/newrelic/infrastructure-agent/tree/master/assets/examples/logging/windows" target="_blank" rel="noopener noreferrer">our Github repo<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>.</p><div class="css-1r12iee"><style data-emotion="css zjb7k1">.css-zjb7k1{background:var(--code-console-background-main);border-radius:4px;}.css-zjb7k1 a{color:var(--system-text-primary-dark);}</style><div class="css-zjb7k1"><style data-emotion="css 1f2e4yf">.css-1f2e4yf{max-height:26em;overflow:auto;}</style><div class="codeblock css-1f2e4yf"><style data-emotion="css 1rrd9av">.css-1rrd9av{color:var(--code-console-text-primary);font-family:var(--code-font);font-size:0.75rem;display:block;overflow:auto;white-space:pre;word-spacing:normal;word-break:normal;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;text-shadow:none;padding:1rem;}.css-1rrd9av .namespace{opacity:0.7;}.css-1rrd9av .token.plain:empty{display:inline-block;}.css-1rrd9av .token.comment,.css-1rrd9av .token.prolog,.css-1rrd9av .token.doctype,.css-1rrd9av .token.cdata{color:var(--color-comment);}.css-1rrd9av .token.tag,.css-1rrd9av .token.class-name{color:var(--code-query-syntax-keyword);}.css-1rrd9av .token.function{color:var(--code-query-syntax-function);}.css-1rrd9av .token.punctuation,.css-1rrd9av .token.operator,.css-1rrd9av .token.keyword,.css-1rrd9av .token.property,.css-1rrd9av .token.entity,.css-1rrd9av .token.atrule,.css-1rrd9av .token.attr-value,.css-1rrd9av .token.url{color:var(--code-query-syntax-operator);}.css-1rrd9av .token.regex,.css-1rrd9av .token.important,.css-1rrd9av .token.variable{color:var(--code-query-syntax-regex);}.css-1rrd9av .token.selector,.css-1rrd9av .token.attr-name,.css-1rrd9av .token.string,.css-1rrd9av .token.char,.css-1rrd9av .token.builtin,.css-1rrd9av .token.inserted{color:var(--code-query-syntax-string);}.css-1rrd9av .token.property,.css-1rrd9av .token.boolean,.css-1rrd9av .token.constant,.css-1rrd9av .token.symbol,.css-1rrd9av .token.deleted,.css-1rrd9av .token.number{color:var(--code-query-syntax-numeric);}.css-1rrd9av .token.important,.css-1rrd9av .token.bold{font-weight:bold;}.css-1rrd9av .token.italic{font-style:italic;}.css-1rrd9av .token.entity{cursor:help;}</style><pre class="css-1rrd9av" data-language="yml"><style data-emotion="css ebgyu1">.css-ebgyu1{width:100%;padding:0;background:none;}.css-ebgyu1 var,.css-ebgyu1 mark{font-size:inherit;}.css-ebgyu1 var{background:var(--color-current-line);color:inherit;}.css-ebgyu1 a:hover var{background:var(--color-selection);}.css-ebgyu1 mark .token{color:var(--color-black)!important;}</style><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token comment"># Log forwarder configuration file example</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"></span><span class="token comment"># Source: file</span><span class="token plain"></span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"></span><span class="token comment"># Available customization parameters: attributes, max_line_kb, pattern</span><span class="token plain"></span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"></span><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Basic tailing of a single file</span><span class="token plain"></span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> basic</span><span class="token punctuation">-</span><span class="token plain">file</span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/logFile.log</span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-9"><div class="css-0"><span class="token plain"> </span><span class="token comment"># File with spaces in its path. No need to use quotes.</span><span class="token plain"></span></div></div><div class="token-line" name="line-10"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> file</span><span class="token punctuation">-</span><span class="token plain">with</span><span class="token punctuation">-</span><span class="token plain">spaces</span><span class="token punctuation">-</span><span class="token plain">in</span><span class="token punctuation">-</span><span class="token plain">path</span></div></div><div class="token-line" name="line-11"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/folder with spaces/logFile.log</span></div></div><div class="token-line" name="line-12"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-13"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Specify a list of custom attributes, as key-value pairs, to be included</span><span class="token plain"></span></div></div><div class="token-line" name="line-14"><div class="css-0"><span class="token plain"> </span><span class="token comment"># in each log record</span><span class="token plain"></span></div></div><div class="token-line" name="line-15"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> file</span><span class="token punctuation">-</span><span class="token plain">with</span><span class="token punctuation">-</span><span class="token plain">attributes</span></div></div><div class="token-line" name="line-16"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/logFile.log</span></div></div><div class="token-line" name="line-17"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-18"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">application</span><span class="token punctuation">:</span><span class="token plain"> tomcat</span></div></div><div class="token-line" name="line-19"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">department</span><span class="token punctuation">:</span><span class="token plain"> sales</span></div></div><div class="token-line" name="line-20"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">maintainer</span><span class="token punctuation">:</span><span class="token plain"> example@mailprovider.com</span></div></div><div class="token-line" name="line-21"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-22"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Use wildcards to refer to multiple files having a common extension or</span><span class="token plain"></span></div></div><div class="token-line" name="line-23"><div class="css-0"><span class="token plain"> </span><span class="token comment"># prefix. Newly generated files will be automatically detected every 60</span><span class="token plain"></span></div></div><div class="token-line" name="line-24"><div class="css-0"><span class="token plain"> </span><span class="token comment"># seconds.</span><span class="token plain"></span></div></div><div class="token-line" name="line-25"><div class="css-0"><span class="token plain"> </span><span class="token comment">#</span><span class="token plain"></span></div></div><div class="token-line" name="line-26"><div class="css-0"><span class="token plain"> </span><span class="token comment"># WARNING: avoid using wildcards that include the file extension, since</span><span class="token plain"></span></div></div><div class="token-line" name="line-27"><div class="css-0"><span class="token plain"> </span><span class="token comment"># it'll cause logs to be forwarded repeatedly if log rotation is enabled.</span><span class="token plain"></span></div></div><div class="token-line" name="line-28"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> log</span><span class="token punctuation">-</span><span class="token plain">files</span><span class="token punctuation">-</span><span class="token plain">in</span><span class="token punctuation">-</span><span class="token plain">folder</span></div></div><div class="token-line" name="line-29"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/logF</span><span class="token important">*.log</span><span class="token plain"></span></div></div><div class="token-line" name="line-30"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-31"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Lines longer than 128 KB will be automatically skipped. Use 'max_line_kb'</span><span class="token plain"></span></div></div><div class="token-line" name="line-32"><div class="css-0"><span class="token plain"> </span><span class="token comment"># to increase this limit.</span><span class="token plain"></span></div></div><div class="token-line" name="line-33"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> log</span><span class="token punctuation">-</span><span class="token plain">file</span><span class="token punctuation">-</span><span class="token plain">with</span><span class="token punctuation">-</span><span class="token plain">long</span><span class="token punctuation">-</span><span class="token plain">lines</span></div></div><div class="token-line" name="line-34"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/logFile.log</span></div></div><div class="token-line" name="line-35"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">max_line_kb</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">256</span><span class="token plain"></span></div></div><div class="token-line" name="line-36"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-37"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Use 'pattern' to filter records using a regular expression</span><span class="token plain"></span></div></div><div class="token-line" name="line-38"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> only</span><span class="token punctuation">-</span><span class="token plain">records</span><span class="token punctuation">-</span><span class="token plain">with</span><span class="token punctuation">-</span><span class="token plain">warn</span><span class="token punctuation">-</span><span class="token plain">and</span><span class="token punctuation">-</span><span class="token plain">error</span></div></div><div class="token-line" name="line-39"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/logFile.log</span></div></div><div class="token-line" name="line-40"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">pattern</span><span class="token punctuation">:</span><span class="token plain"> WARN</span><span class="token punctuation">|</span><span class="token plain">ERROR</span></div></div></code></pre></div><style data-emotion="css 1jc93v0">.css-1jc93v0{color:var(--color-comment);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--color-background);border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:0 1rem;font-size:0.75rem;}</style><div class="css-1jc93v0"><style data-emotion="css o1p83e">.css-o1p83e{font-family:var(--code-font);white-space:nowrap;overflow:hidden;padding-right:0.5rem;}</style><div class="css-o1p83e"></div><style data-emotion="css 1lew2i0">.css-1lew2i0{white-space:nowrap;color:var(--system-text-primary-dark);}</style><style data-emotion="css 1ikc4qe">.css-1ikc4qe{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:0.75rem;white-space:nowrap;color:var(--system-text-primary-dark);}</style><button type="button" class="css-1ikc4qe e132irl20"><style data-emotion="css u7ytkp">.css-u7ytkp{margin-right:0.5rem;}</style><style data-emotion="css 1bnfg05">.css-1bnfg05{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:0.5rem;}</style><style data-emotion="css 668d8b">.css-668d8b{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-right:0.5rem;}</style><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></li></ol><p>The agent automatically processes new configuration files without having to restart the infrastructure monitoring service. The only exception to this is when configuring a custom Fluent Bit configuration.</p><h3 id="parameters" style="position:relative">Step 2. Set log forwarding parameters <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#parameters" aria-label="parameters permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h3><p>You're required to set up a <code>name</code> and log source parameter in the log forwarding <code>.yml</code> config file. To start, define a <code>name</code> of the log or logs you want to forward to New Relic.</p><p>What you use for the log source depends on the location your logs are sourced from. Available options for the log source include:</p><style data-emotion="css 10m5lzu">.css-10m5lzu >*:not(:last-child){margin-bottom:0.5rem;}.css-10m5lzu:not(:last-child){margin-bottom:var(--block-element-spacing);}</style><div class="css-10m5lzu"><style data-emotion="css 1iqeurl">.css-1iqeurl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-radius:3px;border:1px solid var(--border-color);box-shadow:var(--shadow-1);}.dark-mode .css-1iqeurl{box-shadow:var(--shadow-2);}</style><div class="css-1iqeurl"><style data-emotion="css 1opn34h">.css-1opn34h{--color-transition-duration:0.3s;--color-transition-easing:ease-out;cursor:pointer;padding:0.75rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:background var(--color-transition-duration) var(--color-transition-easing);transition:background var(--color-transition-duration) var(--color-transition-easing);border:none;background:transparent;}.css-1opn34h code{-webkit-transition:background var(--color-transition-duration) var(--color-transition-easing);transition:background var(--color-transition-duration) var(--color-transition-easing);}.css-1opn34h:hover,.css-1opn34h:focus{background:var(--primary-hover-color);outline:none;}.css-1opn34h:hover .anchor svg,.css-1opn34h:focus .anchor svg{opacity:1;}</style><button type="button" class="css-1opn34h"><style data-emotion="css 1d1yxde">.css-1d1yxde{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;font-size:1rem;margin-top:0;margin-bottom:0;text-align:left;}</style><h5 id="file" class="css-1d1yxde"><span>file</span><style data-emotion="css vk52vh">.css-vk52vh{margin-left:0.5rem;position:relative;}</style><a href="#file" class="anchor css-vk52vh"><style data-emotion="css 1o9hz83">.css-1o9hz83{display:block;color:inherit!important;}</style><style data-emotion="css si0spv">.css-si0spv{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;color:inherit!important;}</style><style data-emotion="css 1rt4bl8">.css-1rt4bl8{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;color:inherit!important;}</style><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><style data-emotion="css omjdkx">.css-omjdkx{margin-left:auto;-webkit-transition:-webkit-transform 0.6s ease,color var(--color-transition-duration) var(--color-transition-easing);transition:transform 0.6s ease,color var(--color-transition-duration) var(--color-transition-easing);color:var(--secondary-text-color);}</style><style data-emotion="css 1ucc14q">.css-1ucc14q{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:auto;-webkit-transition:-webkit-transform 0.6s ease,color var(--color-transition-duration) var(--color-transition-easing);transition:transform 0.6s ease,color var(--color-transition-duration) var(--color-transition-easing);color:var(--secondary-text-color);}</style><style data-emotion="css pbzsfr">.css-pbzsfr{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:auto;-webkit-transition:-webkit-transform 0.6s ease,color var(--color-transition-duration) var(--color-transition-easing);transition:transform 0.6s ease,color var(--color-transition-duration) var(--color-transition-easing);color:var(--secondary-text-color);}</style><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><style data-emotion="css d3v9zr">.css-d3v9zr{overflow:hidden;}</style><div style="height:0" class="css-d3v9zr"><style data-emotion="css 1ofyns">.css-1ofyns{border-top:1px solid var(--border-color);padding:1rem;}</style><div aria-hidden="true" class="css-1ofyns"><p>Path to the log file or files. The agent tracks changes on the log files in a way similar to <code>tail -f</code> shell.</p><p><strong>Example:</strong></p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> example</span><span class="token punctuation">-</span><span class="token plain">log</span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/example.log </span><span class="token comment"># Path to a single log file</span><span class="token plain"></span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> example</span><span class="token punctuation">-</span><span class="token plain">log</span><span class="token punctuation">-</span><span class="token plain">two</span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/example</span><span class="token punctuation">-</span><span class="token plain">two.log </span><span class="token comment"># Path to another single log file</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><p>The <code>file</code> parameter can point to a specific log file or multiple files by using wildcards applied to names and extensions; for example, <code>/logs/*.log</code>. You can use wildcards in place of directories in a file path, which can be used to tail files located in different directories.</p><p><strong>Example:</strong></p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> docker</span><span class="token punctuation">-</span><span class="token plain">logs</span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/lib/docker/containers/</span><span class="token important">*/*.log</span><span class="token plain"> </span><span class="token comment"># Path to multiple folders and files</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>Use of wildcards may significantly increase the number of file descriptors and inotify watches the Fluent Bit process keeps open, which can interfere with log collection if the host's file descriptor limit is reached. Tailing a large number of files may require you to increase the maximum number of file descriptors and inotify watchers allowed by the operating system. Please refer to <a href="#too-many-files">Errors when tailing a large amount of log files</a> for more details on how to increase them.</p></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="systemd" class="css-1d1yxde"><span>systemd</span><a href="#systemd" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Use the <code>systemd</code> parameter to forward log messages that are collected by the <code>journald</code> daemon in Linux environments. This input type requires the agent to run in <a href="/docs/infrastructure/install-configure-infrastructure/linux-installation/linux-agent-running-modes/">root mode</a>.</p><p><strong>Example:</strong></p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> systemd</span><span class="token punctuation">-</span><span class="token plain">example</span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">systemd</span><span class="token punctuation">:</span><span class="token plain"> cupsd</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="syslog" class="css-1d1yxde"><span>syslog</span><a href="#syslog" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Syslog data source.</p><p><strong>Parameters:</strong></p><ul><li><p><code>uri:</code> Syslog socket. Format varies depending on the protocol:</p><ul><li>TCP/UDP network sockets: <code>[tcp/udp]://LISTEN_ADDRESS:PORT</code></li><li>Unix domain sockets: <code>unix_[tcp/udp]:// + /socket/path</code></li></ul></li><li><p><code>parser:</code> Syslog parser. Default is <code>rfc3164</code>. Use <code>rfc5424</code> if your messages include fractional seconds. Note: <code>rfc3164</code> currently does not work on SuSE.</p></li><li><p><code>unix_permissions:</code> Default is <code>0644</code> for domain sockets. This limits entries to processes running as root. You can use <code>0666</code> to listen for non-root processes (at your own risk).</p><p>When running the agent in <a href="/docs/infrastructure/install-configure-infrastructure/linux-installation/linux-agent-running-modes/">privileged mode</a>, ports and sockets must be available or owned by <code>nri-agent</code> and with <code>0666</code> file permissions so that other processes can write logs to the sockets.</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token comment"># TCP network socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">tcp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">5140</span><span class="token plain"> </span><span class="token comment"># Use the tcp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">parser</span><span class="token punctuation">:</span><span class="token plain"> rfc5424 </span><span class="token comment"># Default syslog parser is rfc3164</span><span class="token plain"></span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span><span class="token comment"># UDP network socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-9"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">udp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-10"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-11"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> udp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">6140</span><span class="token plain"> </span><span class="token comment"># Use the udp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-12"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">max_line_kb</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">35</span><span class="token plain"></span></div></div><div class="token-line" name="line-13"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-14"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Unix TCP domain socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-15"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">unix</span><span class="token punctuation">-</span><span class="token plain">tcp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-16"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-17"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> unix_tcp</span><span class="token punctuation">:</span><span class="token plain">///var/unix</span><span class="token punctuation">-</span><span class="token plain">tcp</span><span class="token punctuation">-</span><span class="token plain">socket</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-18"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">unix_permissions</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">0666</span><span class="token plain"> </span><span class="token comment"># Default is 0644. Change at your own risk</span><span class="token plain"></span></div></div><div class="token-line" name="line-19"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-20"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Unix UDP domain socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-21"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">unix</span><span class="token punctuation">-</span><span class="token plain">udp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-22"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-23"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> unix_udp</span><span class="token punctuation">:</span><span class="token plain">///var/unix</span><span class="token punctuation">-</span><span class="token plain">udp</span><span class="token punctuation">-</span><span class="token plain">socket</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-24"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">parser</span><span class="token punctuation">:</span><span class="token plain"> rfc5424</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></li></ul></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="tcp" class="css-1d1yxde"><span>tcp</span><a href="#tcp" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Logs retrieved over TCP connections.</p><p><strong>Parameters:</strong></p><ul><li><p><code>uri:</code> TCP/IP socket to listen for incoming data. The URI format is <code>tcp://LISTEN_ADDRESS:PORT</code>.</p></li><li><p><code>format:</code> Format of the data. It can be <code>json</code> or <code>none</code>.</p></li><li><p><code>separator:</code> If <code>format: none</code> is used, you can define a separator string for splitting records (default: <code>\n</code>).</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">-</span><span class="token plain">simple</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">tcp</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">1234</span><span class="token plain"> </span><span class="token comment"># Use the tcp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation">:</span><span class="token plain"> none </span><span class="token comment"># Raw text - this is default for 'tcp'</span><span class="token plain"></span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">separator</span><span class="token punctuation">:</span><span class="token plain"> \t </span><span class="token comment"># String for separating raw text entries</span><span class="token plain"></span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">max_line_kb</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">32</span><span class="token plain"></span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">-</span><span class="token plain">json</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-9"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">tcp</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-10"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">2345</span><span class="token plain"> </span><span class="token comment"># Use the tcp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-11"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation">:</span><span class="token plain"> json</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></li></ul></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="winevtlog" class="css-1d1yxde"><span>winevtlog</span><a href="#winevtlog" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>Available since infrastructure agent v.1.24.3 Only compatible with Windows Server 2019 and later. Use <a href="/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/#winlog"><code>winlog</code></a> instead for prior versions.</p></div><p>Collect event from Windows log channels using new Windows Event Log API using the <a href="https://docs.fluentbit.io/manual/pipeline/inputs/windows-event-log-winevtlog" target="_blank" rel="noopener noreferrer">winevtlog Fluent Bit plugin<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>.</p><p><strong>Parameters:</strong></p><ul><li><p><code>channel</code>: Name of the channel logs will be collected from.</p></li><li><p><code>collect-eventids</code>: List of Windows Event IDs to be collected and forwarded to New Relic. Event ID ranges are supported.</p></li><li><p><code>exclude-eventids</code>: List of Windows Event IDs to be excluded from collection. Event ID ranges are supported.</p></li><li><p><code>use-ansi</code>: Use ANSI encoding on <code>winlog</code> messages. We use ANSI encoding by default on Windows Server 2016 and older versions, and UTF-8 on newer ones. You can override this behavior with this configuration parameter if these defaults do not suit your use case. This solves the problem of ANSI character code logs being empty strings. It's not a function to convert multi-byte character code logs in ANSI character code to UTF-8.</p><p>All events are collected from the specified channel by default. Configure the <code>collect-eventids</code> and <code>exclude-eventids</code> sections to avoid sending unwanted logs to your New Relic account.</p><p>Add event IDs or ranges to <code>collect-eventids</code> or <code>exclude-eventids</code> to forward or drop specific events. <code>exclude-eventids</code> takes precedence over <code>collect-eventids</code> if the same event ID is present in both sections.</p><p><strong>Example:</strong></p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example winevtlog security log ingestion with eventId filters.</span><span class="token plain"></span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">security</span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winevtlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Security</span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">collect-eventids</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token number">4624</span><span class="token plain"></span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token number">4265</span><span class="token plain"></span></div></div><div class="token-line" name="line-9"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> 4700</span><span class="token punctuation">-</span><span class="token number">4800</span><span class="token plain"></span></div></div><div class="token-line" name="line-10"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">exclude-eventids</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-11"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token number">4735</span><span class="token plain"></span></div></div><div class="token-line" name="line-12"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-13"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_security</span></div></div><div class="token-line" name="line-14"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-15"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example entries for the application and system channels</span><span class="token plain"></span></div></div><div class="token-line" name="line-16"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">application</span></div></div><div class="token-line" name="line-17"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winevtlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-18"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Application</span></div></div><div class="token-line" name="line-19"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-20"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_application</span></div></div><div class="token-line" name="line-21"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-22"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example entries for the application use-ansi</span><span class="token plain"></span></div></div><div class="token-line" name="line-23"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">application</span></div></div><div class="token-line" name="line-24"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winevtlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-25"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Application</span></div></div><div class="token-line" name="line-26"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-27"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_application</span></div></div><div class="token-line" name="line-28"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">use-ansi</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token boolean important">true</span><span class="token plain"></span></div></div><div class="token-line" name="line-29"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-30"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">system</span></div></div><div class="token-line" name="line-31"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winevtlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-32"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> System</span></div></div><div class="token-line" name="line-33"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-34"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_system</span></div></div><div class="token-line" name="line-35"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-36"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example/Optional entry for Windows Defender Logs</span><span class="token plain"></span></div></div><div class="token-line" name="line-37"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">defender</span></div></div><div class="token-line" name="line-38"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winevtlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-39"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Microsoft</span><span class="token punctuation">-</span><span class="token plain">Windows</span><span class="token punctuation">-</span><span class="token plain">Windows Defender/Operational</span></div></div><div class="token-line" name="line-40"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-41"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example/Optional entry for Windows Clustering Logs</span><span class="token plain"></span></div></div><div class="token-line" name="line-42"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">clustering</span></div></div><div class="token-line" name="line-43"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winevtlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-44"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Microsoft</span><span class="token punctuation">-</span><span class="token plain">Windows</span><span class="token punctuation">-</span><span class="token plain">FailoverClustering/Operational</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></li></ul></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="winlog" class="css-1d1yxde"><span>winlog</span><a href="#winlog" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p><code>Winlog</code> can only collect classic Event logs. Attempting to capture others will silently collect the Applications log.</p></div><p>Collect events from Windows log channels.</p><p><strong>Parameters:</strong></p><ul><li><p><code>channel</code>: Name of the channel logs will be collected from. It doesn't work for custom channels.</p></li><li><p><code>collect-eventids</code>: List of Windows Event IDs to be collected and forwarded to New Relic. Event ID ranges are supported.</p></li><li><p><code>exclude-eventids</code>: List of Windows Event IDs to be excluded from collection. Event ID ranges are supported.</p></li><li><p><code>use-ansi</code>: Use ANSI encoding on <code>winlog</code> messages. We use ANSI encoding by default on Windows Server 2016 and older versions, and UTF-8 on newer ones. You can override this behavior with this configuration parameter if these defaults do not suit your use case. This solves the problem of ANSI character code logs being empty strings. It's not a function to convert multi-byte character code logs in ANSI character code to UTF-8.</p><p>All events are collected from the specified channel by default. Configure the <code>collect-eventids</code> and <code>exclude-eventids</code> sections to avoid sending unwanted logs to your New Relic account.</p><p>Add event IDs or ranges to <code>collect-eventids</code> or <code>exclude-eventids</code> to forward or drop specific events. <code>exclude-eventids</code> takes precedence over <code>collect-eventids</code> if the same event ID is present in both sections.</p><p><strong>Example:</strong></p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example winlog security log ingestion with eventId filters.</span><span class="token plain"></span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">security</span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Security</span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">collect-eventids</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token number">4624</span><span class="token plain"></span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token number">4265</span><span class="token plain"></span></div></div><div class="token-line" name="line-9"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> 4700</span><span class="token punctuation">-</span><span class="token number">4800</span><span class="token plain"></span></div></div><div class="token-line" name="line-10"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">exclude-eventids</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-11"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token number">4735</span><span class="token plain"></span></div></div><div class="token-line" name="line-12"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-13"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_security</span></div></div><div class="token-line" name="line-14"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-15"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example entries for the application and system channels</span><span class="token plain"></span></div></div><div class="token-line" name="line-16"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">application</span></div></div><div class="token-line" name="line-17"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-18"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Application</span></div></div><div class="token-line" name="line-19"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-20"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_application</span></div></div><div class="token-line" name="line-21"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">system</span></div></div><div class="token-line" name="line-22"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-23"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> System</span></div></div><div class="token-line" name="line-24"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-25"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_system</span></div></div><div class="token-line" name="line-26"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-27"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example entries for the application use-ansi</span><span class="token plain"></span></div></div><div class="token-line" name="line-28"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">application</span></div></div><div class="token-line" name="line-29"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-30"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Application</span></div></div><div class="token-line" name="line-31"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-32"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> windows_application</span></div></div><div class="token-line" name="line-33"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">use-ansi</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token boolean important">true</span><span class="token plain"></span></div></div><div class="token-line" name="line-34"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-35"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example/Optional entry for Windows Defender Logs</span><span class="token plain"></span></div></div><div class="token-line" name="line-36"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">defender</span></div></div><div class="token-line" name="line-37"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-38"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Microsoft</span><span class="token punctuation">-</span><span class="token plain">Windows</span><span class="token punctuation">-</span><span class="token plain">Windows Defender/Operational</span></div></div><div class="token-line" name="line-39"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-40"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example/Optional entry for Windows Clustering Logs</span><span class="token plain"></span></div></div><div class="token-line" name="line-41"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> windows</span><span class="token punctuation">-</span><span class="token plain">clustering</span></div></div><div class="token-line" name="line-42"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">winlog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-43"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">channel</span><span class="token punctuation">:</span><span class="token plain"> Microsoft</span><span class="token punctuation">-</span><span class="token plain">Windows</span><span class="token punctuation">-</span><span class="token plain">FailoverClustering/Operational</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></li></ul></div></div></div></div><h3 id="optional-config" style="position:relative">Step 3. Define key attributes <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#optional-config" aria-label="optional config permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h3><p>Although these configuration parameters aren't required, we still recommend you apply these configurations to your <code>logging.yml</code> file so you get the most out of log forwarding.</p><div class="css-10m5lzu"><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="attributes" class="css-1d1yxde"><span>attributes</span><a href="#attributes" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>List of custom attributes specified as key-value pairs that can be used to send additional data with the logs which you can then query. The <code>attributes</code> configuration parameter can be used with any log source.</p><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>The <code>attributes</code> configuration parameter does not add custom attributes to logs forwarded via external Fluent Bit configuration (for example, using the <code>fluentbit</code> configuration parameter). In this scenario, you should refer to the <code>record_modifier</code> option in the <a href="https://docs.fluentbit.io/manual/" target="_blank" rel="noopener noreferrer">Fluent Bit documentation<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>.</p></div><p>One common use of the <code>attributes</code> configuration parameter is to specify the <code>logtype</code> attribute. This attribute allows leveraging one of the <a href="/docs/logs/log-management/ui-data/parsing/#built-in-rules">built-in parsing rules</a> supported by New Relic's <style data-emotion="css 1btm2ft">.css-1btm2ft{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;border:0;border-bottom:1px solid var(--primary-text-color);color:var(--primary-text-color);cursor:pointer;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:1px;margin-right:2px;}</style><button aria-describedby="license-key-explainer-0.5863921567648063" type="button" class="css-1btm2ft">log management<style data-emotion="css 1d5o6hd">.css-1d5o6hd{margin-left:0.25em;}</style><style data-emotion="css 1eb8pd7">.css-1eb8pd7{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:0.25em;}</style><style data-emotion="css u04r6d">.css-u04r6d{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-left:0.25em;}</style><svg viewBox="0 0 24 24" class="css-u04r6d" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg></button> capabilities.</p><p><strong>Example:</strong></p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> example</span><span class="token punctuation">-</span><span class="token plain">file</span><span class="token punctuation">-</span><span class="token plain">attributes</span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/example.log</span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> nginx</span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">region</span><span class="token punctuation">:</span><span class="token plain"> example</span><span class="token punctuation">-</span><span class="token plain">us</span><span class="token punctuation">-</span><span class="token number">02</span><span class="token plain"></span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">team</span><span class="token punctuation">:</span><span class="token plain"> A</span><span class="token punctuation">-</span><span class="token plain">team</span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> example</span><span class="token punctuation">-</span><span class="token plain">tcp</span><span class="token punctuation">-</span><span class="token plain">attributes</span></div></div><div class="token-line" name="line-9"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">tcp</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-10"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">2345</span><span class="token plain"></span></div></div><div class="token-line" name="line-11"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation">:</span><span class="token plain"> json</span></div></div><div class="token-line" name="line-12"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-13"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> nginx</span></div></div><div class="token-line" name="line-14"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">region</span><span class="token punctuation">:</span><span class="token plain"> example</span><span class="token punctuation">-</span><span class="token plain">us</span><span class="token punctuation">-</span><span class="token number">02</span><span class="token plain"></span></div></div><div class="token-line" name="line-15"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">team</span><span class="token punctuation">:</span><span class="token plain"> B</span><span class="token punctuation">-</span><span class="token plain">team</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="automatically-inserted-attributess" class="css-1d1yxde"><span>attributes automatically inserted by the infrastructure agent</span><a href="#automatically-inserted-attributess" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>The infrastructure agent automatically inserts log attributes for your convenience. Some of them are inserted for any log record, while others depend on the configuration parameters you used while setting up the log forwarder.</p><style data-emotion="css 1auewn4">.css-1auewn4{width:100%;overflow-x:auto;}.css-1auewn4:not(:last-child){margin-bottom:var(--block-element-spacing);}</style><div class="css-1auewn4"><style data-emotion="css 154prth">.css-154prth{border-collapse:collapse;border-spacing:0;width:100%;text-align:left;}.css-154prth td,.css-154prth th{min-width:5rem;padding:0.5rem 1rem;vertical-align:top;}.css-154prth tbody{border-bottom:1px solid var(--primary-text-color);border-top:1px solid var(--primary-text-color);}.css-154prth tbody tr:nth-of-type(even){background:var(--primary-background-color);}.css-154prth tbody tr:nth-of-type(odd){background:var(--primary-hover-color);}.dark-mode .css-154prth tbody tr:nth-of-type(odd){background:var(--primary-contrast-color);}</style><table class="css-154prth"><thead><tr><th style="width:200px"><p>Attribute name</p></th><th><p>Description</p></th></tr></thead><tbody><tr><td><p><code>entity.guids</code></p></td><td><p>Always inserted.</p><p>The infrastructure agent inserts the <a href="/attribute-dictionary/?event=Span&attribute=entityGuid">Entity GUID</a> assigned by New Relic to identify the host where it's running. It is available in the <code>entity.guids</code> field.</p><p>Note: If the captured logs belong to an application instrumented using APM, the <code>entity.guids</code> field contains both the entity GUID of infrastructure, as well as the GUID of APM, separated by a pipe ( | ) delimiter.</p></td></tr><tr><td><p><code>fb.input</code></p></td><td><p>Always inserted.</p><p>The underlying <a href="https://docs.fluentbit.io/manual/pipeline/inputs" target="_blank" rel="noopener noreferrer">Fluent Bit input plugin type<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a> used to capture the logs. Currently its values are <code>tail</code>, <code>systemd</code>, <code>winlog</code>, <code>syslog</code>, and <code>tcp</code>.</p></td></tr><tr><td><p><code>filePath</code></p></td><td><p>Inserted when using the <code>file</code> input type.</p><p>Absolute file path of the file being monitored.</p></td></tr><tr><td><p><code>hostname</code></p></td><td><p>Always inserted.</p><p>The hostname of the machine/VM/container executing the infrastructure agent.</p></td></tr><tr><td><p><code>plugin.type</code></p></td><td><p>Always inserted.</p><p>Indicates the utility used to capture the logs. In this case, it is the infrastructure agent itself, so this attribute always has the value <code>nri-agent</code>.</p></td></tr></tbody></table></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="pattern" class="css-1d1yxde"><span>pattern</span><a href="#pattern" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Regular expression for filtering records. Only supported for the <code>tail</code>, <code>systemd</code>, <code>syslog</code>, and <code>tcp</code> (only with format <code>none</code>) sources.</p><p>This field works in a way similar to <code>grep -E</code> in Unix systems. For example, for a given file being captured, you can filter for records containing either <code>WARN</code> or <code>ERROR</code> using:</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> only</span><span class="token punctuation">-</span><span class="token plain">records</span><span class="token punctuation">-</span><span class="token plain">with</span><span class="token punctuation">-</span><span class="token plain">warn</span><span class="token punctuation">-</span><span class="token plain">and</span><span class="token punctuation">-</span><span class="token plain">error</span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/logFile.log</span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">pattern</span><span class="token punctuation">:</span><span class="token plain"> WARN</span><span class="token punctuation">|</span><span class="token plain">ERROR</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><p>No filtering is applied by default.</p></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="max_line_kb" class="css-1d1yxde"><span>max_line_kb</span><a href="#max_line_kb" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Maximum size of log entries/lines in KB. If log entries exceed the limit, they are skipped. Default is <code>128</code>,the minimum allowed value is <code>33</code>.</p></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="fluentbit" class="css-1d1yxde"><span>fluentbit</span><a href="#fluentbit" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>External <a href="https://fluentbit.io/" target="_blank" rel="noopener noreferrer">Fluent Bit<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a> configuration and parser files. If defined, they are merged with the existing configuration and parser files generated by the infrastructure agent.</p><p>The infrastructure agent processes the configuration files located in the <code>logging.d</code> directory and will generate a run-time Fluent Bit configuration file that contains the appropriate <code>[INPUT]</code>, <code>[FILTER]</code> and <code>[OUTPUT]</code> sections. Optionally, it will also declare an <code>@INCLUDE</code> in case you provided an external Fluent Bit configuration file via the <code>fluentbit</code> option.</p><p>The runtime file does not define a <a href="https://docs.fluentbit.io/manual/administration/configuring-fluent-bit/classic-mode/configuration-file" target="_blank" rel="noopener noreferrer"><code>[SERVICE]</code> section<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>, leaving all default Fluent Bit configuration values. You can still override Fluent Bit's default settings by defining your own <code>[SERVICE]</code> section in your external Fluent Bit configuration file and include it via the <code>fluentbit</code> option.</p><p><strong>Parameters:</strong></p><p><code>config_file:</code> path to an existing Fluent Bit configuration file. Note that any overlapping source results in duplicate messages in our logs UI.</p><p><code>parsers_file:</code> path to an existing Fluent Bit parsers file. The following parser names are reserved: <code>rfc3164</code>, <code>rfc3164-local</code> and <code>rfc5424</code>.</p><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>The infrastructure agent allows forwarding logs for the most common use cases by defining simple log forwarding configurations in the YAML files in the <code>logging.d/</code> directory, as described in this document. These files are internally translated into Fluent Bit configuration files with the correct format and sane configuration defaults. New Relic provides official support for these configuration options since we ensure that the generated configuration files are correct and operative.</p><p>Nevertheless, for those use cases not covered by our supported configuration options, we provide the possibility to use an externally-generated Fluent Bit configuration and parsers file using the <code>fluentbit</code>, <code>config_file</code>, and <code>parsers_file</code> options.</p><p>Note: We cannot guarantee the correct operation of the log forwarded in this case, given that the provided configurations are completely arbitrary and are not being generated/validated by the agent. Therefore, New Relic does not provide official support for the external configurations specified via these options.</p></div></div></div></div></div><h3 id="running-modes" style="position:relative">Sample configuration file <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#running-modes" aria-label="running modes permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h3><p>Here is an example of a <code>logging.d</code> configuration file in YAML format. For more configuration examples, <a href="https://github.com/newrelic/infrastructure-agent/tree/master/assets/examples/logging" target="_blank" rel="noopener noreferrer">see the infrastructure agent repository<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>.</p><div class="css-10m5lzu"><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="configuration-file" class="css-1d1yxde"><span>logging.d/sample.yaml</span><a href="#configuration-file" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token comment"># Remember to only use spaces for indentation</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"></span><span class="token key atrule">logs</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example of 'file' source</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> file</span><span class="token punctuation">-</span><span class="token plain">with</span><span class="token punctuation">-</span><span class="token plain">attributes</span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">file</span><span class="token punctuation">:</span><span class="token plain"> /var/log/test.log </span><span class="token comment"># Path to a single file or pattern</span><span class="token plain"></span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token comment"># You can use custom attributes to enrich your data</span><span class="token plain"></span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">logtype</span><span class="token punctuation">:</span><span class="token plain"> nginx</span></div></div><div class="token-line" name="line-9"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">team</span><span class="token punctuation">:</span><span class="token plain"> The A Team</span></div></div><div class="token-line" name="line-10"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">pattern</span><span class="token punctuation">:</span><span class="token plain"> Error </span><span class="token comment"># Regular expression to filter log entries</span><span class="token plain"></span></div></div><div class="token-line" name="line-11"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-12"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example of 'systemd' source (Linux only)</span><span class="token plain"></span></div></div><div class="token-line" name="line-13"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> systemd</span><span class="token punctuation">-</span><span class="token plain">example</span></div></div><div class="token-line" name="line-14"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">systemd</span><span class="token punctuation">:</span><span class="token plain"> cupsd</span></div></div><div class="token-line" name="line-15"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-16"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Examples of 'syslog' source, one per protocol</span><span class="token plain"></span></div></div><div class="token-line" name="line-17"><div class="css-0"><span class="token plain"> </span><span class="token comment"># TCP network socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-18"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">tcp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-19"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-20"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">5140</span><span class="token plain"> </span><span class="token comment"># Use the tcp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-21"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">parser</span><span class="token punctuation">:</span><span class="token plain"> rfc5424 </span><span class="token comment"># Default syslog parser is rfc3164</span><span class="token plain"></span></div></div><div class="token-line" name="line-22"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-23"><div class="css-0"><span class="token plain"> </span><span class="token comment"># UDP network socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-24"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">udp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-25"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-26"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> udp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">6140</span><span class="token plain"> </span><span class="token comment"># Use the udp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-27"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">max_line_kb</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">35</span><span class="token plain"></span></div></div><div class="token-line" name="line-28"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-29"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Paths for Unix sockets are defined by combining protocol and path:</span><span class="token plain"></span></div></div><div class="token-line" name="line-30"><div class="css-0"><span class="token plain"> </span><span class="token comment"># unix_udp:// + /path/socket - for example, unix_udp:///tmp/socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-31"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Unix TCP domain socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-32"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">unix</span><span class="token punctuation">-</span><span class="token plain">tcp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-33"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-34"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> unix_tcp</span><span class="token punctuation">:</span><span class="token plain">///var/unix</span><span class="token punctuation">-</span><span class="token plain">tcp</span><span class="token punctuation">-</span><span class="token plain">socket</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-35"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">unix_permissions</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">0666</span><span class="token plain"> </span><span class="token comment"># Default is 0644. Change at your own risk</span><span class="token plain"></span></div></div><div class="token-line" name="line-36"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-37"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Unix UDP domain socket</span><span class="token plain"></span></div></div><div class="token-line" name="line-38"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> syslog</span><span class="token punctuation">-</span><span class="token plain">unix</span><span class="token punctuation">-</span><span class="token plain">udp</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-39"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">syslog</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-40"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> unix_udp</span><span class="token punctuation">:</span><span class="token plain">///var/unix</span><span class="token punctuation">-</span><span class="token plain">udp</span><span class="token punctuation">-</span><span class="token plain">socket</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-41"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">parser</span><span class="token punctuation">:</span><span class="token plain"> rfc5424</span></div></div><div class="token-line" name="line-42"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-43"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Examples of 'tcp' source for formats 'none' and 'json'</span><span class="token plain"></span></div></div><div class="token-line" name="line-44"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">-</span><span class="token plain">simple</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-45"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">tcp</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-46"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">1234</span><span class="token plain"> </span><span class="token comment"># Use the tcp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-47"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation">:</span><span class="token plain"> none </span><span class="token comment"># Raw text - this is default for 'tcp'</span><span class="token plain"></span></div></div><div class="token-line" name="line-48"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">separator</span><span class="token punctuation">:</span><span class="token plain"> \t </span><span class="token comment"># String for separating raw text entries</span><span class="token plain"></span></div></div><div class="token-line" name="line-49"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token comment"># You can add custom attributes to any source of logs</span><span class="token plain"></span></div></div><div class="token-line" name="line-50"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">tcpFormat</span><span class="token punctuation">:</span><span class="token plain"> none</span></div></div><div class="token-line" name="line-51"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">someOtherAttribute</span><span class="token punctuation">:</span><span class="token plain"> associatedValue</span></div></div><div class="token-line" name="line-52"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">max_line_kb</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">32</span><span class="token plain"></span></div></div><div class="token-line" name="line-53"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">-</span><span class="token plain">json</span><span class="token punctuation">-</span><span class="token plain">test</span></div></div><div class="token-line" name="line-54"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">tcp</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-55"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">uri</span><span class="token punctuation">:</span><span class="token plain"> tcp</span><span class="token punctuation">:</span><span class="token plain">//0.0.0.0</span><span class="token punctuation">:</span><span class="token number">2345</span><span class="token plain"> </span><span class="token comment"># Use the tcp://LISTEN_ADDRESS:PORT format</span><span class="token plain"></span></div></div><div class="token-line" name="line-56"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation">:</span><span class="token plain"> json</span></div></div><div class="token-line" name="line-57"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">attributes</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-58"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">tcpFormat</span><span class="token punctuation">:</span><span class="token plain"> json</span></div></div><div class="token-line" name="line-59"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">yetAnotherAttribute</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token number">12345</span><span class="token plain"></span></div></div><div class="token-line" name="line-60"><div class="css-0"><span class="token plain"> </span></div></div><div class="token-line" name="line-61"><div class="css-0"><span class="token plain"> </span><span class="token comment"># Example of Fluent Bit configuration import</span><span class="token plain"></span></div></div><div class="token-line" name="line-62"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> </span><span class="token key atrule">name</span><span class="token punctuation">:</span><span class="token plain"> fluentbit</span><span class="token punctuation">-</span><span class="token plain">import</span></div></div><div class="token-line" name="line-63"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">fluentbit</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-64"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">config_file</span><span class="token punctuation">:</span><span class="token plain"> /path/to/fluentbit.config</span></div></div><div class="token-line" name="line-65"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">parsers_file</span><span class="token punctuation">:</span><span class="token plain"> /path/to/fluentbit/parsers.conf</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></div></div></div></div><h3 id="find-data" style="position:relative">Step 4. View your log data <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#find-data" aria-label="find data permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h3><p>If everything is configured correctly and your data is being collected, you should see logs and related telemetry data in these places:</p><ul><li>Our <a href="https://one.newrelic.com/launcher/logger.log-launcher" target="_blank" rel="noopener">logs UI<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a></li><li>In the infrastructure UI, from the host table, click the <style data-emotion="css 3u3y73">.css-3u3y73{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}</style><style data-emotion="css 1c95psr">.css-1c95psr{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}</style><svg viewBox="0 0 24 24" class="css-1c95psr" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle></svg> icon for a specific host, and then click <strong>View logs</strong>.</li><li>Our tools for running <a href="/docs/chart-builder/use-chart-builder/choose-data/use-advanced-nrql-mode-specify-data/">NRQL queries</a>. For example, you can execute a query like this:</li></ul><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="sql"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token keyword">SELECT</span><span class="token plain"> </span><span class="token operator">*</span><span class="token plain"> </span><span class="token keyword">FROM</span><span class="token plain"> Log</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><h2 id="on-host" style="position:relative">Enable logging for your on-host integrations <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#on-host" aria-label="on host permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><p>With the infrastructure agent installed, you can enable automatic log parsing and forwarding for our most popular on-host integrations with one step. To enable this feature, rename the <code>on-host-log.yml.example</code> file to <code>on-host-log.yml</code>. Once done, your integration's logs are automatically parsed and sent to New Relic.</p><p>This option is available for our <a href="#requirements">supported Linux platforms</a>.</p><p>To enable the on-host integration log forwarding feature:</p><div class="css-10m5lzu"><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="elastic-search-logs" class="css-1d1yxde"><span>Elasticsearch logs</span><a href="#elastic-search-logs" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Copy or rename the <code>elasticsearch-log.yml.example</code> file to <code>elasticsearch-log.yml</code> to enable automatic Elasticsearch JSON formatted log parsing and forwarding to New Relic. No need to restart the agent.</p><p><strong>Example:</strong></p><style data-emotion="css 1aykwfa">.css-1aykwfa{--chrome-color:#252526;--border-radius:0.25rem;background:#1e1e1e;border-radius:var(--border-radius);}.css-1aykwfa:not(:last-child){margin-bottom:var(--block-element-spacing);}</style><div class="css-1aykwfa"><style data-emotion="css jiwy7s">.css-jiwy7s{background:var(--chrome-color);display:grid;grid-template-columns:repeat(3, auto) 1fr 90px;grid-gap:0.5rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 1rem;border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);height:38px;}</style><div class="css-jiwy7s"><style data-emotion="css fvi6v7">.css-fvi6v7{background:#ed6b60;border-radius:50%;width:10px;height:10px;}</style><div class="css-fvi6v7"></div><style data-emotion="css k3mch4">.css-k3mch4{background:#f5be4f;border-radius:50%;width:10px;height:10px;}</style><div class="css-k3mch4"></div><style data-emotion="css 1x0poyq">.css-1x0poyq{background:#62c554;border-radius:50%;width:10px;height:10px;}</style><div class="css-1x0poyq"></div><style data-emotion="css 1fx02w8">.css-1fx02w8{color:#ccc;text-align:center;font-family:var(--code-font);font-size:0.75rem;}</style><div class="css-1fx02w8">bash</div><style data-emotion="css 1g3wq86">.css-1g3wq86{justify-self:end;white-space:nowrap;}</style><style data-emotion="css zx473y">.css-zx473y{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:0.75rem;justify-self:end;white-space:nowrap;}</style><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><style data-emotion="css 6xav4z">.css-6xav4z{padding:1rem;height:px;font-family:var(--code-font);font-size:0.75rem;border-bottom-left-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius);color:var(--code-console-text-primary);display:block;overflow:auto;white-space:pre;word-spacing:normal;word-break:normal;tab-size:2;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;text-shadow:none;}.css-6xav4z .namespace{opacity:0.7;}.css-6xav4z .token.plain:empty{display:inline-block;}.css-6xav4z .token.comment{color:var(--color-comment);}.css-6xav4z .token.punctuation,.css-6xav4z .token.operator{color:var(--code-console-text-highlight);}.css-6xav4z .token.constant{color:var(--code-query-syntax-keyword);}.css-6xav4z .token.string{color:var(--code-query-syntax-string);}.css-6xav4z >code{background:none;padding:0;width:100%;}.css-6xav4z .token-line{display:grid;grid-template-columns:1ch 1fr;grid-gap:1rem;}</style><pre class="css-6xav4z"><code><style data-emotion="css 8l2iag">.css-8l2iag{display:grid;grid-template-columns:1ch auto;grid-gap:1ch;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:start;justify-content:start;-webkit-align-items:baseline;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;}</style><div class="css-8l2iag"><style data-emotion="css jf4tal">.css-jf4tal{color:var(--code-console-text-highlight);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}</style><span class="css-jf4tal">$</span><style data-emotion="css 2lpx6i">.css-2lpx6i{position:relative;color:#fafafa;white-space:pre;}.css-2lpx6i:empty{height:100%;}</style><div class="css-2lpx6i"><style data-emotion="css vtn706">.css-vtn706{display:inline-block;vertical-align:baseline;}</style><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">cp</span><span class="token plain css-vtn706"> /etc/newrelic-infra/logging.d/elasticsearch-log.yml.example /etc/newrelic-infra/logging.d/elasticsearch-log.yml</span></div></div></code></pre></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="mysql-logs" class="css-1d1yxde"><span>MySQL logs</span><a href="#mysql-logs" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Copy or rename the <code>mysql-log.yml.example</code> file to <code>mysql-log.yml</code> to enable automatic MySQL error log parsing and forwarding to New Relic. No need to restart the agent.</p><p><strong>Example:</strong></p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">cp</span><span class="token plain css-vtn706"> /etc/newrelic-infra/logging.d/mysql-log.yml.example /etc/newrelic-infra/logging.d/mysql-log.yml</span></div></div></code></pre></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="nginx-logs" class="css-1d1yxde"><span>NGINX logs</span><a href="#nginx-logs" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Copy or rename the <code>nginx-log.yml.example</code> file to <code>nginx-log.yml</code> to enable automatic NGINX access and error log parsing and forwarding to New Relic. No need to restart the agent.</p><p><strong>Example:</strong></p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">cp</span><span class="token plain css-vtn706"> /etc/newrelic-infra/logging.d/nginx-log.yml.example /etc/newrelic-infra/logging.d/nginx-log.yml</span></div></div></code></pre></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="rabbitmq-logs" class="css-1d1yxde"><span>Rabbitmq logs</span><a href="#rabbitmq-logs" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Copy or rename the <code>rabbitmq-log.yml.example</code> file to <code>rabbitmq-log.yml</code> to enable automatic Rabbitmq error log parsing and forwarding to New Relic. No need to restart the agent.</p><p><strong>Example:</strong></p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">cp</span><span class="token plain css-vtn706"> /etc/newrelic-infra/logging.d/rabbitmq-log.yml.example /etc/newrelic-infra/logging.d/rabbitmq-log.yml</span></div></div></code></pre></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="redis-logs" class="css-1d1yxde"><span>Redis logs</span><a href="#redis-logs" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Copy or rename the <code>redis-log.yml.example</code> file to <code>redis-log.yml</code> to enable automatic Redis error log parsing and forwarding to New Relic. No need to restart the agent.</p><p><strong>Example:</strong></p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">cp</span><span class="token plain css-vtn706"> /etc/newrelic-infra/logging.d/redis-log.yml.example /etc/newrelic-infra/logging.d/redis-log.yml</span></div></div></code></pre></div></div></div></div></div><h2 id="tarball-install" style="position:relative">Enable log forwarding on agent installed using Linux tarball <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#tarball-install" aria-label="tarball install permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><p>Our custom Linux installation process for infrastructure monitoring allows you to tailor all aspects of the installation process, and to place files and folders on your machine. If you choose the <a href="/docs/infrastructure/install-infrastructure-agent/linux-installation/tarball-assisted-install-infrastructure-agent-linux/">assisted</a> or <a href="/docs/infrastructure/install-infrastructure-agent/linux-installation/tarball-manual-install-infrastructure-agent-linux/">manual</a> tarball installation process, follow these steps to implement the log forwarder feature:</p><ol><li><p>Create the following directories:</p><ul><li><code>/var/db/newrelic-infra/newrelic-integrations/logging</code></li><li><code>/etc/newrelic-infra/logging.d</code></li></ul></li><li><p>Download and install New Relic's <a href="https://github.com/newrelic/fluent-bit-package/releases" target="_blank" rel="noopener noreferrer">fluent-bit-package (RPM)<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a> by running a command similar to:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706">yum localinstall fluent-bit-</span><span class="token operator css-vtn706"><</span><span class="token plain css-vtn706">some-version</span><span class="token operator css-vtn706">></span><span class="token plain css-vtn706">.rpm</span></div></div></code></pre></div></li><li><p>Download New Relic's <a href="https://github.com/newrelic/newrelic-fluent-bit-output/releases" target="_blank" rel="noopener noreferrer">fluentbit plugin<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a> and save it as <code>/var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so</code>.</p></li><li><p>Download or copy the <code>parsers.conf</code> file from <a href="https://github.com/newrelic/fluent-bit-package/blob/main/parsers.conf" target="_blank" rel="noopener noreferrer">this Github repository<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>, and save it as <code>/var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf</code>.</p></li></ol><style data-emotion="css 125mb0g">.css-125mb0g{padding:2rem;margin:1rem;margin-bottom:2rem;border:none;background:var(--system-text-primary-dark);}.dark-mode .css-125mb0g.css-125mb0g{background:var(--erno-black);}</style><style data-emotion="css 18a3rmn">.css-18a3rmn{border-radius:0.25rem;box-shadow:var(--shadow-3);-webkit-text-decoration:none;text-decoration:none;border:1px solid var(--border-color);background:var(--primary-background-color);padding:2rem;margin:1rem;margin-bottom:2rem;border:none;background:var(--system-text-primary-dark);}.dark-mode .css-18a3rmn.css-18a3rmn{background:var(--erno-black);}</style><div class="css-18a3rmn esuq8iu0"><style data-emotion="css 173zs3f">.css-173zs3f{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}@media screen and (max-width: 1450px){.css-173zs3f{-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}</style><div class="css-173zs3f"><style data-emotion="css 1q608lc">.css-1q608lc{margin-right:10px;}@media screen and (max-width: 1500px){.css-1q608lc{margin-bottom:10px;}}</style><div class="css-1q608lc"><style data-emotion="css 14b2tkv">.css-14b2tkv{font-weight:500;margin-bottom:0;text-align:center;color:var(--primary-text-color);}</style><h2 class="css-14b2tkv">Did this doc help with your installation?</h2></div><style data-emotion="css ho1qnd">.css-ho1qnd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}</style><div class="css-ho1qnd"><style data-emotion="css 29mjr9">.css-29mjr9{font-size:1.25rem;font-weight:500;color:var(--system-text-primary-dark);background:var(--product-blue);border-radius:4px;padding:1rem 2rem;margin-right:0.5rem;}@media screen and (max-width: 1500px){.css-29mjr9{margin-top:1rem;}}@media screen and (max-width: 1450px){.css-29mjr9{margin-right:0;}}@media screen and (max-width: 820px){.css-29mjr9{font-size:1rem;padding:1rem;}}@media screen and (max-width: 420px){.css-29mjr9{padding-left:0.25rem;padding-right:0.25rem;}}.css-29mjr9 svg{fill:var(--system-text-primary-dark);}.css-29mjr9:hover{background:var(--product-blue-hover);}</style><style data-emotion="css 1tl9hmo">.css-1tl9hmo{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--link-color);background:transparent;font-size:1.25rem;font-weight:500;color:var(--system-text-primary-dark);background:var(--product-blue);border-radius:4px;padding:1rem 2rem;margin-right:0.5rem;}@media screen and (max-width: 1500px){.css-1tl9hmo{margin-top:1rem;}}@media screen and (max-width: 1450px){.css-1tl9hmo{margin-right:0;}}@media screen and (max-width: 820px){.css-1tl9hmo{font-size:1rem;padding:1rem;}}@media screen and (max-width: 420px){.css-1tl9hmo{padding-left:0.25rem;padding-right:0.25rem;}}.css-1tl9hmo svg{fill:var(--system-text-primary-dark);}.css-1tl9hmo:hover{background:var(--product-blue-hover);}</style><button class="css-1tl9hmo e132irl20">Leave us a comment!<style data-emotion="css 167tsr2">.css-167tsr2{fill:#00586f;stroke:none;margin-left:0.75rem;position:relative;top:3px;}</style><style data-emotion="css 1m8h79c">.css-1m8h79c{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:#00586f;stroke:none;margin-left:0.75rem;position:relative;top:3px;}</style><style data-emotion="css 13l2qki">.css-13l2qki{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:#00586f;stroke:none;margin-left:0.75rem;position:relative;top:3px;}</style><svg viewBox="0 0 24 24" class="css-13l2qki" xmlns="http://www.w3.org/2000/svg"><path d="M0.25 1C0.25 0.585786 0.585786 0.25 1 0.25H17C17.4142 0.25 17.75 0.585786 17.75 1V11.6667C17.75 12.0809 17.4142 12.4167 17 12.4167H11.9773L6.86366 17.5303C6.64917 17.7448 6.32658 17.809 6.04632 17.6929C5.76607 17.5768 5.58333 17.3033 5.58333 17V12.4167H1C0.585786 12.4167 0.25 12.0809 0.25 11.6667V1ZM1.75 1.75V10.9167H6.33333C6.74755 10.9167 7.08333 11.2525 7.08333 11.6667V15.1893L11.1363 11.1363C11.277 10.9957 11.4678 10.9167 11.6667 10.9167H16.25V1.75H1.75Z"></path><path d="M6.33333 7.66667C7.06971 7.66667 7.66667 7.06971 7.66667 6.33333C7.66667 5.59695 7.06971 5 6.33333 5C5.59695 5 5 5.59695 5 6.33333C5 7.06971 5.59695 7.66667 6.33333 7.66667Z"></path><path d="M11.6661 7.66667C12.4025 7.66667 12.9995 7.06971 12.9995 6.33333C12.9995 5.59695 12.4025 5 11.6661 5C10.9298 5 10.3328 5.59695 10.3328 6.33333C10.3328 7.06971 10.9298 7.66667 11.6661 7.66667Z"></path></svg></button></div></div></div><h2 id="troubleshoot" style="position:relative">Troubleshooting <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#troubleshoot" aria-label="troubleshoot permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><p>If you encounter problems with configuring your log forwarder, try these troubleshooting tips.</p><div class="css-10m5lzu"><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="log-data" class="css-1d1yxde"><span>No log data</span><a href="#log-data" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>If no data appears after you enable our log management capabilities, follow our <a href="/docs/logs/log-management/troubleshooting/no-log-data-appears-ui/">standard log troubleshooting procedures</a>.</p></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="no-data" class="css-1d1yxde"><span>No data appears when tailing a file</span><a href="#no-data" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>The log forwarding feature requires the agent to have permission to read the data sources. When running the infrastructure agent in <a href="/docs/infrastructure/install-configure-infrastructure/linux-installation/linux-agent-running-modes/">privileged or non-privileged modes</a>, make sure that the log files you want to forward (and any intermediary directory in its path) are readable by the user running <code>nri-agent</code>.</p><p><strong>Example: Check file access under Linux</strong></p><p>Let's check whether the file <code>/var/log/restrictedLogs/logFile.log</code> can be monitored by the <code>nri-agent</code> user. In Linux, you can do a quick check with the <code>namei</code> command:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token parameter variable css-vtn706">-u</span><span class="token plain css-vtn706"> nri-agent namei </span><span class="token parameter variable css-vtn706">-ml</span><span class="token plain css-vtn706"> /var/log/restrictedLogs/logFile.log</span></div></div><style data-emotion="css 1pev2m0">.css-1pev2m0{color:#fafafa;white-space:pre;}</style><div class="css-1pev2m0"><style data-emotion="css 7bzrlk">.css-7bzrlk{color:currentColor;}.css-7bzrlk:empty{display:inline-block;}</style><span class="css-7bzrlk">f: /var/log/restrictedLogs/logFile.log</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxr-xr-x root root /</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxr-xr-x root root var</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxrwxr-x root syslog log</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxr--r-- root root restrictedLogs</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">logFile.log - No such file or directory</span></div></code></pre></div><p>This command failed because the file is not visible to the <code>nri-agent</code> user. By inspecting the previous output, we can detect that the <code>restrictedLogs</code> directory is missing the execution flag for <code>others</code>.</p><p>To fix this, execute:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">chmod</span><span class="token plain css-vtn706"> </span><span class="token number css-vtn706">755</span><span class="token plain css-vtn706"> /var/log/restrictedLogs</span></div></div></code></pre></div><p>And then check for file access again:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token parameter variable css-vtn706">-u</span><span class="token plain css-vtn706"> nri-agent namei </span><span class="token parameter variable css-vtn706">-ml</span><span class="token plain css-vtn706"> /var/log/restrictedLogs/logFile.log</span></div></div><div class="css-1pev2m0"><span class="css-7bzrlk">f: /var/log/restrictedLogs/logFile.log</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxr-xr-x root root /</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxr-xr-x root root var</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxrwxr-x root syslog log</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">drwxr-xr-x root root restrictedLogs</span></div><div class="css-1pev2m0"><span class="css-7bzrlk">-rw-r----- vagrant vagrant logFile.log</span></div></code></pre></div><p>The file is now visible to the <code>nri-agent</code> user. You must ensure that the file is also readable by the <code>nri-agent</code> user. To check this, use:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token parameter variable css-vtn706">-u</span><span class="token plain css-vtn706"> nri-agent </span><span class="token function css-vtn706">head</span><span class="token plain css-vtn706"> /var/log/restrictedLogs/logFile.log</span></div></div><div class="css-1pev2m0"><span class="css-7bzrlk">head: cannot open '/var/log/restrictedLogs/logFile.log' for reading: Permission denied</span></div></code></pre></div><p>In this example, the file is missing the read rights for the <code>others</code> group (users other than <code>vagrant</code> and the <code>vagrant</code> user group). You could fix this by granting read permissions to <code>others</code>, but the application could change these permissions upon restart.</p><p>To avoid this, a better approach is to add the <code>nri-agent</code> user to the <code>vagrant</code> user group.</p></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="syslog" class="css-1d1yxde"><span>No data appears when capturing via a Syslog socket</span><a href="#syslog" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>The log forwarding feature requires that the agent has permission to read the data sources. When running the infrastructure agent in <a href="/docs/infrastructure/install-configure-infrastructure/linux-installation/linux-agent-running-modes/">privileged or non-privileged modes</a>:</p><ul><li><p>If you're using Unix domain socket files, make sure that the <code>nri-agent</code> user can access these files (please refer to the previous section) and that they have read and write permissions (<code>666</code>) so that other users than <code>nri-agent</code> can write to them.</p></li><li><p>If you're using IP sockets, ensure that the port that you are using is not a system reserved one (like port <code>80</code>, for example).</p><p>If no data appears after you enable log management, follow <a href="/docs/logs/new-relic-logs/troubleshooting/no-data-appears-logs/">standard log management troubleshooting procedures</a>.</p></li></ul></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="proxy" class="css-1d1yxde"><span>No data appears using infrastructure agent proxy</span><a href="#proxy" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>As explained in the <a href="/docs/infrastructure/install-infrastructure-agent/configuration/infrastructure-agent-configuration-settings/#proxy">infrastructure agent configuration guidelines</a>, the <code>proxy</code> parameter must use either HTTP or HTTPS and be in the form <code>https://user:password@hostname:port</code>. The agent can parse the parameter without the HTTP or HTTPS, but the log forwarder cannot. You will see an error like the following in the agent verbose logs:</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token plain">[ERROR] building HTTP transport: parse \"hostname:port\":</span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain">first path segment in URL cannot contain colon</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><p>To solve this problem, check your <code>newrelic-infra.yml</code> file, and ensure the <code>proxy</code> parameter adheres to this form.</p><p>If you're using <code>caBundleFile</code> or <code>caBundleDir</code> in order to specify any certificate, we recommend to follow the below rules for each OS:</p><p><strong>Linux</strong></p><p>For <code>HTTP</code> proxies you don't need to setup any certificates. The plugin loads the system certificates and New Relic sends logs into the logging endpoint. However, you can specify the proxy self-signed certificate (PEM file) using either the <code>caBundleFile</code> or <code>caBundleDir</code> parameters.</p><p><strong>Windows</strong></p><ul><li><p>For <code>HTTP</code> proxies you don't need to setup any certificates. The plugin loads the system certificates.</p></li><li><p>For <code>HTTPS</code>, you can configure it in one of the following ways:</p><ul><li><p>(Recommended) Import the proxy certificate to the system pool. Import the proxy self-signed certificate (PEM file) by using the MMC tool. Refer to <a href="https://www.ssls.com/knowledgebase/how-to-import-intermediate-and-root-certificates-via-mmc/" target="_blank" rel="noopener noreferrer">this link<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>, and in <strong>Step 2</strong> ensure to import it in your <code>Trusted Root Certification Authorities</code> instead of in the <code>Intermediate Certification Authorities</code>.</p></li><li><p>Use the <code>caBundleFile</code> and <code>caBundleDir</code> parameters On Windows, we cannot load both the certificates from the system certificate pool and the ones specified with the <code>caBundleFile</code> <code>caBundleDir</code> parameters. So, if you are using <code>caBundleFile</code> or <code>caBundleDir</code>, ensure that the following certificates are placed in the same PEM file (when using <code>caBundleFile</code>) or in the same directory (when using <code>caBundleDir</code>):</p></li></ul></li><li><p>The proxy certificate (because it's an <code>HTTPS</code> proxy).</p></li><li><p>The logging endpoint certificate (eg. <code>https://log-api.newrelic.com/log/v1</code>).</p></li><li><p>The infrastructure agent certificate (eg. <code>https://infra-api.newrelic.com</code>).</p><p>You can check the certificates by running:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706">openssl s_client </span><span class="token parameter variable css-vtn706">-connect</span><span class="token plain css-vtn706"> log-api.newrelic.com:443 </span><span class="token parameter variable css-vtn706">-servername</span><span class="token plain css-vtn706"> log-api.newrelic.com</span></div></div></code></pre></div></li></ul></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="agent-logs" class="css-1d1yxde"><span>Sending the infrastructure agent's logs to New Relic</span><a href="#agent-logs" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>You can configure the infrastructure agent to send its own logs to New Relic. This is useful for troubleshooting issues with log forwarding, the agent, or when contacting <a href="https://support.newrelic.com/" target="_blank" rel="noopener">support<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>.</p><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>Trace logging generates a lot of data very quickly. To reduce disk space consumption and data ingest, when finished generating logs, be sure to set <code>level: info</code> (or lower).</p></div><p>To forward the infrastructure agent logs to New Relic:</p><ol><li><p>Edit your <code>newrelic-infra.yml</code> file.</p></li><li><p>Enable logs forwarding to New Relic by adding the following config snippet:</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">log</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation">:</span><span class="token plain"> trace </span><span class="token comment"># Recommended: Helps with troubleshooting</span><span class="token plain"></span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">forward</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token boolean important">true</span><span class="token plain"> </span><span class="token comment"># Enables sending logs to New Relic</span><span class="token plain"></span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation">:</span><span class="token plain"> json </span><span class="token comment"># Recommended: Enable agent logging in JSON format</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">stdout</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token boolean important">false</span><span class="token plain"> </span><span class="token comment"># On Windows and systems that don't use `systemd` or where `journald` is inaccessible</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></li><li><p><a href="/docs/infrastructure/new-relic-infrastructure/configuration/start-stop-restart-check-infrastructure-agent-status/">Restart the agent</a> to load the new settings.</p><p>This configuration sets up the agent in troubleshooting mode, but the log forwarder (based on <a href="https://fluentbit.io/" target="_blank" rel="noopener noreferrer">Fluent Bit<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>) will continue in a non-verbose mode.</p></li></ol></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="fluentbit-logs" class="css-1d1yxde"><span>Enabling verbose mode in the log forwarder (Fluent Bit)</span><a href="#fluentbit-logs" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Sometimes you can have issues with the log forwarder itself. For example, there may be problems accessing a specific channel when shipping Windows log events or when accessing a particular log file. In these situations, you can also enable the verbose mode for the log forwarder.</p><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>Trace logging generates a lot of data very quickly. To reduce disk space consumption and data ingest, when finished generating logs, be sure to set <code>level: info</code> (or lower).</p></div><ol><li>Edit your <code>newrelic-infra.yml</code> file.</li><li>Enable Fluent Bit verbose logs by adding the following config snippet:<div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av" data-language="yml"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token key atrule">log</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-2"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">level</span><span class="token punctuation">:</span><span class="token plain"> trace</span></div></div><div class="token-line" name="line-3"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">forward</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token boolean important">true</span><span class="token plain"> </span><span class="token comment"># Enables sending logs to New Relic</span><span class="token plain"></span></div></div><div class="token-line" name="line-4"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">format</span><span class="token punctuation">:</span><span class="token plain"> json </span><span class="token comment"># Recommended: Enable agent logging in JSON format</span><span class="token plain"></span></div></div><div class="token-line" name="line-5"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">stdout</span><span class="token punctuation">:</span><span class="token plain"> </span><span class="token boolean important">false</span><span class="token plain"> </span><span class="token comment"># On Windows and systems that don't use `systemd` or where `journald` is inaccessible</span><span class="token plain"></span></div></div><div class="token-line" name="line-6"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">include_filters</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-7"><div class="css-0"><span class="token plain"> </span><span class="token key atrule">traces</span><span class="token punctuation">:</span><span class="token plain"></span></div></div><div class="token-line" name="line-8"><div class="css-0"><span class="token plain"> </span><span class="token punctuation">-</span><span class="token plain"> supervisor </span><span class="token comment"># Required to see verbose logs from Fluent Bit</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div></li><li><a href="/docs/infrastructure/new-relic-infrastructure/configuration/start-stop-restart-check-infrastructure-agent-status/">Restart the agent</a> to load the new settings.</li></ol></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="no-fb" class="css-1d1yxde"><span>Fluent Bit does not start with the infra agent</span><a href="#no-fb" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><div class="css-wc8ph0"><h4 class="css-1xoslel">Important</h4><p>Fluent Bit's tail plugin does not support network drives.</p></div><p>For Linux versions prior to 2016, you may need to update the OpenSSL library to 1.1.0 (or higher). To check if you have this problem:</p><ol><li><p>See if <code>infra-agent</code> has started Fluent Bit by running:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">ps</span><span class="token plain css-vtn706"> </span><span class="token parameter variable css-vtn706">-aux</span><span class="token plain css-vtn706"> </span><span class="token operator css-vtn706">|</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">grep</span><span class="token plain css-vtn706"> fluent-bit</span></div></div></code></pre></div></li><li><p>If it isn't running go to <code>/var/db/newrelic-infra/newrelic-integrations/logging</code> and run:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706">./fluent-bit </span><span class="token parameter variable css-vtn706">-i</span><span class="token plain css-vtn706"> systemd </span><span class="token parameter variable css-vtn706">-o</span><span class="token plain css-vtn706"> stdout</span></div></div></code></pre></div></li><li><p>If you get the following error:</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token plain">error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><p>Make sure to update OpenSSL to 1.1.0 or higher.</p></li></ol></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="windows-runtime-error" class="css-1d1yxde"><span>Runtime error on Windows</span><a href="#windows-runtime-error" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>One of the following error messages may appear when enabling log forwarding on Windows:</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token plain">The code execution cannot proceed because VCRUNTIME140.dll was not found.</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><p>OR</p><div class="css-1r12iee"><div class="css-zjb7k1"><div class="codeblock css-1f2e4yf"><pre class="css-1rrd9av"><code class="css-ebgyu1"><div class="token-line" name="line-1"><div class="css-0"><span class="token plain">error="exit status 3221225781" process=log-forwarder</span></div></div></code></pre></div><div class="css-1jc93v0"><div class="css-o1p83e"></div><button type="button" class="css-1ikc4qe e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div></div></div><p>This is caused by a missing DLL.</p><p>To solve the issue, install the <a href="https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads" target="_blank" rel="noopener noreferrer">Microsoft Visual C++ Redistributable<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a> as applicable:</p><ul><li><a href="https://aka.ms/vs/16/release/vc_redist.x64.exe" target="_blank" rel="noopener noreferrer">x64<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a></li><li><a href="https://aka.ms/vs/16/release/vc_redist.x86.exe" target="_blank" rel="noopener noreferrer">x86<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a></li></ul></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="too-many-files" class="css-1d1yxde"><span>Errors when tailing a large amount of log files (Linux)</span><a href="#too-many-files" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>It's common to face either one of the following error messages when attempting to tail a large amount of files:</p><ul><li><p><code>Too many open files</code></p></li><li><p><code>The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource</code></p><p>The operating system defines a maximum amount of allocatable file descriptors (typically 1024 by default), and a maximum amount of allocatable inotify watches (typically 8192 by default). Any process attempting to go above these limits will fail, returning one of the errors above.</p><p>The underlying technology we use to forward logs, <a href="https://fluentbit.io/" target="_blank" rel="noopener noreferrer">Fluent Bit<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>, opens one file descriptor and sets an inotify watch for each file you configure to be forwarded. Moreover, at the time of writing this section, Fluent Bit uses an extra set of 32 file descriptors for its normal operation, with another extra file descriptor when it shuts down. Therefore, <strong>to capture a large amount of files you need to ensure that both the file descriptor and inotify watch limits are slightly greater than the amount of log files you wish to tail</strong>.</p><p>The following instructions summarize how to increase these limits if you want to tail 10,000 log files. Also, it assumes the infrastructure agent is installed in <code>root</code> <a href="/docs/infrastructure/install-infrastructure-agent/linux-installation/linux-agent-running-modes/">running mode</a>, and therefore must be run using the <code>root</code> user.</p></li></ul><ol><li><p>Check which is the current hard limit for the amount of file descriptors per process. Typically, this limit should be quite high and should not need to be modified.</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token builtin class-name css-vtn706">ulimit</span><span class="token plain css-vtn706"> </span><span class="token parameter variable css-vtn706">-Hn</span></div></div></code></pre></div></li><li><p>Add the following line to <code>/etc/security/limits.conf</code>. We specified a limit of <code>10100</code> here instead of just <code>10000</code> to allow Fluent Bit to allocate the extra file descriptors it may need to work.</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706">root soft nofile </span><span class="token number css-vtn706">10100</span><span class="token plain css-vtn706"> </span><span class="token comment css-vtn706"># replace root by nri-agent for non-root (privileged and unprivileged) installations</span></div></div></code></pre></div></li><li><p>Add the following line to <code>/etc/pam.d/common-session</code> so that the previous limit is applied upon restart:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706">session required pam_limits.so</span></div></div></code></pre></div></li><li><p>Add the following line to <code>/etc/sysctl.conf</code> to increase the amount of allowed inotify watchers per user. We specified a limit of <code>18192</code> here instead of just <code>10000</code> so that the <code>root</code> user will still have <code>8192</code> available inotify watches (the default value).</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token assign-left variable css-vtn706">fs.inotify.max_user_watches</span><span class="token operator css-vtn706">=</span><span class="token number css-vtn706">18192</span></div></div></code></pre></div></li><li><p>Restart your system.</p></li><li><p>Ensure that the new limits have been enforced by running:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token builtin class-name css-vtn706">ulimit</span><span class="token plain css-vtn706"> </span><span class="token parameter variable css-vtn706">-Sn</span><span class="token plain css-vtn706"> </span><span class="token comment css-vtn706"># Should return 10100</span><span class="token plain css-vtn706"></span></div></div><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706"></span><span class="token function css-vtn706">cat</span><span class="token plain css-vtn706"> /proc/sys/fs/inotify/max_user_watches </span><span class="token comment css-vtn706"># Should return 18192</span></div></div></code></pre></div><p><a href="https://tecadmin.net/increase-open-files-limit-ubuntu/" target="_blank" rel="noopener noreferrer">Learn more on how to increase open file limits<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>, or on <a href="https://dev.to/rubiin/ubuntu-increase-inotify-watcher-file-watch-limit-kf4" target="_blank" rel="noopener noreferrer">how to increase the inotify watches<svg viewBox="0 0 24 24" class="css-1yhl729" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></a>.</p></li></ol></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="install-fb-version" class="css-1d1yxde"><span>Install the latest Fluent Bit version (Linux)</span><a href="#install-fb-version" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Prior to version <a href="/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes/new-relic-infrastructure-agent-1190/">1.19.0</a> (or version <a href="/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes/new-relic-infrastructure-agent-1203/">1.20.3</a> for SLES 12.5), the Linux infrastructure agent came bundled with a Fluent Bit binary. Starting in this version, Fluent Bit is now included as as a separate <code>recommended</code> package dependency.</p><p>This means that you can install, update, or downgrade Fluent Bit separately from the agent. For your convenience, we have included several Fluent Bit packages in the same repository where the infrastructure lives, so you don't need to install any additional repositories to upgrade Fluent Bit.</p><p>Note that the agent automatically installs Fluent Bit when you first install it, using the latest available version. After the first installation, you can upgrade Fluent Bit as you would normally do with any Linux package.</p><p>You can list the available Fluent Bit versions by running:</p><p>RPM:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> yum check-update</span></div></div><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706">yum list fluent-bit </span><span class="token parameter variable css-vtn706">--showduplicates</span></div></div></code></pre></div><p>DEB:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">apt</span><span class="token plain css-vtn706"> update</span></div></div><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706"></span><span class="token function css-vtn706">apt-cache</span><span class="token plain css-vtn706"> showpkg fluent-bit</span></div></div></code></pre></div><p>To upgrade to the latest Fluent Bit version, run these commands:</p><p>RPM:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token comment css-vtn706"># Remove command only required when downgrading to a previous version</span><span class="token plain css-vtn706"></span></div></div><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706"></span><span class="token comment css-vtn706"># sudo yum remove fluent-bit</span><span class="token plain css-vtn706"></span></div></div><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token plain css-vtn706"></span><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> yum </span><span class="token function css-vtn706">install</span><span class="token plain css-vtn706"> fluent-bit</span></div></div></code></pre></div><p>DEB:</p><div class="css-1aykwfa"><div class="css-jiwy7s"><div class="css-fvi6v7"></div><div class="css-k3mch4"></div><div class="css-1x0poyq"></div><div class="css-1fx02w8">bash</div><button class="dark-mode css-zx473y e132irl20"><svg viewBox="0 0 24 24" class="css-668d8b" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>Copy</button></div><pre class="css-6xav4z"><code><div class="css-8l2iag"><span class="css-jf4tal">$</span><div class="css-2lpx6i"><span class="token function css-vtn706">sudo</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">apt</span><span class="token plain css-vtn706"> </span><span class="token function css-vtn706">install</span><span class="token plain css-vtn706"> fluent-bit</span></div></div></code></pre></div></div></div></div><div class="css-1iqeurl"><button type="button" class="css-1opn34h"><h5 id="rollback-after-fluent-bit-2" class="css-1d1yxde"><span>Rollback to fluent-bit 1.x after infrastructure agent 1.42.0 on Linux</span><a href="#rollback-after-fluent-bit-2" class="anchor css-vk52vh"><svg viewBox="0 0 24 24" class="css-1rt4bl8" xmlns="http://www.w3.org/2000/svg"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></h5><svg viewBox="0 0 24 24" class="css-pbzsfr" xmlns="http://www.w3.org/2000/svg"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div style="height:0" class="css-d3v9zr"><div aria-hidden="true" class="css-1ofyns"><p>Please note that td-agent-bit is not available for the following distributions so rollbacks on them are not possible:</p><ul><li><p>CentOS 9 Stream (including Rocky Linux and AlmaLinux)</p></li><li><p>RedHat 9</p></li><li><p>Ubuntu 22.04.x</p></li><li><p>Open Suse (SLES) 15.4</p></li><li><p>Amazon Linux 2023</p><p>If you wish to revert to td-agent-bit, you can follow the steps outlined below:</p></li></ul><ol><li><p>Open the file <code>/etc/newrelic-infra.yml</code> using your preferred text editor.</p></li><li><p>Add the following line at the end of the file: <code>fluent_bit_exe_path: /opt/td-agent-bit/bin/td-agent-bit</code>.</p></li><li><p>Save the changes.</p></li><li><p>Restart the infrastructure agent by executing the following command: <code>sudo systemctl restart newrelic-infra</code>.</p><p>By completing these steps, the infrastructure agent will be configured to use td-agent-bit instead of fluent-bit.</p></li></ol></div></div></div></div><h2 id="what-next" style="position:relative">What's next? <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#what-next" aria-label="what next permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><p>Explore logging data across your platform with our <a href="/docs/logs/log-management/ui-data/use-logs-ui/">logs UI</a>.</p><ul><li>Get deeper visibility into both your application and your platform performance data by forwarding your logs with our <a href="/docs/logs/enable-log-management-new-relic/configure-logs-context/configure-logs-context-apm-agents/">logs in context</a> capabilities.</li><li>Set up <a href="/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-alert-conditions/">alerts</a>.</li><li><a href="/docs/query-your-data/explore-query-data/get-started/introduction-querying-new-relic-data/">Query your data</a> and <a href="/docs/query-your-data/explore-query-data/dashboards/introduction-dashboards/">create dashboards</a>.</li></ul><h2 id="uninstall" style="position:relative">Disable log forwarding <button type="button" name="copy header link" class="css-21sua1 e1daml4q1"><a href="#uninstall" aria-label="uninstall permalink" class="anchor after"><svg xmlns="http://www.w3.org/2000/svg" focusable="false" width="1rem" height="1rem" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg></a></button></h2><p>To disable log forwarding capabilities, go to your <code>logging.d</code> directory, and remove files with the <code>.yml</code> extension that were originally added during the <a href="#step-1-configure-the-infrastructure-agent">configuration</a> process.</p><ul><li>Linux: <code>/etc/newrelic-infra/logging.d/</code></li><li>Windows: <code>C:\Program Files\New Relic\newrelic-infra\logging.d\</code></li></ul></div> </article><style data-emotion="css ltetme">.css-ltetme{background:var(--primary-background-color);gap:0;top:calc(var(--global-header-height) + 3rem);}.css-ltetme.page-tools-transition-enter{-webkit-translate:calc(var(--sidebar-width) - 50px);-moz-translate:calc(var(--sidebar-width) - 50px);-ms-translate:calc(var(--sidebar-width) - 50px);translate:calc(var(--sidebar-width) - 50px);}.css-ltetme.page-tools-transition-enter-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-ltetme.page-tools-transition-enter-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}.css-ltetme.page-tools-transition-exit{-webkit-translate:calc(calc(var(--sidebar-width) - 50px) * -1);-moz-translate:calc(calc(var(--sidebar-width) - 50px) * -1);-ms-translate:calc(calc(var(--sidebar-width) - 50px) * -1);translate:calc(calc(var(--sidebar-width) - 50px) * -1);}.css-ltetme.page-tools-transition-exit-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-ltetme.page-tools-transition-exit-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}@media screen and (max-width: 1240px){.css-ltetme{display:none;}}</style><style data-emotion="css ybjz1f">.css-ybjz1f{position:-webkit-sticky;position:sticky;top:calc(var(--global-header-height) + var(--site-content-padding));-webkit-align-self:start;-ms-flex-item-align:start;align-self:start;grid-area:page-tools;max-height:calc( 100vh - (var(--global-header-height) + var(--site-content-padding) * 2) );overflow-y:auto;gap:1rem;background:var(--primary-background-color);gap:0;top:calc(var(--global-header-height) + 3rem);}.css-ybjz1f.page-tools-transition-enter{-webkit-translate:calc(var(--sidebar-width) - 50px);-moz-translate:calc(var(--sidebar-width) - 50px);-ms-translate:calc(var(--sidebar-width) - 50px);translate:calc(var(--sidebar-width) - 50px);}.css-ybjz1f.page-tools-transition-enter-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-ybjz1f.page-tools-transition-enter-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}.css-ybjz1f.page-tools-transition-exit{-webkit-translate:calc(calc(var(--sidebar-width) - 50px) * -1);-moz-translate:calc(calc(var(--sidebar-width) - 50px) * -1);-ms-translate:calc(calc(var(--sidebar-width) - 50px) * -1);translate:calc(calc(var(--sidebar-width) - 50px) * -1);}.css-ybjz1f.page-tools-transition-exit-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-ybjz1f.page-tools-transition-exit-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}@media screen and (max-width: 1240px){.css-ybjz1f{display:none;}}</style><style data-emotion="css vbecf5">.css-vbecf5{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:-webkit-sticky;position:sticky;top:calc(var(--global-header-height) + var(--site-content-padding));-webkit-align-self:start;-ms-flex-item-align:start;align-self:start;grid-area:page-tools;max-height:calc( 100vh - (var(--global-header-height) + var(--site-content-padding) * 2) );overflow-y:auto;gap:1rem;background:var(--primary-background-color);gap:0;top:calc(var(--global-header-height) + 3rem);}.css-vbecf5.page-tools-transition-enter{-webkit-translate:calc(var(--sidebar-width) - 50px);-moz-translate:calc(var(--sidebar-width) - 50px);-ms-translate:calc(var(--sidebar-width) - 50px);translate:calc(var(--sidebar-width) - 50px);}.css-vbecf5.page-tools-transition-enter-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-vbecf5.page-tools-transition-enter-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}.css-vbecf5.page-tools-transition-exit{-webkit-translate:calc(calc(var(--sidebar-width) - 50px) * -1);-moz-translate:calc(calc(var(--sidebar-width) - 50px) * -1);-ms-translate:calc(calc(var(--sidebar-width) - 50px) * -1);translate:calc(calc(var(--sidebar-width) - 50px) * -1);}.css-vbecf5.page-tools-transition-exit-active{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;-webkit-transition:300ms translate ease;transition:300ms translate ease;}.css-vbecf5.page-tools-transition-exit-done{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;}@media screen and (max-width: 1240px){.css-vbecf5{display:none;}}</style><aside data-swiftype-index="false" class="css-vbecf5"><style data-emotion="css 8z3xso">.css-8z3xso{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:150px;border:none;border-radius:0;margin-bottom:0;background:var(--system-text-primary-dark);border-bottom:1px solid var(--system-text-disabled-dark);}.dark-mode .css-8z3xso.css-8z3xso{background:var(--erno-black);border-bottom:1px solid var(--system-background-hover-dark);}.css-8z3xso h4{font-weight:500;}</style><style data-emotion="css eew8yv">.css-eew8yv{padding:1rem;border:1px solid var(--border-color);border-radius:4px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;min-height:150px;border:none;border-radius:0;margin-bottom:0;background:var(--system-text-primary-dark);border-bottom:1px solid var(--system-text-disabled-dark);}.dark-mode .css-eew8yv.css-eew8yv{background:var(--erno-black);border-bottom:1px solid var(--system-background-hover-dark);}.css-eew8yv h4{font-weight:500;}</style><section class="css-eew8yv"><style data-emotion="css 2kpuba">.css-2kpuba{margin-top:0!important;margin-bottom:0.5rem!important;font-size:1rem;}</style><h4 class="css-2kpuba">On this page</h4><style data-emotion="css 3siliq">.css-3siliq{margin-left:-1rem;margin-right:-1rem;overflow-y:auto;}</style><nav class="css-3siliq"><style data-emotion="css v5al3">.css-v5al3{list-style:none;padding:0;margin:0;}</style><ul class="css-v5al3"><style data-emotion="css xxxtfh">.css-xxxtfh{margin:5px 0 0;line-height:1.33rem;}</style><li class="css-xxxtfh"><style data-emotion="css bg51d6">.css-bg51d6{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:0.875rem;padding:0.5rem 1rem 0.5rem 1.25rem;color:var(--primary-text-color);-webkit-transition:background-color 0.2s ease-out,color 0.2s ease-out;transition:background-color 0.2s ease-out,color 0.2s ease-out;-webkit-text-decoration:none;text-decoration:none;position:relative;font-weight:400;}.css-bg51d6:hover{color:#0E74DF;}.css-bg51d6.active{background:#0E74DF;color:var(--system-background-app-light);font-weight:500;}</style><a href="#system" class="active css-bg51d6">System requirements</a></li><li class="css-xxxtfh"><a href="#infra" class="css-bg51d6">Automatically forward logs with guided install</a></li><li class="css-xxxtfh"><a href="#manual" class="css-bg51d6">Enable log forwarding on agent installed manually</a></li><li class="css-xxxtfh"><a href="#on-host" class="css-bg51d6">Enable logging for your on-host integrations</a></li><li class="css-xxxtfh"><a href="#tarball-install" class="css-bg51d6">Enable log forwarding on agent installed using Linux tarball</a></li><li class="css-xxxtfh"><a href="#troubleshoot" class="css-bg51d6">Troubleshooting</a></li><li class="css-xxxtfh"><a href="#what-next" class="css-bg51d6">What's next?</a></li><li class="css-xxxtfh"><a href="#uninstall" class="css-bg51d6">Disable log forwarding</a></li></ul></nav></section><style data-emotion="css fvou7c">.css-fvou7c{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border:none;border-radius:0;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-width:320px;margin:0;background:var(--system-text-primary-dark);gap:1rem;}.dark-mode .css-fvou7c.css-fvou7c{background:var(--erno-black);}.css-fvou7c p{color:var(--primary-text-color);margin:0;font-size:14px;font-weight:400;}.css-fvou7c input::-webkit-input-placeholder{color:var(--primary-text-color);}.css-fvou7c input::-moz-placeholder{color:var(--primary-text-color);}.css-fvou7c input:-ms-input-placeholder{color:var(--primary-text-color);}.css-fvou7c input::placeholder{color:var(--primary-text-color);}.css-fvou7c h5,.css-fvou7c h4{color:var(--primary-text-color);}</style><style data-emotion="css 1n6iwi7">.css-1n6iwi7{padding:1rem;border:1px solid var(--border-color);border-radius:4px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border:none;border-radius:0;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-width:320px;margin:0;background:var(--system-text-primary-dark);gap:1rem;}.dark-mode .css-1n6iwi7.css-1n6iwi7{background:var(--erno-black);}.css-1n6iwi7 p{color:var(--primary-text-color);margin:0;font-size:14px;font-weight:400;}.css-1n6iwi7 input::-webkit-input-placeholder{color:var(--primary-text-color);}.css-1n6iwi7 input::-moz-placeholder{color:var(--primary-text-color);}.css-1n6iwi7 input:-ms-input-placeholder{color:var(--primary-text-color);}.css-1n6iwi7 input::placeholder{color:var(--primary-text-color);}.css-1n6iwi7 h5,.css-1n6iwi7 h4{color:var(--primary-text-color);}</style><section class="css-1n6iwi7"><style data-emotion="css 19kzpzf">.css-19kzpzf{margin-bottom:0;text-align:center;}</style><p class="css-19kzpzf">Was this doc helpful?</p><style data-emotion="css 1tyiwo2">.css-1tyiwo2{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:space-around;-ms-flex-pack:space-around;-webkit-justify-content:space-around;justify-content:space-around;-webkit-align-items:flex-start;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;}.css-1tyiwo2 button{width:45%;font-size:0.875rem;font-weight:400;border:none;border-radius:3px;}@supports not (gap: 0.5rem){.css-1tyiwo2 a:first-of-type{margin-right:0.25rem;}}</style><div class="css-1tyiwo2"><style data-emotion="css 1sofcz3">.css-1sofcz3{height:3rem;margin-bottom:0.5rem;color:var(--primary-text-color);background:var(--system-text-secondary-dark);}.dark-mode .css-1sofcz3{background:var(--primary-hover-color);}</style><style data-emotion="css 13aoo89">.css-13aoo89{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--button-outline-color);border:1px solid var(--button-outline-color);background-color:transparent;height:3rem;margin-bottom:0.5rem;color:var(--primary-text-color);background:var(--system-text-secondary-dark);}.dark-mode .css-13aoo89{background:var(--primary-hover-color);}</style><button class="css-13aoo89 e132irl20"><style data-emotion="css 6axxab">.css-6axxab{margin-right:0.5rem;font-size:14px;}</style><div class="css-6axxab">😁</div>Yes</button><style data-emotion="css s7q2p6">.css-s7q2p6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--button-outline-color);border:1px solid var(--button-outline-color);background-color:transparent;font-size:0.75rem;height:3rem;margin-bottom:0.5rem;color:var(--primary-text-color);background:var(--system-text-secondary-dark);}.dark-mode .css-s7q2p6{background:var(--primary-hover-color);}</style><button class="css-s7q2p6 e132irl20"><div class="css-6axxab">🙁</div>No</button></div></section><style data-emotion="css ym2txp">.css-ym2txp{margin-top:1rem;background:var(--system-text-primary-dark);}.dark-mode .css-ym2txp.css-ym2txp{background:var(--erno-black);}.css-ym2txp a{color:var(--primary-system-text);font-size:1rem;border-radius:3px;border:none;}</style><style data-emotion="css clsnrz">.css-clsnrz{margin:0;padding:0;border:none;margin-top:1rem;background:var(--system-text-primary-dark);}.dark-mode .css-clsnrz.css-clsnrz{background:var(--erno-black);}.css-clsnrz a{color:var(--primary-system-text);font-size:1rem;border-radius:3px;border:none;}</style><style data-emotion="css 1itm6ta">.css-1itm6ta{padding:1rem;border:1px solid var(--border-color);border-radius:4px;margin:0;padding:0;border:none;margin-top:1rem;background:var(--system-text-primary-dark);}.dark-mode .css-1itm6ta.css-1itm6ta{background:var(--erno-black);}.css-1itm6ta a{color:var(--primary-system-text);font-size:1rem;border-radius:3px;border:none;}</style><section class="css-1itm6ta"><style data-emotion="css 1svhly8">.css-1svhly8{width:100%;height:3rem;}.css-1svhly8:hover{color:var(--secondary-text-color);}</style><style data-emotion="css mgwsn2">.css-mgwsn2{font-size:1rem;width:100%;height:3rem;}.css-mgwsn2:hover{color:var(--secondary-text-color);}</style><style data-emotion="css sbq861">.css-sbq861{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0.5rem 1rem;font-size:0.875rem;font-weight:400;border-radius:3px;font-family:var(--primary-font-family);line-height:1;cursor:pointer;border:1px solid transparent;transition-duration:0.15s;transition-property:color,background;transition-timing-function:ease-out;white-space:nowrap;-webkit-text-decoration:none;text-decoration:none;color:var(--button-outline-color);border:1px solid var(--button-outline-color);background-color:transparent;font-size:1rem;width:100%;height:3rem;}.css-sbq861:hover{color:var(--secondary-text-color);}</style><a variant="outline" class="css-sbq861 e132irl20" href="https://github.com/newrelic/docs-website/blob/develop/src/content/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent.mdx" target="_blank" rel="noopener noreferrer"><style data-emotion="css 1twd3r0">.css-1twd3r0{font-size:1rem;margin-right:0.5rem;}</style><style data-emotion="css b2au3j">.css-b2au3j{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;font-size:1rem;margin-right:0.5rem;}</style><style data-emotion="css tga41j">.css-tga41j{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;font-size:1rem;margin-right:0.5rem;}</style><svg viewBox="0 0 24 24" class="css-tga41j" xmlns="http://www.w3.org/2000/svg"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg>Edit this doc</a></section></aside></div></main><style data-emotion="css 17yn7q9">.css-17yn7q9{height:80px;}</style><style data-emotion="css 60p6r8">.css-60p6r8{grid-area:footer;height:80px;}</style><style data-emotion="css 1bkm287">.css-1bkm287{color:var(--system-text-primary-dark);background-color:var(--system-text-primary-light);z-index:1;grid-area:footer;height:80px;}.css-1bkm287 a{color:var(--system-text-primary-dark);border-color:var(--system-text-primary-dark);}</style><footer data-swiftype-index="false" class="css-1bkm287"><div><style data-emotion="css 1bls6ih">.css-1bls6ih{font-size:0.75rem;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;display:grid;grid-template-columns:auto auto;grid-template-areas:'copyright legal';padding:0.5rem var(--site-content-padding);max-width:var(--site-max-width);margin:0 auto;}@media screen and (max-width: 760px){.css-1bls6ih{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;text-align:center;grid-template-columns:auto;grid-gap:0.5rem;grid-template-areas:'legal' 'copyright';}}</style><div class="css-1bls6ih"><style data-emotion="css exb11e">.css-exb11e{grid-area:copyright;text-transform:uppercase;font-size:0.5rem;letter-spacing:0.1rem;}</style><div class="css-exb11e">Copyright © 2024 New Relic Inc.</div><style data-emotion="css isgvpc">.css-isgvpc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:flex-end;-webkit-box-align:flex-end;-ms-flex-align:flex-end;align-items:flex-end;}</style><div class="css-isgvpc"><style data-emotion="css 1ot83iv">.css-1ot83iv{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex-wrap:wrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;grid-area:legal;max-width:32rem;}.css-1ot83iv a{margin-left:0.75rem;white-space:nowrap;}</style><div class="css-1ot83iv"><a href="https://newrelic.com/about/careers" target="_blank" rel="noopener">Careers</a><a href="https://newrelic.com/termsandconditions/terms" target="_blank" rel="noopener">Terms of Service</a><a href="https://newrelic.com/termsandconditions/dmca" target="_blank" rel="noopener">DMCA Policy</a><a href="https://newrelic.com/termsandconditions/services-notices" target="_blank" rel="noopener">Privacy Notice</a><a href="https://newrelic.com/termsandconditions/cookie-policy" target="_blank" rel="noopener">Cookie Policy</a><a href="https://newrelic.com/termsandconditions/uk-slavery-act" target="_blank" rel="noopener">UK Slavery Act</a></div><style data-emotion="css 6pxg7x">.css-6pxg7x p{font-size:0.625rem;}</style><div class=" css-6pxg7x"><p>This site is protected by reCAPTCHA and the Google<!-- --> <a href="https://policies.google.com/privacy">Privacy Policy</a> and<!-- --> <a href="https://policies.google.com/terms">Terms of Service</a> apply.</p></div></div></div></div></footer></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><div id="portal"></div><script type="text/javascript">_linkedin_partner_id = "7273"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id);</script><script type="text/javascript">(function (l) { if (!l) { window.lintrk = function (a, b) { window.lintrk.q.push([a, b]); }; window.lintrk.q = []; } var s = document.getElementsByTagName('script')[0]; var b = document.createElement('script'); b.type = 'text/javascript'; b.async = true; b.src = 'https://snap.licdn.com/li.lms-analytics/insight.min.js'; s.parentNode.insertBefore(b, s); })(window.lintrk)</script><noscript><img height="1" width="1" style={{ display: 'none' }} alt="" src="https://px.ads.linkedin.com/collect/?pid=7273&fmt=gif" /></noscript><script type="text/javascript">(function() { var didInit = false; function initMunchkin() { if(didInit === false) { didInit = true; Munchkin.init('341-XKP-310'); } } var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//munchkin.marketo.net/munchkin.js'; s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin(); } }; s.onload = initMunchkin; document.getElementsByTagName('head')[0].appendChild(s); })();</script><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/";window.___webpackCompilationHash="1fb78ce579b650c7b9a4";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-5300cc03c6ae4711270f.js"],"app":["/app-8d4352653534549fc039.js"],"tsub-middleware":["/tsub-middleware-bda23245e66d5b66af16.js"],"ajs-destination":["/ajs-destination-c2b936bc82d80cf94db0.js"],"legacyVideos":["/legacyVideos-e24272fda061c238b844.js"],"schemaFilter":["/schemaFilter-8fa556bc864b3f95a988.js"],"remoteMiddleware":["/remoteMiddleware-479fd3239a2a1ffa8f10.js"],"auto-track":["/auto-track-432c978f8b3c420c8ad4.js"],"middleware":[],"queryString":["/queryString-3945abf3d1e877fc20d6.js"],"component---node-modules-newrelic-gatsby-theme-newrelic-src-pages-404-js":["/component---node-modules-newrelic-gatsby-theme-newrelic-src-pages-404-js-4cc74266e9654d448236.js"],"component---src-pages-attribute-dictionary-js":["/component---src-pages-attribute-dictionary-js-1beaa6cdfd641f2dd8cb.js"],"component---src-pages-eol-js":["/component---src-pages-eol-js-40aa4adef240c2f64213.js"],"component---src-pages-index-js":["/component---src-pages-index-js-b86376f1987af3ab95ef.js"],"component---src-pages-install-install-config-agent-name-js":["/component---src-pages-install-install-config-agent-name-js-14d9617eec4f45c6c918.js"],"component---src-pages-search-results-js":["/component---src-pages-search-results-js-c053f9be339241209a1c.js"],"component---src-pages-whats-new-js":["/component---src-pages-whats-new-js-4e557a9d4fbe2c341305.js"],"component---src-templates-doc-page-js":["/component---src-templates-doc-page-js-34c8f9c7e7701b4230e6.js"],"component---src-templates-eol-announcement-js":["/component---src-templates-eol-announcement-js-420093ebb0d98fbc52cc.js"],"component---src-templates-release-note-js":["/component---src-templates-release-note-js-a4c7a39d344d4ad374e6.js"],"component---src-templates-release-note-landing-page-js":["/component---src-templates-release-note-landing-page-js-b6291442a0f41e23ffca.js"],"component---src-templates-whats-new-js":["/component---src-templates-whats-new-js-9f8987f2d0127e312725.js"]};/*]]>*/</script><script src="/polyfill-5300cc03c6ae4711270f.js" nomodule=""></script><script src="/app-8d4352653534549fc039.js" async=""></script><script src="/ce450489-a548078c5fc415fa6875.js" async=""></script><script src="/94b0b573-b589958faca19a5842a8.js" async=""></script><script src="/29107295-65bb492ed533560b0ecf.js" async=""></script><script src="/framework-c5aaa494328a0f0f8a7b.js" async=""></script><script src="/webpack-runtime-ac1bf67535f9a3c4ad53.js" async=""></script></body></html>