Linux 로깅 에이전트 배포하기
로깅 에이전트 배포하여 RHEL8, RHEL9, Debian, Ubuntu 등의 Linux 환경에서 인프라 및 애플리케이션 로그를 수집하고 IBM Cloud Logs 인스턴스로 라우팅할 수 있습니다. 지원되는 Linux 환경에 대한 자세한 내용은 오케스트레이션이 시작되지 않은 환경의 경우로깅 에이전트 참조하세요.
이 지침은 Red Hat Linux 시스템용이지만 다른 Linux RPM 기반 서버에도 사용할 수 있습니다.
지원되는 Linux 환경에 상담원을 배포하려면 다음 단계를 완료하세요.
상담원의 인증 방법 정의하기
상담원의 ID 유형과 인증 방법을 선택합니다. 그런 다음 신뢰할 수 있는 프로필 또는 API 키를 생성합니다. IBM Cloud Logs로 로그를 전송하는 데 필요한 역할은 Sender 입니다.
상담원이 IBM® Cloud Logs 서비스를 인증하는 데 사용하는 ID로 서비스 ID 또는 신뢰할 수 있는 프로필을 사용할 수 있습니다. 자세한 내용은 수집을 위한 IAM 권한 부여하기를 참조하세요.
다음 옵션 중 하나를 선택하십시오.
옵션 1: 신뢰할 수 있는 프로필을 사용한 인증
신뢰할 수 있는 프로파일을 작성하십시오. 자세한 내용은 수집을 위한 신뢰할 수 있는 프로필 생성을 참조하세요.
옵션 2: 서비스 ID API 키를 사용한 인증
서비스 ID 인증을 위한 API 키를 생성합니다. 자세한 내용은 수집을 위한 API 키 생성하기 를 참조하세요.
필요한 RPM 또는 DEB 패키지 다운로드
다음 단계를 완료하십시오.
-
필요한 RPM 또는 DEB 패키지를 다운로드합니다.
현재 로깅 에이전트 버전에 대한 자세한 내용은 에이전트 릴리스 노트를 참조하세요.
-
다음 명령을 실행하여 체크섬의 유효성을 검사합니다:
sha256sum -c <sha256_filename>여기서
<sha256_filename>은 다운로드*.sha256파일의 파일명입니다. -
최신 버전의 에이전트를 설치하는 경우
post-config.sh파일은 RPM 또는 DEB 패키지의 일부이며/opt/fluent-bit/bin/post-config.sh에서 찾을 수 있습니다. 1.6.2 이전 버전을 사용 중인 경우 이 단계를 통해post-config.sh파일을 다운로드해야 합니다.이 단계는 로깅 에이전트 1.6.1 이전 버전을 사용하는 경우에만 필요합니다. 로깅 에이전트 1.6.2 또는 후속 릴리스에는 적용되지 않습니다.
wget https://logs-router-agent-config.s3.us.cloud-object-storage.appdomain.cloud/post-config.sh chmod +x post-config.sh
로깅 에이전트 구성 설정 및 배포
다음 단계를 완료하십시오.
-
Linux 환경에 로그인합니다.
-
에이전트를 설치하십시오.
-
RHEL 실행의 경우:
rpm -ivh <rpm_filename> -
Debian 및 Ubuntu의 경우 실행합니다:
dpkg -i <deb_filename>
여기서
<rpm_filename>또는<deb_filename>는 다운로드한*.rpm또는*.deb파일의 이름입니다. -
-
구성 스크립트를 실행하십시오.
/opt/fluent-bit/bin/post-config.sh -h <target_host> -p <target_port> [-t <target_path>] -a <auth_mode> -k <iam_api_key> [-s <vsi_secure_access_enabled>] [-i <IAM_environment>] [--subsystem-name <name>] [--application-name <name>]여기서,
-t <target_path>-
IBM Cloud Logs 인스턴스로 데이터를 전송할 경로를 지정합니다. 제공하지 않으면 기본값은
/logs/v1/singles입니다. -a <auth_mode>-
IAMAPIKey또는VSITrustedProfile를 지정합니다. -k <iam_api_key>-
Cloud Identity and Access Management API 키를 지정합니다(
IAMAPIKey모드에 필요). API 키 생성하기 에 있는 지침을 따르세요.Cloud Identity and Access Management API 키에 대한 자세한 내용은 API 키 관리하기 를 참조하세요.
-d <trusted_profile_id>-
신뢰할 수 있는 프로필 ID를 지정합니다('
VSITrustedProfile' 모드에 필요). 신뢰할 수 있는 프로필을 사용하는 경우 수집 권한 설정에서 구성된 ID로 설정합니다. 메타데이터 서비스를 활성화한 상태에서 인스턴스를 생성하고 인스턴스를 생성할 때 ID를 지정하여 신뢰할 수 있는 프로필을 인스턴스에 연결해야 합니다. 자세한 내용은 가상 서버 인스턴스 만들기를 참조하세요.신뢰할 수 있는 프로필에 대한 자세한 내용은 신뢰할 수 있는 프로필 만들기를 참조하세요.
--send-directly-to-icl사용 중단-
이 매개변수를 설정하면 IBM Cloud Logs로 로그를 직접 전송할 수 있습니다.
-h <target_host>-
IBM Cloud Logs 수집을 위한 호스트는 IBM Cloud Logs 인스턴스의
Endpoints섹션Overview에서 찾을 수 있습니다. 인그레스 엔드포인트를 사용합니다. 자세한 내용은 엔드포인트에 액세스 를 참조하세요 -i <IAM_environment>-
IAM 인증에 공용 또는 비공개 엔드포인트를 사용할지 여부를 지정합니다.
Production공용 엔드포인트를 사용하도록 지정합니다.PrivateProduction비공개 엔드포인트를 사용하도록 지정합니다. 기본값은Production'입니다.시스템이 공용 인터넷에 액세스할 수 없는 경우 '
PrivateProduction'을 사용하여 비공개 엔드포인트를 사용해야 합니다. -p <target_port>-
443을 사용하여 IBM Cloud Logs로 직접 로그를 전송합니다. -s <vsi_secure_access_enabled>-
(선택 사항) VSI에서 보안 액세스를 사용하도록 설정한 경우 이를
true로 설정합니다. 기본적으로false으로 설정됩니다. 예:-s true. --application-name <name>-
애플리케이션 이름은 로그를 생성하고 IBM Cloud Logs 으로 전송하는 환경을 정의합니다. 제공하지 않으면 기본값은
${HOSTNAME}입니다. --subsystem-name <name>-
하위 시스템 이름은 로그를 생성하여 IBM Cloud Logs 으로 전송하는 서비스 또는 애플리케이션입니다. 제공하지 않으면 기본값은
not-found입니다.
스크립트를 실행하여 매개변수 변경 사항으로 구성을 업데이트합니다.
로깅 에이전트 기본 구성
로깅 에이전트 에는 미리 정의된 입력 소스와 필터가 포함된 기본 구성이 제공됩니다. 이 기본 설정은 일반적인 위치에서 로그를 수집하고 기본 메타데이터로 로그를 보강하도록 구성되어 있습니다.
기본 입력 소스
로깅 에이전트 는 /var/log/ 디렉터리와 그 하위 디렉터리의 로그 파일을 모니터링하도록 미리 구성되어 있습니다. 다음은 기본값 inputs.conf 의 예입니다:
[INPUT]
Name tail
Tag host.*
Path /var/log/**/*.log
Path_Key file
Exclude_Path /var/log/at/**
DB /var/lib/fluent-bit/fluent-bit.DB
Buffer_Chunk_Size 32KB
Buffer_Max_Size 256KB
Mem_Buf_Limit 30MB
Skip_Long_Lines On
Refresh_Interval 10
storage.type filesystem
storage.pause_on_chunks_overlimit on
기본 필터
기본 구성에는 메타데이터로 로그 기록을 개선하고 더 쉽게 처리할 수 있도록 정리하는 두 가지 필터가 포함되어 있습니다:
-
필터 수정: 하위 시스템 이름, 애플리케이션 이름, 호스트 이름 및 플랫폼과 같은 메타데이터 필드를 추가합니다.
-
중첩 필터: 메타데이터 필드를 단일
meta키 아래에 그룹화합니다.
다음은 기본값 filters.conf 의 예입니다:
[FILTER]
Name modify
Match *
Add subsystemName ${SUBSYSTEM_NAME}
Add applicationName ${APPLICATION_NAME}
Add meta.hostname ${HOSTNAME}
Add meta.environment prod # Sample values: prod, staging, dev, qa
Add meta.platform linux
[FILTER]
Name nest
Match *
Operation nest
Wildcard meta.*
Nest_under meta
Remove_prefix meta.
로깅 에이전트 구성 사용자 지정
이러한 기본값은 로그 수집 및 보강을 위한 기반을 제공합니다. 필요에 따라 에이전트를 구성하려면 /etc/fluent-bit/ 디렉터리에 있는 inputs.conf, filters.conf, outputs.conf 파일을 수정하면 됩니다.
추가 메타데이터 필드 추가
라우팅된 로그에 메타데이터 필드를 추가할 수 있습니다.
다음 단계를 완료하십시오.
-
fluent-bit.conf폴더에서/etc/fluent-bit/파일을 편집합니다. -
다음 구조를 사용하여 사용자 지정 메타데이터를 추가합니다: '
Add <meta.key_name> <your_custom_value>'[FILTER] Name modify Match * Add subsystemName ${SUBSYSTEM_NAME} Add applicationName ${APPLICATION_NAME} Add meta.hostname ${HOSTNAME} Add meta.env prod # Sample values: prod, staging, dev, qa Add meta.platform linux여기서,
<meta.key_name>'은 추가할 메타데이터 필드의 이름(예: 'meta.env)이고 '<your_custom_value>'은 필드에 할당할 값(예: 사용자 환경 이름)입니다.
예를 들어
region을 메타데이터로 추가하거나 버전을 새 필드로 추가하려는 경우 구성은 이와 유사합니다:[FILTER] Name modify Match * Add subsystemName ${SUBSYSTEM_NAME} Add applicationName ${APPLICATION_NAME} Add meta.hostname ${HOSTNAME} Add meta.env prod Add meta.platform linux Add meta.region us-east Add version my-version -
구성 파일을 저장하십시오.
-
에이전트를 다시 시작하여 변경 사항을 적용합니다.
systemctl daemon-reload && systemctl restart fluent-bit
파일 포함 또는 제외
로깅 에이전트 모니터링하는 로그 파일을 구성해야 합니다.
다음 단계를 완료하십시오.
-
fluent-bit.conf폴더에서/etc/fluent-bit/파일을 편집합니다. -
입력 섹션을 수정합니다.
모니터링하려는 디렉터리 및 파일로 경로를 설정합니다.
모니터링에서 제외할 디렉터리 및 파일로 Exclude_Path를 설정합니다.
[INPUT] Name tail Tag * Path /var/log/*.log Path_Key file Exclude_Path /var/log/audit.log DB /var/lib/fluent-bit/fluent-bit.DB Buffer_Chunk_Size 32KB Buffer_Max_Size 256KB Skip_Long_Lines On Refresh_Interval 10 storage.type filesystem storage.pause_on_chunks_overlimit on -
SERVICE 섹션을 수정합니다.
설정 storage.path 스트림과 데이터를 저장하기 위해 파일 시스템의 위치로 이동합니다.
-
구성 파일을 저장하십시오.
-
에이전트를 다시 시작하여 변경 사항을 적용합니다.
systemctl daemon-reload && systemctl restart fluent-bit
로그가 대상 대상에 전달되고 있는지 확인하기
다음 단계를 완료하십시오.
-
상담원이 올바르게 구성되면 기본 대시보드 보기를 통해 로그를 볼 수 있습니다.
예를 들어 에이전트에서 applicationName 호스트 이름으로 설정한 경우 뷰의 애플리케이션 이름 필터를 호스트 이름으로 설정할 수 있습니다.
에이전트 업데이트
원하는 에이전트 패키지를 다운로드하고 사용자 환경에 적합한 명령을 실행하여 에이전트를 업데이트할 수 있습니다. 현재 로깅 에이전트 버전에 대한 자세한 내용은 상담원 릴리스 정보를 참조하세요
-
RHEL 실행의 경우:
rpm -Uvh <rpm_filename> -
Debian 및 Ubuntu의 경우 실행합니다:
dpkg -i <deb_filename>
여기서 <rpm_filename> 또는 <deb_filename> 는 다운로드한 *.rpm 또는 *.deb 파일의 이름입니다.
에이전트를 다시 설치하거나 업그레이드할 때 기존 구성 파일은 변경되지 않습니다.
업데이트 후 서비스를 다시 시작합니다:
systemctl daemon-reload && systemctl restart fluent-bit
에이전트 설치 제거
터미널에서 sudo 사용자로 적절한 명령을 실행하여 설치된 에이전트를 제거할 수 있습니다.
-
RHEL의 경우 CentOS, 및 Fedora Linux 가 실행됩니다:
sudo yum erase draios-agent -
Debian 및 Ubuntu의 경우 실행합니다:
sudo apt-get remove draios-agent