awslogs 에이전트를 사용하여 로그 데이터를 CloudWatch Logs로 푸시할 수 없는 이유는 무엇인가요?

3분 분량
0

CloudWatch Logs 에이전트(awslogs)를 사용하여 로그 데이터를 Amazon CloudWatch Logs에 푸시할 수 없습니다.

해결 방법

시작하기 전에 awslogs 에이전트가 CloudWatch Logs API 엔드포인트에 연결할 수 있는지 확인합니다.

구성에 다음과 같은 속성이 있는지 확인합니다.

  • 인터넷 연결
  • 유효한 보안 그룹 구성
  • 유효한 네트워크 액세스 제어 목록(네트워크 ACL)

중요: 이 참조는 더 이상 지원되지 않는 이전 CloudWatch Logs 에이전트에 대한 것입니다. 인스턴스 메타데이터 서비스 버전 2(IMDsv2)를 사용하는 경우 새로운 통합 CloudWatch 에이전트를 사용해야 합니다. IMDSv2를 사용하지 않더라도 로그 에이전트 대신 새로운 통합 CloudWatch 에이전트를 사용하는 것이 가장 좋습니다.

핑거프린팅 문제

소스 로그 파일의 헤더 줄을 검토하세요. 데이터를 CloudWatch로 푸시하도록 구성할 때 이 파일의 경로를 설정합니다.

  • 처음 몇 줄이 비어 있거나 동일하게 유지되는 이벤트 이외의 데이터를 포함하는 경우 로그 식별 해시에 문제가 있을 수 있습니다.
  • 헤더 줄이 동일한 경우 에이전트 구성 파일에서 file_fingerprint_lines 옵션을 업데이트합니다. 식별 해시를 생성하는 데 사용되는 각 파일의 줄을 지정해야 합니다.

awslogs 로그 파일에서 오류를 확인합니다.

/var/log/awslogs.log 로그 파일을 검토합니다. 모든 오류 메시지를 기록해 두세요.

권한 오류에는 다음이 포함됩니다.

  • NoCredentialsError: 보안 인증 정보를 찾을 수 없음 - AWS ID 및 액세스 관리(IAM) 역할을 인스턴스에 추가하지 않은 경우 IAM 역할을 생성하여 연결합니다. 인스턴스에 IAM 역할을 이미 추가한 경우에는 /etc/awslogs/awscli.conf 파일에서 IAM 사용자 자격 증명을 업데이트합니다.
  • ClientError: PutLogEvents 작업을 호출할 때 오류(AccessDeniedException)가 발생했습니다. User: arn:aws:iam::012345678910: / is not authorized to perform: logs:PutLogEvents[...]Configure the IAM role or user with the required permissions for CloudWatch Logs.

타임스탬프 오류에는 다음이 포함됩니다.

  • Fall back to previous event time: {'timestamp': 1492395793000, 'start_position': 17280L, 'end_position': 17389L}, previousEventTime: 1492395793000, reason: timestamp could not be parsed from message. – Confirm that the log events begin with a timestamp. /etc/awslogs/awslogs.conf에 지정된 datetime_format이 로그 이벤트의 타임스탬프 형식과 일치하는지 확인합니다. 필요에 따라 타임스탬프 형식과 일치하도록 datetime_format을 변경합니다.
  • 지정된 경로가 ' '인 파일을 찾을 수 없음에이전트 구성 파일의 로그 파일 경로를 올바른 경로로 업데이트합니다.

기타 awslogs 문제

  • 로그 로테이션 후 로그 푸시가 중지되면 지원되는 로그 로테이션 방법을 확인합니다. 자세한 내용은 CloudWatch Logs 에이전트 FAQ를 참조하세요.
  • awslogs 에이전트가 다시 시작된 후 로그가 잠깐 동안 푸시되는 경우 에이전트 구성 파일의 [logstream] 섹션에서 중복 항목이 있는지 확인합니다. 각 섹션은 고유한 이름을 가져야 합니다.
  • awslogs.log 로그 파일이 디스크 공간을 너무 많이 차지하는 경우 로그 파일에 오류가 있는지 확인한 후 오류를 수정합니다. 로그 파일에 정보 메시지만 포함된 경우 에이전트 구성 파일의 logging_config_file 옵션에 대해 더 낮은 로깅 수준을 지정합니다.

추가 문제 해결

추가 문제 해결을 위해 instance-id(인스턴스의 ID)를 기록해 두세요. 그런 다음, 구성에 따라 다음 항목을 수집하고 검토합니다.

Yum 설치:

  • yum 버전
$ yum info awslogs
$ yum info aws-cli-plugin-cloudwatch-logs
  • /etc/awslogs/awslogs.conf 파일
  • /etc/awslogs/awscli.conf 파일
  • **/etc/awslogs/**의 기타 관련 파일
  • /var/log/awslogs.log 파일

스크립트 기반 설치:

  • 다음 명령으로 가져온 awslogs 버전입니다.
$ /var/awslogs/bin/awslogs-version.sh
  • /var/awslogs/etc/awslogs.conf 파일
  • /var/awslogs/etc/awscli.conf 파일
  • **/var/awslogs/etc/**의 기타 관련 파일
  • /var/log/awslogs.log
  • /var/log/awslogs-agent-setup.log

로테이션 관련 문제의 경우 다음을 수집하고 검토합니다.

  • 소스 로그의 코드 조각
  • 모니터링 대상 디렉터리의 콘텐츠 목록입니다. ls -la 명령을 디렉터리 경로와 함께 사용하면 다음을 얻을 수 있습니다.
$ ls -la <Monitoring-Target-Directory-Path>

관련 정보

CloudWatch Logs 시작하기

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음

관련 콘텐츠