로그를 뉴렐릭으로 전달하면 모든 로깅 데이터를 한 위치에서 사용할 수 있으며 애플리케이션과 플랫폼 성능 데이터 모두에 대한 더 깊은 가시성을 확보할 수 있습니다. 로그를 한 곳에서 수집, 처리, 탐색, 쿼리하고 로그 데이터에서 발견된 오류 또는 이상에 대해 알림을 제공할 수 있습니다.
호스트의 UI에서, 선택된 기간 동안의 이벤트의 로그가 문맥으로 표시됩니다. 강조 표시된 속성에 대한 데이터를 세부적으로 검토할 수 있습니다.
인프라 에이전트가 로그 전달 기능을 활성화하므로, 로그를 전달하는 방법은 인프라 에이전트를 설치한 방법에 따라 다를 수 있습니다. 다음을 통해 인프라 에이전트를 설치할 수 있습니다.
안내 설치(대부분의 사용자에게 권장됨)
수동 설치
Linux tarball
중요
Linux 버전의 인프라 에이전트, 특히 버전 1.42.0은 td-agent-bit 패키지 사용에서 fluent-bit 패키지로 전환되었습니다. 주요 버전 2.x 업데이트 후 fluent-bit가 더 이상 td-agent-bit 플레이버에 배포되지 않는다는 사실 때문에 이러한 변경이 필요했습니다.
원활한 작동을 보장하고, fluent-bit 패키지에 문제가 있는 경우 td-agent-bit로 되돌릴 수 있는 옵션을 제공하기 위해 인프라 에이전트는 이제 두 패키지(td-agent-bit 및 fluent-bit)를 모두 설치합니다. 기본적으로 에이전트는 fluent-bit를 사용하도록 설정됩니다.
구성 파일은 뉴렐릭에 표시하려는 로그 소스를 전달하도록 시스템에 지시합니다. 원하는 만큼 구성 파일을 추가할 수 있습니다. 인프라 에이전트는 .yml 파일을 사용하여 로깅을 구성합니다. UI에서 통합 및 에이전트를 통해 인프라 에이전트를 설치하면 logging.yml 파일이 자동으로 생성됩니다.
logging.yml 구성 파일을 만들고 필요한 매개변수를 추가합니다. logging.d 디렉터리에는 참조 또는 시작점으로 사용할 수 있는 다양한 .yml.example 파일이 있습니다. Windows 예제는 Github 저장소를 참조하십시오.
# Log forwarder configuration file example
# Source: file
# Available customization parameters: attributes, max_line_kb, pattern
logs:
# Basic tailing of a single file
-name: basic-file
file: /var/log/logFile.log
# File with spaces in its path. No need to use quotes.
-name: file-with-spaces-in-path
file: /var/log/folder with spaces/logFile.log
# Specify a list of custom attributes, as key-value pairs, to be included
# in each log record
-name: file-with-attributes
file: /var/log/logFile.log
attributes:
application: tomcat
department: sales
maintainer: example@mailprovider.com
# Use wildcards to refer to multiple files having a common extension or
# prefix. Newly generated files will be automatically detected every 60
# seconds.
#
# WARNING: avoid using wildcards that include the file extension, since
# it'll cause logs to be forwarded repeatedly if log rotation is enabled.
-name: log-files-in-folder
file: /var/log/logF*.log
# Lines longer than 128 KB will be automatically skipped. Use 'max_line_kb'
# to increase this limit.
-name: log-file-with-long-lines
file: /var/log/logFile.log
max_line_kb:256
# Use 'pattern' to filter records using a regular expression
-name: only-records-with-warn-and-error
file: /var/log/logFile.log
pattern: WARN|ERROR
에이전트는 인프라 모니터링 서비스를 다시 시작할 필요 없이 새 구성 파일을 자동으로 처리합니다. 이에 대한 유일한 예외는 커스텀 Fluent Bit 구성을 하는 경우입니다.
2단계. 로그 전달 파라미터 설정
로그 전달 .yml 구성 파일에서 name 및 로그 소스 파라미터를 설정해야 합니다. 시작하려면 뉴렐릭에 전달할 로그의 name을 정의합니다.
로그 소스에 무엇을 사용하는지는 로그 소스 위치에 따라 다릅니다. 로그 소스에 사용 가능한 옵션은 다음과 같습니다.
로그 파일 또는 파일의 경로입니다. 에이전트는 tail -f 쉘과 유사한 방식으로 로그 파일의 변경 사항을 추적합니다.
Example:
logs:
-name: example-log
file: /var/log/example.log # Path to a single log file
-name: example-log-two
file: /var/log/example-two.log # Path to another single log file
file 매개변수는 이름 및 확장자에 적용된 와일드카드를 사용하여 특정 로그 파일 또는 여러 파일을 가리킬 수 있습니다. 예: /logs/*.log. 파일 경로의 디렉터리 대신 와일드카드를 사용할 수 있습니다. 이 와일드카드는 다른 디렉터리에 있는 파일을 테일링하는 데 사용할 수 있습니다.
Example:
logs:
-name: docker-logs
file: /var/lib/docker/containers/*/*.log# Path to multiple folders and files
중요
와일드카드를 사용하면 파일 설명자의 수가 크게 증가할 수 있으며 inotify는 Fluent Bit 프로세스가 열린 상태를 유지하여 호스트의 파일 설명자 제한에 도달하면 로그 수집을 방해할 수 있습니다. 많은 수의 파일을 처리하려면 운영 체제에서 허용하는 파일 설명자와 inotify 감시자의 최대 수를 늘려야 할 수 있습니다. 로그 파일을 늘리는 방법에 대한 자세한 내용은 많은 양의 로그 파일을 추적할 때 발생하는 오류를 참조하십시오.
systemd 매개변수를 사용하여 Linux 환경에서 journald 데몬이 수집한 로그 메시지를 전달합니다. 이 입력 유형을 사용하려면 에이전트가 루트 모드에서 실행되어야 합니다.
Example:
logs:
-name: systemd-example
systemd: cupsd
Syslog 데이터 소스.
Parameters:
uri: Syslog 소켓. 형식은 프로토콜에 따라 다릅니다.
TCP/UDP 네트워크 소켓: [tcp/udp]://LISTEN_ADDRESS:PORT
Unix 도메인 소켓: unix_[tcp/udp]:// + /socket/path
parser: Syslog 파서. 기본값은 rfc3164입니다. 메시지에 소수 자릿수 초가 포함된 경우 rfc5424를 사용합니다. 참고: rfc3164는 현재 SuSE에서 작동하지 않습니다.
unix_permissions: 도메인 소켓의 기본값은 0644입니다. 이는 루트로 실행되는 프로세스로 항목을 제한합니다. 0666을 사용하여 루트가 아닌 프로세스를 수신할 수 있지만, 위험 부담이 따릅니다.
권한 있는 모드에서 에이전트를 실행할 때 다른 프로세스가 소켓에 로그를 쓸 수 있도록 포트와 소켓을 사용할 수 있거나 0666 파일 권한이 있거나 nri-agent에서 소유해야 합니다.
logs:
# TCP network socket
-name: syslog-tcp-test
syslog:
uri: tcp://0.0.0.0:5140# Use the tcp://LISTEN_ADDRESS:PORT format
parser: rfc5424 # Default syslog parser is rfc3164
# UDP network socket
-name: syslog-udp-test
syslog:
uri: udp://0.0.0.0:6140# Use the udp://LISTEN_ADDRESS:PORT format
max_line_kb:35
# Unix TCP domain socket
-name: syslog-unix-tcp-test
syslog:
uri: unix_tcp:///var/unix-tcp-socket-test
unix_permissions:0666# Default is 0644. Change at your own risk
# Unix UDP domain socket
-name: syslog-unix-udp-test
syslog:
uri: unix_udp:///var/unix-udp-socket-test
parser: rfc5424
TCP 연결을 통해 검색된 로그입니다.
Parameters:
uri: 유입되는 데이터를 수신하기 위한 TCP/IP 소켓입니다. URI 형식은 tcp://LISTEN_ADDRESS:PORT입니다.
format: 데이터 형식. json 또는 none일 수 있습니다.
separator:format: none을 사용하는 경우 레코드 분할을 위한 구분자 문자열을 정의할 수 있습니다. (기본값: \n )
logs:
-name: tcp-simple-test
tcp:
uri: tcp://0.0.0.0:1234# Use the tcp://LISTEN_ADDRESS:PORT format
format: none # Raw text - this is default for 'tcp'
separator: \t # String for separating raw text entries
max_line_kb:32
-name: tcp-json-test
tcp:
uri: tcp://0.0.0.0:2345# Use the tcp://LISTEN_ADDRESS:PORT format
format: json
중요
인프라 에이전트 v.1.24.3부터 사용 가능합니다. Windows Server 2019 이상과만 호환됩니다. 이전 버전에는 winlog를 사용하십시오.
collect-eventids: 수집하여 뉴렐릭으로 전달할 Windows 이벤트 ID 목록입니다. 이벤트 ID 범위가 지원됩니다.
exclude-eventids: 수집에서 제외할 Windows 이벤트 ID 목록입니다. 이벤트 ID 범위가 지원됩니다.
use-ansi: winlog 메시지에 ANSI 인코딩을 사용합니다. Windows Server 2016 이하 버전에서는 기본적으로 ANSI 인코딩을 사용하고, 최신 버전에서는 UTF-8을 사용합니다. 이러한 기본값이 사용 사례에 적합하지 않은 경우 이 구성 파라미터를 사용하여 동작을 재정의할 수 있습니다. 그러면 ANSI 문자 코드 로그가 빈 문자열로 나타나는 문제가 해결됩니다. 이는 ANSI 문자 코드의 멀티바이트 문자 코드 로그를 UTF-8로 변환하는 기능이 아닙니다.
모든 이벤트는 기본적으로 지정된 채널에서 수집됩니다. 뉴렐릭 계정에 원치 않는 로그가 전송되지 않도록 collect-eventids 및 exclude-eventids 섹션을 구성합니다.
이벤트 ID 또는 범위를 collect-eventids 또는 exclude-eventids에 추가하여 특정 이벤트를 전달하거나 삭제합니다. 동일한 이벤트 ID가 두 섹션에 모두 있는 경우 exclude-eventids가 collect-eventids 보다 우선합니다.
Example:
logs:
# Example winevtlog security log ingestion with eventId filters.
-name: windows-security
winevtlog:
channel: Security
collect-eventids:
-4624
-4265
- 4700-4800
exclude-eventids:
-4735
attributes:
logtype: windows_security
# Example entries for the application and system channels
-name: windows-application
winevtlog:
channel: Application
attributes:
logtype: windows_application
# Example entries for the application use-ansi
-name: windows-application
winevtlog:
channel: Application
attributes:
logtype: windows_application
use-ansi:true
-name: windows-system
winevtlog:
channel: System
attributes:
logtype: windows_system
# Example/Optional entry for Windows Defender Logs
Winlog 클래식 이벤트 로그만 수집할 수 있습니다. 다른 로그를 캡처하려고 하면 애플리케이션 로그가 자동으로 수집됩니다.
Windows 로그 채널에서 이벤트를 수집합니다.
Parameters:
channel: 로그를 수집할 채널 이름입니다. 커스텀 채널에서는 작동하지 않습니다.
collect-eventids: 수집하여 뉴렐릭으로 전달할 Windows 이벤트 ID 목록입니다. 이벤트 ID 범위가 지원됩니다.
exclude-eventids: 수집에서 제외할 Windows 이벤트 ID 목록입니다. 이벤트 ID 범위가 지원됩니다.
use-ansi: winlog 메시지에 ANSI 인코딩을 사용합니다. Windows Server 2016 이하 버전에서는 기본적으로 ANSI 인코딩을 사용하고, 최신 버전에서는 UTF-8을 사용합니다. 이러한 기본값이 사용 사례에 적합하지 않은 경우 이 구성 파라미터를 사용하여 동작을 재정의할 수 있습니다. 그러면 ANSI 문자 코드 로그가 빈 문자열로 나타나는 문제가 해결됩니다. 이는 ANSI 문자 코드의 멀티바이트 문자 코드 로그를 UTF-8로 변환하는 기능이 아닙니다.
모든 이벤트는 기본적으로 지정된 채널에서 수집됩니다. 뉴렐릭 계정에 원치 않는 로그가 전송되지 않도록 collect-eventids 및 exclude-eventids 섹션을 구성합니다.
이벤트 ID 또는 범위를 collect-eventids 또는 exclude-eventids에 추가하여 특정 이벤트를 전달하거나 삭제합니다. 동일한 이벤트 ID가 두 섹션에 모두 있는 경우 exclude-eventids가 collect-eventids 보다 우선합니다.
Example:
logs:
# Example winlog security log ingestion with eventId filters.
-name: windows-security
winlog:
channel: Security
collect-eventids:
-4624
-4265
- 4700-4800
exclude-eventids:
-4735
attributes:
logtype: windows_security
# Example entries for the application and system channels
-name: windows-application
winlog:
channel: Application
attributes:
logtype: windows_application
-name: windows-system
winlog:
channel: System
attributes:
logtype: windows_system
# Example entries for the application use-ansi
-name: windows-application
winlog:
channel: Application
attributes:
logtype: windows_application
use-ansi:true
# Example/Optional entry for Windows Defender Logs
외부 Fluent Bit 구성 및 파서 파일. 정의된 경우 인프라 에이전트에서 생성한 기존 구성 및 파서 파일과 병합됩니다.
인프라 에이전트는 logging.d 디렉터리에 있는 구성 파일을 처리하고 적절한 [INPUT], [FILTER] 및 [OUTPUT] 섹션이 포함된 런타임 Fluent Bit 구성 파일을 생성합니다. 선택적으로 fluentbit 옵션을 통해 외부 Fluent Bit 구성 파일을 제공한 경우 @INCLUDE도 선언합니다.
런타임 파일은 모든 기본 Fluent Bit 구성 값을 그대로 두고[SERVICE] 섹션을 정의하지 않습니다. 외부 Fluent Bit 구성 파일에 고유한 [SERVICE] 섹션을 정의함으로써 Fluent Bit의 기본 설정을 무시하고 fluentbit 옵션을 통해 이를 포함시킬 수 있습니다.
Parameters:
config_file: 기존 Fluent Bit 구성 파일의 경로입니다. 소스가 겹치면 뉴렐릭의 로그 UI에 메시지가 중복됩니다.
parsers_file: 기존 Fluent Bit 파서 파일의 경로입니다. 다음 파서 이름이 예약되어 있습니다: rfc3164, rfc3164-local 및 rfc5424.
중요
인프라 에이전트는 이 문서에 설명된 대로 logging.d/ 디렉터리의 YAML 파일에 간단한 로그 전달 구성을 정의하여 가장 일반적인 사용 사례에 대한 로그 전달을 허용합니다. 이러한 파일은 내부적으로 올바른 형식과 정상적인 구성 기본값을 사용하여 Fluent Bit 구성 파일로 변환됩니다. 뉴렐릭은 생성된 구성 파일이 정확하고 작동하는지 확인하기 때문에 이러한 구성 옵션에 대한 공식 지원을 제공합니다.
그럼에도 불구하고 지원되는 구성 옵션에서 다루지 않는 사용 사례의 경우 fluentbit, config_file 및 parsers_file 옵션을 사용하여 외부에서 생성된 Fluent Bit 구성 및 파서 파일을 사용할 수 있는 가능성을 제공합니다.
제공된 구성이 완전히 임의적이며 에이전트에 의해 생성/검증되지 않는다는 점을 감안할 때, 이 경우 전달된 로그의 올바른 작동을 보장할 수 없습니다. 따라서 뉴렐릭은 이러한 옵션을 통해 지정된 외부 구성에 대한 공식 지원을 제공하지 않습니다.
샘플 구성 파일
다음은 YAML 형식의 logging.d 구성 파일의 예입니다. 더 많은 구성 예는 인프라 에이전트 저장소를 참조하십시오.
# Remember to only use spaces for indentation
logs:
# Example of 'file' source
-name: file-with-attributes
file: /var/log/test.log # Path to a single file or pattern
attributes:# You can use custom attributes to enrich your data
logtype: nginx
team: The A Team
pattern: Error # Regular expression to filter log entries
# Example of 'systemd' source (Linux only)
-name: systemd-example
systemd: cupsd
# Examples of 'syslog' source, one per protocol
# TCP network socket
-name: syslog-tcp-test
syslog:
uri: tcp://0.0.0.0:5140# Use the tcp://LISTEN_ADDRESS:PORT format
parser: rfc5424 # Default syslog parser is rfc3164
# UDP network socket
-name: syslog-udp-test
syslog:
uri: udp://0.0.0.0:6140# Use the udp://LISTEN_ADDRESS:PORT format
max_line_kb:35
# Paths for Unix sockets are defined by combining protocol and path:
# unix_udp:// + /path/socket - for example, unix_udp:///tmp/socket
# Unix TCP domain socket
-name: syslog-unix-tcp-test
syslog:
uri: unix_tcp:///var/unix-tcp-socket-test
unix_permissions:0666# Default is 0644. Change at your own risk
# Unix UDP domain socket
-name: syslog-unix-udp-test
syslog:
uri: unix_udp:///var/unix-udp-socket-test
parser: rfc5424
# Examples of 'tcp' source for formats 'none' and 'json'
-name: tcp-simple-test
tcp:
uri: tcp://0.0.0.0:1234# Use the tcp://LISTEN_ADDRESS:PORT format
format: none # Raw text - this is default for 'tcp'
separator: \t # String for separating raw text entries
attributes:# You can add custom attributes to any source of logs
tcpFormat: none
someOtherAttribute: associatedValue
max_line_kb:32
-name: tcp-json-test
tcp:
uri: tcp://0.0.0.0:2345# Use the tcp://LISTEN_ADDRESS:PORT format
format: json
attributes:
tcpFormat: json
yetAnotherAttribute:12345
# Example of Fluent Bit configuration import
-name: fluentbit-import
fluentbit:
config_file: /path/to/fluentbit.config
parsers_file: /path/to/fluentbit/parsers.conf
4단계. 로그 데이터 보기
모든 것이 올바르게 구성되고 데이터가 수집되는 경우 다음 위치에서 로그 및 관련 텔레메트리 데이터를 확인해야 합니다.
인프라 에이전트를 설치하면 가장 널리 사용되는 온-호스트 통합에 대한 자동 로그 구문 분석 및 전달을 한 단계로 활성화할 수 있습니다. 이 기능을 활성화하려면 on-host-log.yml.example 파일의 이름을 on-host-log.yml로 바꿉니다. 완료되면 통합 로그가 자동으로 구문 분석되어 뉴렐릭으로 전송됩니다.
로그 전달 기능을 사용하려면 에이전트에 데이터 소스를 읽을 수 있는 권한이 있어야 합니다. 인프라 에이전트를 특권 또는 비특권 모드로 실행할 때 전달하려는 로그 파일(및 해당 경로의 모든 중간 디렉터리)을 nri-agent를 실행하는 사용자가 읽을 수 있는지 확인합니다.
Example: Check file access under Linux
nri-agent 사용자가 /var/log/restrictedLogs/logFile.log 파일을 모니터링할 수 있는지 확인해 봅니다. Linux에서는 namei 명령을 사용하여 빠르게 확인할 수 있습니다.
인프라 에이전트 구성 지침 에 설명된 대로 proxy 매개변수는 HTTP 또는 HTTPS를 사용해야 하며 https://user:password@hostname:port 형식이어야 합니다. 에이전트는 HTTP 또는 HTTPS 없이 매개변수를 구문 분석할 수 있지만 로그 전달자는 불가능합니다.에이전트 상세 로그에 다음과 같은 오류가 표시됩니다.
[ERROR] building HTTP transport: parse \"hostname:port\":
first path segment in URL cannot contain colon
이 문제를 해결하려면 newrelic-infra.yml 파일을 확인하고 proxy 매개변수가 이 양식을 준수하는지 확인합니다.
인증서를 지정하기 위해 caBundleFile 또는 caBundleDir를 사용하는 경우 각 OS에 대해 아래 규칙을 따르는 것이 좋습니다.
Linux
HTTP 프록시의 경우 인증서를 설정할 필요가 없습니다. 플러그인은 시스템 인증서를 로드하고 뉴렐릭은 로그를 로깅 엔드포인트로 보냅니다. 그러나 caBundleFile 또는 caBundleDir 매개변수를 사용하여 프록시 자체 서명 인증서(PEM 파일)를 지정할 수 있습니다.
Windows
HTTP 프록시의 경우 인증서를 설정할 필요가 없습니다. 플러그인은 시스템 인증서를 로드합니다.
HTTPS의 경우 다음 방법 중 하나로 구성할 수 있습니다.
(권장) 프록시 인증서를 시스템 풀로 가져옵니다. MMC 툴을 사용하여 프록시 자체 서명 인증서(PEM 파일)를 가져옵니다. 이 링크를 참조하고, 2단계(Step 2)에서는 Trusted Root Certification Authorities 대신 Intermediate Certification Authorities에서 가져옵니다.
caBundleFile 및 caBundleDir 매개변수 사용하는 Windows에서는 시스템 인증서 풀의 인증서와 caBundleFilecaBundleDir 매개변수로 지정된 인증서를 모두 로드할 수 없습니다. 따라서 caBundleFile 또는 caBundleDir 사용하는 경우 다음 인증서가 동일한 PEM 파일( caBundleFile 사용 시) 또는 동일한 디렉터리( caBundleDir 사용 시)에 있는지 확인해야 합니다.
이 구성은 에이전트를 문제 해결 모드로 설정하지만 로그 전달자(Fluent Bit 기반)는 non-verbose 모드에서 계속됩니다.
때로는 로그 전달자 자체에 문제가 있을 수 있습니다. 예를 들어, Windows 로그 이벤트를 전달하거나 특정 로그 파일에 액세스할 때 특정 채널에 액세스하는 데 문제가 있을 수 있습니다. 이러한 상황에서는 로그 전달자에 대해 상세 정보 표시(verbose) 모드를 활성화할 수도 있습니다.
중요
트레이스 로깅은 많은 데이터를 매우 빠르게 생성합니다. 디스크 공간 소비 및 데이터 인제스트를 줄이려면, 로그 생성이 완료되었을 때 level: info(또는 그 이하)로 설정해야 합니다.
newrelic-infra.yml 파일을 수정합니다.
다음 구성 스니펫을 추가함으로써 Fluent Bit verbose 로그를 활성화합니다.
log:
level: trace
forward:true# Enables sending logs to New Relic
format: json # Recommended: Enable agent logging in JSON format
stdout:false# On Windows and systems that don't use `systemd` or where `journald` is inaccessible
include_filters:
traces:
- supervisor # Required to see verbose logs from Fluent Bit
The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource
운영 체제는 할당 가능한 파일 설명자의 최대 양(일반적으로 기본적으로 1024)과 할당 가능한 inotify 감시의 최대 양(일반적으로 기본적으로 8192)을 정의합니다. 이러한 제한을 초과하려는 모든 프로세스는 실패하고 위의 오류 중 하나를 가져옵니다.
로그를 전달하는 데 사용하는 기본 기술인 Fluent Bit는 파일 디스크립터를 열고 전달되도록 구성한 각 파일에 대해 inotify 감시를 설정합니다. 이외에도, 이 섹션을 작성하는 시점에서 Fluent Bit는 정상 작동을 위해 32개의 추가 파일 디스크립터 세트를 사용하고 종료될 때 또 다른 추가 파일 디스크립터를 사용합니다. 따라서 많은 양의 파일을 캡처하려면 파일 디스크립터와 inotify 감시 제한이 모두 테일링하려는 로그 파일의 양보다 약간 더 큰지 확인해야 합니다.
다음 지침은 10,000개의 로그 파일을 테일링하려는 경우 이러한 제한을 늘리는 방법을 요약합니다. 또한 인프라 에이전트가 root실행 모드로 설치되어 있다고 가정하므로 root 사용자를 사용하여 실행해야 합니다.
프로세스당 파일 디스크립터의 양에 대한 현재 하드 한도를 확인합니다. 일반적으로 이 한도는 상당히 높아야 하며 수정할 필요가 없습니다.
bash
$
ulimit-Hn
/etc/security/limits.conf에 다음 줄을 추가합니다. Fluent Bit가 작동하는 데 필요할 수 있는 추가 파일 설명자를 할당할 수 있도록 여기에서 10000 대신 10100 한도를 지정했습니다.
bash
$
root soft nofile 10100# replace root by nri-agent for non-root (privileged and unprivileged) installations
다시 시작할 때 이전 제한이 적용되도록 /etc/pam.d/common-session에 다음 줄을 추가합니다.
bash
$
session required pam_limits.so
사용자당 허용되는 inotify 감시자의 양을 늘리려면 다음 줄을 /etc/sysctl.conf에 추가합니다. root 사용자가 여전히 8192 사용 가능한 inotify 감시자(기본값)를 가질 수 있도록 여기에 10000 대신 18192 한도를 지정했습니다.
bash
$
fs.inotify.max_user_watches=18192
시스템을 다시 시작합니다.
다음을 실행하여 새 한도가 적용되었는지 확인합니다.
bash
$
ulimit-Sn# Should return 10100
$
cat /proc/sys/fs/inotify/max_user_watches # Should return 18192
버전 1.19.0 (또는 SLES 12.5의 경우 버전 1.20.3 ) 이전에는 Linux 인프라 에이전트가 Fluent Bit 바이너리와 함께 번들로 제공되었습니다. 이 버전부터 Fluent Bit는 이제 별도의 recommended 패키지 종속성으로 포함됩니다.
즉, 에이전트와 별도로 Fluent Bit를 설치, 업데이트 또는 다운그레이드할 수 있습니다. 사용자의 편의를 위해 인프라가 있는 동일한 리포지토리에 여러 Fluent Bit 패키지가 포함되어 있으므로 Fluent Bit를 업그레이드하기 위해 추가 저장소를 설치할 필요가 없습니다.
에이전트는 사용 가능한 최신 버전을 사용하여 처음 설치할 때 Fluent Bit를 자동으로 설치합니다. 처음 설치한 후에는 일반적으로 Linux 패키지를 사용하는 것처럼 Fluent Bit를 업그레이드할 수 있습니다.
다음을 실행하여 사용 가능한 Fluent Bit 버전을 나열할 수 있습니다.
RPM:
bash
$
sudo yum check-update
$
yum list fluent-bit --showduplicates
DEB:
bash
$
sudoapt update
$
apt-cache showpkg fluent-bit
최신 Fluent Bit 버전으로 업그레이드하려면 다음 명령을 실행합니다.
RPM:
bash
$
# Remove command only required when downgrading to a previous version
$
# sudo yum remove fluent-bit
$
sudo yum install fluent-bit
DEB:
bash
$
sudoaptinstall fluent-bit
아래 배포판들의 경우 td-agent-bit를 사용할 수 없어 롤백이 불가능합니다.
CentOS 9 스트림 (Rocky Linux 및 AlmaLinux 포함)
RedHat 9
Ubuntu 22.04.x
Open Suse (SLES) 15.4
Amazon Linux 2023
td-agent-bit로 되돌리려면 아래 설명된 단계를 따르십시오.
원하는 텍스트 편집기를 사용하여 /etc/newrelic-infra.yml 파일을 엽니다.
파일 끝에 fluent_bit_exe_path: /opt/td-agent-bit/bin/td-agent-bit줄을 추가합니다.
변경 사항을 저장합니다.
sudo systemctl restart newrelic-infra 명령을 실행하여 인프라 에이전트를 다시 시작합니다.
이 단계를 완료하면 인프라 에이전트가 fluent-bit 대신 td-agent-bit를 사용하도록 구성됩니다.