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

최종 업데이트 날짜: 2023년 1월 9일

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 Identity and Access Management(IAM) 역할을 추가하지 않은 경우 IAM 역할을 생성하고 연결합니다. 인스턴스에 이미 IAM 역할을 추가한 경우 /etc/awslogs/awscli.conf 파일에서 IAM 사용자 보안 인증을 업데이트합니다.
    • ClientError: PutLogEvents 작업 호출 시 오류 발생(AccessDeniedException): 사용자 arn:aws:iam::012345678910:<role/user>/ 에게 logs:PutLogEvents[...] 수행 권한이 부여되지 않음 – CloudWatch Logs에 대해 필수 권한이 있는 IAM 역할 또는 사용자를 구성합니다.

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

    • 이전 이벤트 시간으로 돌아감: {'timestamp': 1492395793000, 'start_position': 17280L, 'end_position': 17389L}, previousEventTime: 1492395793000, 이유: 타임스탬프를 메시지에서 구문 분석할 수 없습니다. – 로그 이벤트가 타임스탬프로 시작되는지 확인합니다. /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>

    이 문서가 도움이 되었나요?


    결제 또는 기술 지원이 필요하세요?