아카이브에서 리하이드레이션 (Rehydrating from Archives)
Log Rehydration*를 이용하면 고객 소유의 스토리지 최적화 아카이브에서 로그 이벤트를 다시 가져와 Datadog의 검색 최적화 Log Explorer로 되돌릴 수 있어요. 오래됐거나 인덱싱에서 제외됐던 로그 이벤트를 Datadog에서 분석하거나 조사할 수 있게 해주죠.
출처: 문서
본문
참고: Archive Search가 보관된 로그에 접근하는 권장 방식이에요. 아카이브에서 직접 재인덱싱 없이 결과를 실시간으로 스트리밍하고, 스캔한 데이터에 대해서만 비용이 부과돼요. 전체 플랫폼 접근이나 더 긴 보존 기간이 필요할 때는 Archive Search의 Search & Rehydration 모드를 사용하세요.
개요
히스토리컬 뷰 (Historical views)
히스토리컬 뷰를 사용하면 팀이 특정하고 예상 밖의 사용 사례를 효율적으로 처리하기 위해 시간 범위와 쿼리 필터로 보관된 로그 이벤트를 리하이드레이션할 수 있어요. 특정 쿼리(예: 하나 이상의 서비스, URL 엔드포인트, 고객 ID를 대상으로 하는 쿼리)로 히스토리컬 뷰를 만들면 로그 리하이드레이션에 드는 시간과 비용을 줄일 수 있어요. 특히 넓은 시간 범위에 걸쳐 리하이드레이션할 때 유용해요.
주요 기능:
- 히스토리컬 뷰당 최대 10억 개의 로그 이벤트를 리하이드레이션할 수 있어요.
- 인덱스 제외 필터는 히스토리컬 뷰에 적용되지 않아서, 아카이브에서 리하이드레이션할 때 제외 필터를 수정할 필요가 없어요.
- 히스토리컬 뷰를 CSV로 다운로드하면 데이터가 최근 90일로 제한돼요.
사전 요구 사항
아카이브에서 로그를 리하이드레이션하려면 먼저 다음 설정 단계를 완료해야 해요.
아카이브 구성
데이터를 리하이드레이션하려면 외부 아카이브가 구성되어 있어야 해요. 사용 가능한 대상(Amazon S3, Azure Storage, Google Cloud Storage)에 로그를 보관하려면 Log Archives를 참고하세요.
권한 및 인증
Datadog가 콘텐츠를 리하이드레이션하려면 아카이브에서 읽을 권한이 필요해요. 아카이브에는 적절한 인증이 구성되어 있어야 해요:
- S3: 역할 위임(IAM 역할)을 사용해야 해요.
- Azure Storage: Storage Blob Data Contributor 역할을 가진 Azure AD를 사용해야 해요.
- Google Cloud Storage: Storage Object Viewer 역할을 가진 서비스 계정을 사용해야 해요.
적절한 인증이 구성된 아카이브만 리하이드레이션에 사용할 수 있어요. 자세한 설정은 Cloud별 권한을 참고하세요.
히스토리컬 뷰로 로그 리하이드레이션하기
- Rehydration 페이지로 이동해요.
- New Historical View를 클릭해요.
- 리하이드레이션할 기간을 선택해요.
- 로그 이벤트를 리하이드레이션할 아카이브를 선택해요. 역할 위임을 사용하도록 구성된 아카이브만 리하이드레이션에 사용할 수 있어요.
- (선택) 스캔 크기를 예상하고 선택한 시간 범위 동안 아카이브에 포함된 압축 데이터의 총량을 확인해요.
- 히스토리컬 뷰 이름을 지정해요. 이름은 소문자로 시작해야 하고 소문자, 숫자,
-문자만 포함할 수 있어요. - Log Explorer 검색 문법을 사용해 인덱싱 쿼리를 설정해요. 리하이드레이션 쿼리에서 태그(예:
env:prod나version:x.y.z)를 사용한다면 로그가 태그와 함께 보관되는지 확인하세요. - 로그 제한(리하이드레이션할 최대 로그 수)을 정의해요. 리하이드레이션 한도에 도달하면 로그 재로딩이 중지되지만, 이미 리하이드레이션된 로그에는 계속 접근할 수 있어요.
- 리하이드레이션된 로그의 보존 기간을 설정해요. 이 기간이 리하이드레이션된 로그를 검색할 수 있는 기간을 정의해요. 사용 가능한 보존 기간은 계약에 따라 다르며 기본값은 15일이에요.
- (선택) 통합을 통해
@handle문법으로 완료 알림을 구성해요.
리하이드레이션 스캔 크기에 대한 자세한 내용은 리하이드레이션 스캔 크기 이해하기를 참고하세요.
히스토리컬 뷰 관리
히스토리컬 뷰 콘텐츠 보기
히스토리컬 뷰 페이지에서: "Rehydrate from Archive"를 선택한 후에는 콘텐츠를 쿼리할 준비가 될 때까지 히스토리컬 뷰가 "PENDING"으로 표시돼요.
콘텐츠가 리하이드레이션된 후에는 히스토리컬 뷰가 "ACTIVE"로 표시되고, 쿼리 열의 링크는 Log Explorer의 히스토리컬 뷰로 연결돼요.
Log Explorer에서: Log Explorer에서 인덱스 선택기의 Index 패싯을 열고, 검색에 포함할 Historical indexes를 선택해요.
진행 중인 히스토리컬 뷰 취소하기
Rehydration 페이지에서 진행 중인 리하이드레이션을 취소해서 잘못된 시간 범위나 인덱싱 쿼리의 오타가 있는 작업을 중지할 수 있어요.
이미 인덱싱된 로그는 히스토리컬 뷰에 선택한 보존 기간이 끝날 때까지 계속 쿼리 가능해요. 스캔되고 인덱싱된 모든 로그는 여전히 과금 대상이에요.
히스토리컬 뷰 삭제하기
히스토리컬 뷰는 더 일찍 삭제하지 않는 한 선택한 보존 기간을 초과할 때까지 Datadog에 남아 있어요. 히스토리컬 뷰를 수동으로 삭제하려면 뷰 맨 오른쪽의 삭제 아이콘을 선택하고 작업을 확인해요.
히스토리컬 뷰는 삭제가 시작된 하루 후에 영구적으로 삭제돼요. 그때까지 팀은 삭제를 취소할 수 있어요.
삭제된 히스토리컬 뷰 보기
View 드롭다운 메뉴를 사용해 최대 1년 전까지 삭제된 히스토리컬 뷰를 볼 수 있어요.
고급 구성
리하이드레이션 알림
리하이드레이션을 시작하고 끝낼 때 이벤트가 자동으로 트리거돼요. 이러한 이벤트는 Events Explorer에서 확인할 수 있어요.
내장 템플릿 변수를 사용해 리하이드레이션 종료 시 트리거되는 알림을 사용자 정의할 수 있어요:
| Variable | Description |
|---|---|
{{archive}} |
리하이드레이션에 사용된 아카이브 이름이에요. |
{{from}} |
리하이드레이션에 선택된 시간 범위의 시작이에요. |
{{to}} |
리하이드레이션에 선택된 시간 범위의 끝이에요. |
{{scan_size}} |
리하이드레이션 중 처리된 파일의 총 크기예요. |
{{number_of_indexed_logs}} |
리하이드레이션된 로그의 총 개수예요. |
{{explorer_url}} |
리하이드레이션된 로그로의 직접 링크예요. |
히스토리컬 뷰의 기본 한도
Logs Write Archives 권한을 가진 관리자는 기본 컨트롤을 구성해 팀 전반에서 Log Rehydration*을 효율적으로 사용할 수 있게 할 수 있어요. Settings를 클릭해 구성하세요:
- 기본 리하이드레이션 볼륨 한도: 히스토리컬 뷰당 리하이드레이션할 수 있는 기본 로그 수(백만 단위)를 정의해요. 한도에 도달하면 리하이드레이션이 자동으로 중지되지만, 이미 리하이드레이션된 로그는 계속 접근 가능해요. 관리자는 뷰 생성 중에 이 한도를 재정의하도록 허용할 수도 있어요.
- 리하이드레이션 보존 기간: 리하이드레이션을 만들 때 사용할 수 있는 보존 기간을 선택해요. 로그가 Datadog에서 얼마나 오래 검색 가능한지 선택할 때 선택한 기간(예: 3, 7, 15, 30, 45, 60, 90, 180일)만 드롭다운 메뉴에 표시돼요.
Cloud별 권한
Datadog는 아카이브의 콘텐츠를 리하이드레이션하려면 아카이브에서 읽을 수 있는 권한이 필요해요. 이 권한은 언제든 변경할 수 있어요.
Amazon S3
Datadog는 아카이브에서 로그 이벤트를 리하이드레이션하기 위해 AWS 통합을 위해 AWS 계정에 구성한 IAM Role을 사용해요. 아직 해당 Role을 만들지 않았다면 다음 단계에 따라 만들고 해당 Role이 아카이브에서 로그 이벤트를 리하이드레이션할 수 있도록 IAM 정책에 다음 권한 문을 추가하세요. 버킷 이름을 편집하고, 원한다면 로그 아카이브가 포함된 경로도 지정하세요.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DatadogUploadAndRehydrateLogArchives",
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject"],
"Resource": [
"arn:aws:s3:::<MY_BUCKET_NAME_1_/_MY_OPTIONAL_BUCKET_PATH_1>/*",
"arn:aws:s3:::<MY_BUCKET_NAME_2_/_MY_OPTIONAL_BUCKET_PATH_2>/*"
]
},
{
"Sid": "DatadogRehydrateLogArchivesListBucket",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": [
"arn:aws:s3:::<MY_BUCKET_NAME_1>",
"arn:aws:s3:::<MY_BUCKET_NAME_2>"
]
}
]
}
S3 아카이브에 역할 위임 추가하기
Datadog는 접근 권한을 부여하기 위해 역할 위임을 사용하도록 구성된 아카이브에서만 리하이드레이션을 지원해요. 위의 IAM 정책을 포함하도록 Datadog IAM role을 수정한 후, 아카이브 구성 페이지의 각 아카이브가 올바른 AWS Account + Role 조합을 갖도록 확인하세요.
Azure Storage
Datadog는 로그 이벤트를 리하이드레이션하기 위해 아카이브의 스토리지 계정 범위에서 Storage Blob Data Contributor 역할을 가진 Azure AD 그룹을 사용해요. 스토리지 계정의 Access Control(IAM) 페이지에서 Datadog 통합 앱에 Storage Blob Data Contributor 역할을 할당해 Datadog 서비스 계정에 이 역할을 부여할 수 있어요.
Google Cloud Storage
Datadog는 아카이브에서 로그 이벤트를 리하이드레이션하기 위해 Storage Object Viewer 역할을 가진 서비스 계정을 사용해요. Google Cloud IAM Admin 페이지에서 서비스 계정의 권한을 편집하고, 역할을 추가한 다음 Storage > Storage Object Viewer를 선택해 Datadog 서비스 계정에 이 역할을 부여할 수 있어요.
Storage Object Viewer 역할은 Datadog가 권장하는 구성이에요. 조직에서 최소 권한 커스텀 역할이 필요하다면 리하이드레이션에 다음 개별 권한이 필요해요:
storage.objects.getstorage.objects.list
리하이드레이션 스캔 크기 이해하기
쿼리는 시간 범위와 일치하는 파일이 아카이브에서 다운로드된 이후에 적용돼요. 따라서 리하이드레이션 스캔 크기는 쿼리와 일치하는 로그 수가 아니라 아카이브에서 가져온 로그의 총 볼륨을 기준으로 해요. 아카이브 스토리지는 시간 기반이므로 특정 필터(예: service:A)로 범위를 좁힌 쿼리도 선택한 시간 창 안의 모든 로그를 가져와요. 여기에는 다른 서비스(예: service:B)의 로그도 포함돼요.
쿼리 필터는 데이터가 다운로드된 후에 적용되므로, 날짜 범위를 줄이는 것이 스캔 크기를 제한하고 클라우드 데이터 전송 비용을 최소화하는 가장 효과적인 방법이에요.
더 알아보기 (Learn more)
추가로 도움이 되는 문서, 링크, 아티클:
*Log Rehydration은 Datadog, Inc.의 상표예요.