로그 전달 log-forwarding
로깅 공급업체에 라이센스가 있거나 로깅 제품을 호스팅하는 고객은 AEM 로그(Apache/Dispatcher 포함) 및 CDN 로그를 관련 로깅 대상에 전달할 수 있습니다. AEM as a Cloud Service은 다음 로깅 대상을 지원합니다.
Amazon S3, Dynatrace 및 New Relic으로의 [1] CDN 로그 전달이 베타 버전입니다. 액세스 권한을 요청하려면 프로그램 ID로 aemcs-logforwarding-beta@adobe.com에 전자 메일을 보내십시오. 액세스가 활성화된 후에는 cdn.enabled: true을(를) 사용하는 각 대상에 대해 CDN 로그를 켭니다. Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그를 참조하십시오.
로그 전달은 Git에서 구성을 선언하여 셀프서비스 방식으로 구성되며 Cloud Manager 구성 파이프라인을 통해 개발, 스테이지 및 프로덕션 환경 유형에 배포할 수 있습니다. 구성 파일은 명령줄 도구를 사용하여 신속한 개발 환경(RDE)에 배포될 수 있습니다.
AEM 및 Apache/Dispatcher 로그가 전용 이그레스 IP와 같은 AEM의 고급 네트워킹 인프라를 통해 라우팅되는 옵션이 있습니다. CDN 로그는 항상 CDN에서 직접 전송되며 고급 네트워킹을 사용하지 않습니다. 전송 및 고급 네트워킹을 참조하세요.
이 문서를 구성하는 방식 how-organized
이 문서는 다음 방법으로 구성됩니다.
- 설정 - 모든 로깅 대상에 대해 공통입니다.
- 전송 및 고급 네트워킹 - 로깅 구성을 만들기 전에 네트워크 설정을 고려해야 합니다.
- 상호 TLS(mTLS) 인증(베타) - 클라이언트 인증서로 Splunk, Elasticsearch/OpenSearch 및 HTTPS 대상 인증
- 대상 구성 로깅 - 각 대상의 형식이 약간 다릅니다.
- Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그 - 이러한 대상에 대한 CDN 로그에 대한 액세스를 요청하고 활성화하는 방법
- 로그 항목 형식 - 로그 항목 형식에 대한 정보
- 이전 로그 전달에서 마이그레이션 - Adobe에서 이전에 설정한 로그 전달에서 셀프서비스 접근 방식으로 이동하는 방법
설정 setup
-
이름이
logForwarding.yaml인 파일을 생성합니다. 구성 파이프라인 문서에 설명된 대로 메타데이터가 포함되어야 합니다(종류은(는)LogForwarding(으)로 설정되어야 하며 버전은 “1”(으)로 설정되어야 합니다). 다음과 유사한 구성을 사용해야 합니다(예를 들어 Splunk 사용).code language-yaml kind: "LogForwarding" version: "1" data: splunk: default: enabled: true host: "splunk-host.example.com" token: "${{SPLUNK_TOKEN}}" index: "AEMaaCS" -
구성 파이프라인 사용에 설명된 대로 파일을 config 또는 유사한 최상위 폴더 아래에 배치합니다.
-
RDE(명령줄 도구 사용) 이외의 환경 유형의 경우 이 섹션에서 참조한 대로 Cloud Manager에서 타깃팅된 배포 구성 파이프라인을 만듭니다. 전체 스택 파이프라인 및 웹 계층 파이프라인은 구성 파일을 배포하지 않습니다.
-
구성 배포.
구성의 토큰(예: ${{SPLUNK_TOKEN}})은 비밀을 나타내며 Git에 저장해서는 안 됩니다. 대신 Cloud Manager 보안 환경 변수(으)로 선언하십시오. 로그를 작성자, 게시 및 미리보기 계층에 전달할 수 있도록 서비스 적용 필드의 드롭다운 값으로 모두를 선택해야 합니다.
default 블록 뒤에 추가 cdn 및/또는 aem 블록을 포함하여 CDN 로그와 AEM 로그(Apache/Dispatcher 포함) 간에 다른 값을 설정할 수 있습니다. 여기서 속성은 default 블록에 정의된 값을 무시할 수 있습니다. 활성화된 속성만 필요합니다. 아래 예제에서 보듯이 CDN 로그에 대해 다른 Splunk 인덱스를 사용하는 것이 사용 사례일 수 있습니다.
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
token: "${{SPLUNK_TOKEN}}"
index: "AEMaaCS"
cdn:
enabled: true
token: "${{SPLUNK_TOKEN_CDN}}"
index: "AEMaaCS_CDN"
cdn 블록이 enabled: true을(를) 설정하는 경우에만 전달됩니다. Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그를 참조하십시오.또 다른 시나리오는 CDN 로그 또는 AEM 로그(Apache/Dispatcher 포함)의 전달을 비활성화하는 것입니다. 예를 들어 CDN 로그만 전달하려면 다음을 구성할 수 있습니다.
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
token: "${{SPLUNK_TOKEN}}"
index: "AEMaaCS"
aem:
enabled: false
전송 및 고급 네트워킹 transport-advancednetworking
일부 조직에서는 로깅 대상에 의해 수신될 수 있는 트래픽을 제한하도록 선택하고, 다른 조직에서는 HTTPS(443) 이외의 포트를 사용해야 할 수 있습니다. 이 경우 로그 전달 구성을 배포하기 전에 고급 네트워킹을 구성해야 합니다.
아래 표를 사용하여 포트 443을 사용하는지 여부와 고정 IP 주소에서 로그를 표시해야 하는지 여부를 기준으로 고급 네트워킹 및 로깅 구성에 대한 요구 사항을 확인할 수 있습니다. 이 표는 AEM 로그(Apache/Dispatcher 포함)에 적용됩니다. CDN 로그의 경우 CDN 로그 및 IP 허용 목록을(를) 참조하십시오.
AEM 로그(Apache/Dispatcher 포함)의 경우 고급 네트워킹을 구성한 경우 aem.advancedNetworking 속성을 사용하여 전용 이그레스 IP 주소에서 전달할 수 있습니다.
아래 예는 고급 네트워킹을 사용하여 표준 HTTPS 포트에서 로깅을 구성하는 방법을 보여줍니다.
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
port: 443
token: "${{SPLUNK_TOKEN}}"
index: "aemaacs"
aem:
advancedNetworking: true
CDN 로그 및 IP 허용 목록 cdn-ip-allowlist
CDN 로그는 AEM as a Cloud Service이 아닌 CDN(Fastly)에서 직접 전송됩니다. 이는 모든 로깅 대상에 적용됩니다.
- CDN 로그는 https://api.fastly.com/public-ip-list에 게시된 Fastly의 공유 IP 주소 범위에서 전송됩니다. 전용 이그레스 IP 주소에서는 전송되지 않습니다.
advancedNetworking속성은 AEM 로그(Apache/Dispatcher 포함)에만 적용됩니다. CDN 로그에는 영향을 주지 않습니다.advancedNetworking이(가) 설정되어 있고 동일한 대상에 대해 CDN 로그 전달이 활성화되어 있으면 알림으로 구성이 배포됩니다.- 로깅 대상에서 특정 IP 주소의 트래픽만 허용하는 경우 AEM 로그에 대한 전용 이그레스 IP 주소 외에 Fastly가 게시한 IPv4 및 IPv6 범위의 모두를 해당 허용 목록에 추가하십시오. 전용 이그레스 IP 주소만 허용하는 대상은 CDN 로그를 받지 않습니다.
- Fastly의 IP 주소 범위는 시간이 지남에 따라 변경되며, 때로는 몇 주 이내에 변경되기도 합니다. 게시된 목록을 정기적으로 검토하고 허용 목록을 최신 상태로 유지하십시오.
- Amazon S3에는 CDN 로그에 대한 추가 고려 사항이 있습니다. Amazon S3 CDN 로그를 참조하십시오.
공유 IP 주소 목록이 너무 커서 허용 목록에 추가할 수 없는 경우 CDN 로그를 https 서버 또는 (Adobe이 아닌) Azure Blob Store로 전송하십시오. 여기서 알려진 IP에서 최종 대상으로 로그를 전송하도록 논리를 작성할 수 있습니다.
상호 TLS(mTLS) 인증(Beta) mtls
Splunk, Elasticsearch/OpenSearch 및 HTTPS 대상은 상호 TLS(mTLS)를 지원합니다. mTLS를 사용하면 AEM as a Cloud Service이 로깅 대상에 연결할 때 클라이언트 인증서를 제공하므로 대상이 사용자의 환경에서 로그를 가져왔는지 확인할 수 있습니다. mTLS는 AEM 로그(Apache/Dispatcher 포함) 및 CDN 로그에 적용됩니다.
mTLS는 대상의 기존 인증과 함께 작동합니다. token(Splunk) 또는 user 및 password(Elasticsearch/OpenSearch)과 같은 대상의 기존 인증 속성을 유지합니다. CDN 로그를 전달하는 HTTPS 대상의 경우 authHeaderName 및 authHeaderValue이(가) 필요합니다.
구성 mtls-configuration
대상의 다른 속성과 함께 mtls 블록을 추가합니다.
cert- 필수. PEM 형식의 클라이언트 인증서. 그 뒤에는 클라이언트 인증서를 먼저 사용하여 중간 CA 인증서가 올 수 있습니다.key- 필수. 클라이언트 인증서의 개인 키(PEM 형식)입니다. RSA 및 EC 키는 지원되며 암호화되지 않거나 암호화됩니다. 지원되는 키 형식을 참조하세요.ca- 선택 사항입니다. 대상의 서버 인증서를 확인하는 데 사용되는 CA 인증서(PEM 형식)입니다. 인증서 체인과 같이 두 개 이상의 인증서를 포함할 수 있습니다. 개인 CA에서 서버 인증서를 발급할 때 설정합니다.keyPasswd- 선택 사항입니다. 개인 키의 암호입니다. 키가 암호화된 경우에만 설정하십시오.
다음 예에서는 mTLS를 사용하여 AEM 및 CDN 로그를 Splunk에 전달합니다.
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
token: "${{SPLUNK_TOKEN}}"
index: "aemaacs"
mtls:
cert: "${{SPLUNK_MTLS_CERT}}"
key: "${{SPLUNK_MTLS_KEY}}"
ca: "${{SPLUNK_MTLS_CA}}"
다음 규칙이 적용됩니다.
cert과(와)key을(를) 함께 제공해야 합니다.ca또는keyPasswd만 포함된mtls블록이 거부되었습니다.- 각
mtls속성은${{SPLUNK_MTLS_CERT}}과(와) 같은 비밀 참조여야 하며 그 외에는 아무 것도 없습니다. 파일에 직접 배치된 인증서 또는 키 텍스트가 거부됩니다. - 설정에 설명된 대로 각 암호를 Cloud Manager 암호 환경 변수(으)로 선언하십시오.
-----BEGIN및-----END줄을 포함하여 전체 PEM 텍스트를 붙여넣습니다. 값을 Cloud Manager에 붙여넣을 때 줄바꿈이 제거되면 줄바꿈이 자동으로 복원됩니다. 두 개 이상의 인증서를 제공하려면 동일한 암호에 차례로 붙여 넣습니다. - 배포할 때 클라이언트 인증서가 선택되어 있습니다. 유효한 PEM이어야 하며 유효 기간 내에 있어야 합니다.
cert에 둘 이상의 인증서가 포함되어 있는 경우 클라이언트 인증서가 우선되어야 하며 인증서가 올바른 체인을 형성해야 합니다. 검사가 실패하면 배포가 실패합니다.
지원되는 키 형식 mtls-key-formats
키의 PEM 텍스트 첫 번째 행은 해당 형식을 보여 줍니다.
-----BEGIN RSA PRIVATE KEY----------BEGIN EC PRIVATE KEY----------BEGIN PRIVATE KEY----------BEGIN ENCRYPTED PRIVATE KEY-----DES-EDE3-CBC)를 사용하는 암호화된 이전 형식(RSA 또는 EC)-----BEGIN RSA PRIVATE KEY----- 또는 -----BEGIN EC PRIVATE KEY-----, Proc-Type: 4,ENCRYPTED 및 DEK-Info 줄 뒤암호화된 키의 경우 keyPasswd도 해당 암호로 설정하십시오.
암호화된 키에는 암호화된 PKCS#8을 사용하는 것이 좋습니다. 이전 형식의 키를 변환하려면 다음 명령을 사용하여 현재 암호를 요청한 다음 새 키의 암호를 입력합니다.
openssl pkcs8 -topk8 -v2 aes-256-cbc -in client.key -out client-pkcs8.key
key에서 참조한 암호에 client-pkcs8.key의 콘텐츠를 저장하고 keyPasswd에서 참조한 암호에 해당 암호를 저장합니다.
CDN 로그 mtls-cdn
다른 속성과 마찬가지로 default 아래의 mtls 블록이 AEM 로그와 CDN 로그에 모두 적용됩니다. CDN 로그에 다른 인증서를 사용하려면 cdn 블록에서 mtls 속성을 설정하십시오. AEM 로그에만 mTLS를 사용하거나 CDN 로그에만 mTLS를 사용하려면 mtls 블록을 default 대신 aem 또는 cdn 블록에 배치하십시오.
CDN 로그 전달을 활성화하는 구성을 대상에 배포한 후 첫 번째 CDN 로그가 도착하기까지 몇 분 정도 걸릴 수 있습니다. HTTPS 대상의 경우 서버가 HTTPS에 설명된 일회성 요청을 완료한 후에만 CDN 로그 전달이 시작됩니다. 챌린지 요청은 동일한 클라이언트 인증서로 전송되므로 서버는 챌린지 경로에서도 해당 인증서를 수락해야 합니다.
인증서 순환 및 만료 mtls-rotation
인증서를 회전하려면 인증서를 보유하는 Cloud Manager 비밀 환경 변수(및 변경된 경우 키)를 업데이트한 다음 구성 파이프라인을 다시 실행합니다. 로그 전달 구성 파일 자체가 변경되지 않은 경우 구성이 다시 적용되도록 변경해도 됩니다. 예를 들어 새 보안 환경 변수에 새 값을 저장하고 mtls 블록에서 해당 이름을 참조합니다.
또한 클라이언트 인증서가 만료되기 약 21일 전에 사전 예방적 작업 센터 알림을 받을 수 있습니다. 이 알림에 의존하지 않고 인증서 만료 날짜를 직접 추적합니다.
대상 구성 로깅 중 logging-destinations
특정 고려 사항과 함께 지원되는 로깅 대상에 대한 구성이 아래에 나와 있습니다.
Amazon amazons3
Amazon S3에 대한 CDN 로그는 Beta 버전입니다. 액세스 권한을 요청하려면 프로그램 ID로 aemcs-logforwarding-beta@adobe.com에 전자 메일을 보내십시오. 활성화 방법은 Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그를, 파일 레이아웃 및 고려 사항은 Amazon S3 CDN 로그를 참조하십시오.
kind: "LogForwarding"
version: "1"
data:
awsS3:
default:
enabled: true
region: "your-bucket-region"
bucket: "your-bucket-name"
accessKey: "${{AWS_S3_ACCESS_KEY}}"
secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"
AEM 로그와 CDN 로그(CDN 로그 in Beta)를 모두 전달하려면 다음을 수행합니다.
kind: "LogForwarding"
version: "1"
data:
awsS3:
default:
enabled: true
region: "us-east-1"
bucket: "your-bucket-name"
accessKey: "${{AWS_S3_ACCESS_KEY}}"
secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"
cdn:
enabled: true
CDN 로그만 전달하려면(베타):
kind: "LogForwarding"
version: "1"
data:
awsS3:
default:
enabled: true
region: "us-east-1"
bucket: "your-bucket-name"
accessKey: "${{AWS_S3_ACCESS_KEY}}"
secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"
aem:
enabled: false
cdn:
enabled: true
S3 로그 전달자를 사용하려면 S3 버킷에 액세스하기 위한 적절한 정책으로 AWS IAM 사용자를 사전 구성해야 합니다. IAM 사용자 자격 증명을 만드는 방법은 AWS IAM 사용자 설명서를 참조하십시오.
IAM 정책은 사용자가 s3:PutObject을(를) 사용할 수 있도록 허용해야 합니다. CDN 로그(베타)를 전달하려면 s3:AbortMultipartUpload도 허용하십시오. 다른 권한은 필요하지 않습니다. 사용자는 버킷을 읽거나 나열할 필요가 없습니다. 예:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:AbortMultipartUpload"
],
"Resource": "arn:aws:s3:::your-bucket-name/*"
}]
}
버킷이 CDN 로그만 수신하는 경우 Resource을(를) arn:aws:s3:::your-bucket-name/aemcdn/*(으)로 제한할 수 있습니다.
구현 방법에 대한 자세한 내용은 AWS 버킷 정책 설명서를 참조하십시오.
Amazon S3 CDN 로그(베타) amazons3-cdn
Amazon S3에 대한 CDN 로그는 Beta 버전입니다. 프로그램 및 cdn.enabled: true에 대한 액세스 권한이 필요합니다. Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그를 참조하십시오.
CDN 로그는 버킷의 aemcdn/ 폴더 아래에 기록됩니다. 파일 이름 형식은 YYYY-MM-DDThh:mm:ss.000-<uniqueid>.log.gz입니다. 예:
aemcdn/
2026-03-04T10:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.gz
2026-03-04T10:00:00.000-0pX8ub2yQcAmLs7rT1kd.log.gz
2026-03-04T10:05:00.000-h3JkVv9ZqN2wE5sXyR0a.log.gz
- 파일은 gzip으로 압축됩니다. 각 파일에는 한 줄에 하나의 JSON 개체씩 여러 개의 로그 항목이 포함되어 있습니다. 항목은 Azure Blob 저장소에 기록된 CDN 로그와 동일한 속성을 갖습니다. 로그 항목 형식은 AEM as a Cloud Service에 대한 로깅에 설명되어 있으며 각 항목에는 아래의 로그 항목 형식 섹션에 언급된 추가 속성도 포함되어 있습니다.
- 5분마다 새로운 파일 세트가 작성됩니다. CDN에는 많은 서버가 있고, 트래픽을 처리한 각 서버는 자체 파일을 쓰기 때문에 트래픽이 거의 없는 경우에도 5분 간격으로 많은 파일이 기록될 것으로 예상됩니다. 예를 들어, 트래픽이 적은 테스트 환경에서는 5분마다 약 50개의 파일이 생성되었습니다.
- 로그 항목은 일반적으로 요청 후 1~6분 후에 버킷에 표시됩니다.
- 파일 이름의 시간이 정확한 시간 창이 아니며 파일이 겹칩니다. 예를 들어 이름이
…T16:00:00.000-….log.gz인 파일에는 15:55부터 16:04까지의 항목이 포함될 수 있습니다. 요청이 발생한 시기를 찾으려면 각 항목의timestamp속성을 사용하십시오. - 파일이 작성된 후에는 변경되지 않습니다.
고객은 이러한 파일을 처리하고 관리할 책임이 있습니다. 예를 들어 aemcdn/ 접두사에 S3 라이프사이클 규칙을 사용하는 경우가 있습니다.
CDN 로그(베타)에 대한 고려 사항:
-
인증은 IAM 사용자의 액세스 키를 사용합니다. IAM 역할은 지원되지 않습니다.
-
IAM 사용자에게는
s3:PutObject및s3:AbortMultipartUpload만 필요합니다. 버킷을 읽거나 나열할 권한이 필요하지 않습니다. -
Amazon S3 관리 키(SSE-S3)를 사용한 기본 버킷 암호화가 지원되며 CDN 로그 파일은 사용하지 않을 때 암호화됩니다.
-
표준 AWS 상업용 지역의 버킷만 지원됩니다. AWS GovCloud(미국) 및 AWS 중국 지역은 지원되지 않습니다.
region속성은 버킷의 영역이어야 합니다. -
거부된 업로드가 다시 시도되지 않습니다. 버킷 정책 또는 IAM 사용자의 권한이 CDN 로그 업로드를 거부하면 해당 업로드의 로그 항목이 경고 없이 손실됩니다. 이는 실패한 업로드가 다시 시도되는 AEM 로그와는 다릅니다. 버킷 정책 또는 IAM 사용자에 대한 변경 사항이 CDN에서의 업로드를 차단하지 않도록 합니다.
-
버킷에서
s3:PutObject및s3:AbortMultipartUpload만(또는 버킷에서 CDN 로그만 수신하는 경우aemcdn/접두사에서만) 허용되는 IAM 사용자와 IP 주소 조건이 없는 버킷 정책을 사용하는 것이 좋습니다. -
버킷 정책에서 IP 주소로 액세스를 제한하는 경우 Fastly에서 게시한 모든 IPv4 및 IPv6 범위를
aws:SourceIp조건에 추가하고 최신 상태로 유지하십시오. CDN 로그 및 IP 허용 목록을(를) 참조하십시오. -
VPC 끝점을 통해서만 요청을 수락하는 버킷(예:
aws:SourceVpce조건이 있는 버킷 정책)은 CDN 로그를 받을 수 없습니다. -
손실된 CDN 로그를 감지하려면 다음을 고려하십시오.
- AWS CloudTrail 데이터 이벤트 또는 S3 서버 액세스 로그. Fastly의 IP 주소에서 거부된
PutObject개의 요청(HTTP 상태 403)을 기록합니다. aemcdn/아래에 새 개체가 예상보다 오래 도달하지 않으면 발생하는 경고입니다. 파일은 5분마다 기록됩니다.
- AWS CloudTrail 데이터 이벤트 또는 S3 서버 액세스 로그. Fastly의 IP 주소에서 거부된
Azure Blob 저장소 azureblob
kind: "LogForwarding"
version: "1"
data:
azureBlob:
default:
enabled: true
storageAccountName: "example_acc"
container: "aem_logs"
sasToken: "${{AZURE_BLOB_SAS_TOKEN}}
인증에 SAS 토큰을 사용해야 합니다. 공유 액세스 토큰 페이지가 아닌 공유 액세스 서명 페이지에서 만들어야 하며 다음 설정으로 구성해야 합니다.
- 허용된 서비스: Blob을 선택해야 합니다.
- 허용된 리소스: 개체 및 컨테이너를 선택해야 합니다.
- 허용된 권한: 읽기, 쓰기, 추가, 목록, 만들기 를 선택해야 합니다.
- 유효한 시작 및 만료 날짜/시간. 구성을 배포할 때에는 만료일이 적어도 3개월 이후여야 합니다.
다음은 샘플 SAS 토큰 구성의 스크린샷입니다.
이전에 제대로 작동한 후 로그 전달이 중지된 경우 구성한 SAS 토큰이 만료되었을 수 있으므로 여전히 유효한지 확인하십시오.
Azure Blob 저장소 CDN 로그 azureblob-cdn
전역으로 분산된 각 로깅 서버는 aemcdn 폴더 아래에서 몇 초마다 새 파일을 생성합니다. 파일이 만들어지면에 더 이상 추가되지 않습니다. 파일 이름 형식은 YYYY-MM-DDThhss.sss-uniqueid.log입니다. 예: 2024-03-04T10:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.
예를 들어, 특정 시점에서 다음과 같은 작업을 수행할 수 있습니다.
aemcdn/
2024-03-04T10:00:00.000-abc.log
2024-03-04T10:00:00.000-def.log
30초 후:
aemcdn/
2024-03-04T10:00:00.000-abc.log
2024-03-04T10:00:00.000-def.log
2024-03-04T10:00:30.000-ghi.log
2024-03-04T10:00:30.000-jkl.log
2024-03-04T10:00:30.000-mno.log
각 파일에는 여러 JSON 로그 항목이 포함되어 있으며 각 항목은 별도의 줄에 있습니다. 로그 항목 형식은 AEM as a Cloud Service에 대한 로깅에 설명되어 있으며 각 로그 항목에는 아래 로그 항목 형식 섹션에 언급된 추가 속성도 포함되어 있습니다.
Azure Blob 저장소 AEM 로그 azureblob-aem
AEM 로그(Apache/Dispatcher 포함)는 다음 명명 규칙을 사용하여 폴더 아래에 표시됩니다.
- aemaccess
- aemerror
- aemrequest
- aemdispatcher
- aemhttpdaccess
- aemhttpdererror
각 폴더 아래에 하나의 파일이 만들어지고 추가됩니다. 고객은 이 파일의 크기가 너무 커지지 않도록 처리 및 관리를 담당합니다.
AEM as a Cloud Service에 대한 로깅에서 로그 항목 형식을 참조하십시오. 로그 항목에는 아래의 로그 항목 형식 섹션에서 언급한 추가 속성도 포함됩니다.
Datadog datadog
kind: "LogForwarding"
version: "1"
data:
datadog:
default:
enabled: true
host: "http-intake.logs.datadoghq.eu"
token: "${{DATADOG_API_KEY}}"
tags:
tag1: value1
tag2: value2
고려 사항
- 특정 클라우드 공급자와의 통합 없이 API 키를 만듭니다.
- 태그 속성은 선택 사항입니다
- AEM 로그의 경우 Datadog 소스 태그가
aemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccess또는aemhttpderror중 하나로 설정되어 있습니다 - CDN 로그의 경우 Datadog 소스 태그가
aemcdn(으)로 설정됩니다. - Datadog 서비스 태그가
adobeaemcloud(으)로 설정되어 있지만 태그 섹션에서 덮어쓸 수 있습니다 - 수집 파이프라인이 Datadog 태그를 사용하여 전달 로그에 대한 적절한 인덱스를 결정하는 경우 이러한 태그가 로그 전달 YAML 파일에 올바르게 구성되어 있는지 확인하십시오. 태그가 누락되면 파이프라인이 종속된 경우 성공적인 로그 수집이 방해될 수 있습니다.
Elasticsearch 및 OpenSearch elastic
kind: "LogForwarding"
version: "1"
data:
elasticsearch:
default:
enabled: true
host: "example.com"
user: "${{ELASTICSEARCH_USER}}"
password: "${{ELASTICSEARCH_PASSWORD}}"
pipeline: "ingest pipeline name"
고려 사항
- 기본적으로 포트는 443입니다. 선택적으로
port속성으로 재정의할 수 있습니다. - 자격 증명의 경우 계정 자격 증명이 아닌 배포 자격 증명을 사용해야 합니다. 다음은 이 이미지와 유사할 수 있는 화면에서 생성된 자격 증명입니다.
- AEM 로그의 경우
index이(가)aemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccess또는aemhttpderror중 하나로 설정되어 있습니다. - 선택적 파이프라인 속성은 로그 항목을 적절한 인덱스로 라우팅하도록 구성할 수 있는 Elasticsearch 또는 OpenSearch 수집 파이프라인의 이름으로 설정해야 합니다. 파이프라인의 프로세서 유형을 script(으)로 설정하고 스크립트 언어를 painless(으)로 설정해야 합니다. 다음은 aemaccess_dev_26_06_2024와 같은 인덱스로 로그 항목을 라우팅하는 샘플 스크립트 스니펫입니다.
def envType = ctx.aem_env_type != null ? ctx.aem_env_type : 'unknown';
def sourceType = ctx._index;
def date = new SimpleDateFormat('dd_MM_yyyy').format(new Date());
ctx._index = sourceType + "_" + envType + "_" + date;
HTTPS https
kind: "LogForwarding"
version: "1"
data:
https:
default:
enabled: true
url: "https://example.com/aem_logs/aem"
authHeaderName: "X-AEMaaCS-Log-Forwarding-Token"
authHeaderValue: "${{HTTPS_LOG_FORWARDING_TOKEN}}"
고려 사항
- URL 문자열에 https://이(가) 포함되어야 합니다. 그렇지 않으면 유효성 검사가 실패합니다.
- URL은 포트를 포함할 수 있습니다. 예를 들어,
https://example.com:8443/aem_logs/aem과 같이 입력합니다. URL 문자열에 포트가 포함되지 않으면 포트 443(기본 HTTPS 포트)이 가정됩니다.
HTTPS CDN 로그 https-cdn
웹 요청(POST)은 로그 항목의 배열인 json 페이로드와 함께 지속적으로 전송되며, 로그 항목 형식은 AEM as a Cloud Service에 대한 로깅에 설명되어 있습니다. 추가 속성은 아래의 로그 항목 형식 섹션에 설명되어 있습니다.
aemcdn 값으로 설정된 sourcetype 속성도 있습니다.
/.well-known/fastly/logging/challenge 경로로 전송된 요청은 본문의 별표 * 및 200 상태 코드로 응답해야 합니다.HTTPS AEM 로그 https-aem
AEM 로그(apache/dispatcher 포함)의 경우 AEM as a Cloud Service에 대한 로깅에 설명된 대로 다양한 로그 항목 형식이 포함된 로그 항목의 배열인 json 페이로드와 함께 웹 요청(POST)이 지속적으로 전송됩니다. 추가 속성은 아래의 로그 항목 형식 섹션에 설명되어 있습니다.
다음 값 중 하나로 설정된 Source-Type 속성도 있습니다.
- aemaccess
- aemerror
- aemrequest
- aemdispatcher
- aemhttpdaccess
- aemhttpdererror
New Relic 로그 API newrelic-https
New Relic으로 로그 전달은 수집에 New Relic HTTPS 로그 API를 활용합니다. New Relic에 대한 CDN 로그는 Beta 버전입니다. 액세스 권한을 요청하려면 프로그램 ID로 aemcs-logforwarding-beta@adobe.com에 전자 메일을 보내십시오. 활성화 방법은 Amazon S3, Dynatrace 및 New Relic(베타)용 CDN 로그를 참조하십시오.
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
AEM 로그와 CDN 로그(CDN 로그 in Beta)를 모두 전달하려면 다음을 수행합니다.
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
cdn:
enabled: true
CDN 로그만 전달하려면(베타):
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
aem:
enabled: false
cdn:
enabled: true
고려 사항
- New Relic은 New Relic 계정이 프로비저닝된 위치를 기반으로 지역별 엔드포인트를 제공합니다.
uri을(를) 계정의 지역에 대한 로그 API 끝점으로 설정합니다(예: 미국 지역에 있는 계정에 대한https://log-api.newrelic.com/log/v1). 자세한 내용은 New Relic 설명서를 참조하세요. apiKey의 경우 로그를 받는 계정의 New Relic 라이선스 키(키 유형 INGEST - LICENSE)를 사용하십시오. AEM 로그 및 CDN 로그에 동일한 키가 사용됩니다.- AEM 로그의 경우
source특성이aemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccess또는aemhttpderror중 하나로 설정되어 있습니다. CDN 로그(Beta)의 경우source이(가)aemcdn(으)로 설정되고 각 레코드는 모든 CDN 로그 속성을 전달합니다. 예를 들어 CDN 로그를 쿼리하려면FROM Log SELECT * WHERE source = 'aemcdn' SINCE 1 hour ago. - New Relic으로 전송된 CDN 로그 항목(Beta)에서
timestamp은(는) 숫자입니다. Unix Epoch 이후 요청 시작 시간(밀리초)입니다. 다른 로깅 대상은timestamp을(를) ISO 8601 문자열로 받습니다. - CDN 로그(베타)는 New Relic 수집에 상당한 볼륨을 추가할 수 있습니다. Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그를 참조하십시오.
Dynatrace 로그 API dynatrace-https
Dynatrace으로 로그 전달에서는 수집에 Dynatrace HTTPS API를 활용합니다. Dynatrace에 대한 CDN 로그는 Beta 버전입니다. 액세스 권한을 요청하려면 프로그램 ID로 aemcs-logforwarding-beta@adobe.com에 전자 메일을 보내십시오. 활성화 방법은 Amazon S3, Dynatrace 및 New Relic(베타)용 CDN 로그를 참조하십시오.
토큰에는 로그 수집(logs.ingest) 범위가 필요합니다. AEM 로그 및 CDN 로그에 동일한 토큰이 사용됩니다.
kind: "LogForwarding"
version: "1"
data:
dynatrace:
default:
enabled: true
environmentId: "${{DYNATRACE_ENVID}}"
token: "${{DYNATRACE_TOKEN}}"
AEM 로그와 CDN 로그(CDN 로그 in Beta)를 모두 전달하려면 다음을 수행합니다.
kind: "LogForwarding"
version: "1"
data:
dynatrace:
default:
enabled: true
environmentId: "${{DYNATRACE_ENVID}}"
token: "${{DYNATRACE_TOKEN}}"
cdn:
enabled: true
CDN 로그만 전달하려면(베타):
kind: "LogForwarding"
version: "1"
data:
dynatrace:
default:
enabled: true
environmentId: "${{DYNATRACE_ENVID}}"
token: "${{DYNATRACE_TOKEN}}"
aem:
enabled: false
cdn:
enabled: true
고려 사항
- Dynatrace SaaS 환경만 지원됩니다.
environmentId은(는) 환경 URLhttps://<environmentId>.live.dynatrace.com의 ID입니다. URL 또는 호스트 이름이 아닌 ID만 사용: CDN 로그의 경우 점을 포함할 수 없습니다. Dynatrace Managed 및 ActiveGate 종단점은 지원되지 않습니다. - 각 로그 항목에는
source속성이 포함됩니다. AEM 로그의 경우aemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccess또는aemhttpderror중 하나입니다. CDN 로그(베타)의 경우aemcdn입니다. - CDN 로그(베타)는 Dynatrace 수집에 상당한 볼륨을 추가할 수 있습니다. Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그를 참조하십시오.
Dynatrace에서 CDN 로그 찾기(베타) dynatrace-cdn
Dynatrace은 각 CDN 로그 항목을 로그 레코드의 content에 JSON 텍스트로 저장하고 항목의 timestamp을(를) 레코드 시간으로 사용합니다. source, url 및 status과(와) 같은 CDN 로그 속성은 별도의 로그 특성이 아닙니다. Dynatrace으로 전달된 AEM 로그에도 적용됩니다. 그 결과는 다음과 같습니다.
- 클래식 로그 뷰어의 단순 모드에 있는 필터는 이러한 속성에서 작동하지 않습니다. 존재하지 않는 특성의 필터는 무시되므로 모든 로그가 반환됩니다.
- CDN
status속성이 로그 수준이 아닌 HTTP 상태 코드이므로 이러한 레코드의status에NONE이(가) 표시됩니다.
대신 고급 모드(DQL)를 사용하십시오. 지난 1시간 동안의 CDN 로그를 찾으려면 다음을 수행합니다.
fetch logs, from: now() - 1h
| filter matchesPhrase(content, "aemcdn")
CDN 로그 속성을 구문 분석하고 일부를 표시하려면 다음을 수행하십시오.
fetch logs, from: now() - 1h
| parse content, "JSON:cdn"
| filter cdn[source] == "aemcdn"
| fields timestamp, cdn[url], cdn[status], cdn[pop], cdn[cache], cdn[aem_tier]
스플렁크 splunk
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
token: "${{SPLUNK_TOKEN}}"
index: "aemaacs"
고려 사항
- 기본적으로 포트는 443입니다. 필요한 경우 이름이
port인 속성으로 재정의할 수 있습니다. - Sourcetype 필드는 특정 로그에 따라 다음 값 중 하나를 갖습니다. aemaccess, aemerror,
aemrequest, aemdispatcher, aemhttpdaccess, aemhttpderror, aemcdn - 필요한 IP가 허용 목록에추가된으로 제공되었지만 로그가 계속 전달되지 않는 경우 Splunk 토큰 유효성 검사를 적용하는 방화벽 규칙이 없는지 확인하십시오. Fastly는 잘못된 Splunk 토큰이 의도적으로 전송되는 초기 유효성 검사 단계를 수행합니다. 방화벽이 잘못된 Splunk 토큰으로 연결을 종료하도록 설정된 경우 유효성 검사 프로세스가 실패하여 Fastly가 로그를 Splunk 인스턴스에 전달할 수 없습니다.
sourcetype 필드의 값이 변경되었을 수 있으므로 적절하게 조정하십시오.스모 논리 sumologic
데이터 수집을 위해 Sumo 논리를 구성할 때 단일 문자열에 호스트, receiverURI 및 개인 키를 제공하는 "HTTP Source 주소"가 표시됩니다. 예:
https://collectors.de.sumologic.com/receiver/v1/http/ZaVnC...
위의 설정 섹션에 설명된 대로 URL의 마지막 섹션(/ 없이)을 복사한 다음 CloudManager 보안 환경 변수(으)로 추가한 다음 구성에서 해당 변수를 참조해야 합니다. 예가 아래에 제공됩니다.
kind: "LogForwarding"
version: "1"
data:
sumoLogic:
default:
enabled: true
collectorURL: "https://collectors.de.sumologic.com/receiver/v1/http"
privateKey: "${{SUMOLOGIC_PRIVATE_KEY}}"
index: "aem-logs"
index 필드 동작은 로그 유형에 따라 다릅니다.- AEM 로그(Apache/Dispatcher 포함): Sumo Logic Enterprise 구독이 있는 경우
index에서 지정한 파티션으로 라우팅됩니다. Enterprise 이외의 구독은 대신sumologic_default파티션으로 라우팅됩니다. - CDN 로그: 인덱싱이 Sumo 논리에 전달된 CDN 로그에 대해 기술적으로 지원되지 않으므로
index필드가 무시됩니다. CDN 로그는 항상sumologic_default파티션으로 라우팅됩니다.
Amazon S3, Dynatrace 및 New Relic(베타)에 대한 CDN 로그 cdn-opt-in
Amazon S3, Dynatrace 및 New Relic으로의 CDN 로그 전달은 Beta 버전입니다. AEM 로그(Apache/Dispatcher 포함)를 이러한 대상으로 전달해도 영향을 받지 않으며 요청이 필요하지 않습니다.
CDN 로그를 이러한 대상 중 하나로 전달하려면 다음 두 단계를 모두 완료하십시오.
- 프로그램에 대한 액세스 권한을 요청하세요. 프로그램 ID와 사용할 대상을 전자 메일로 aemcs-logforwarding-beta@adobe.com하세요. 프로그램에 대한 액세스가 활성화되면 Adobe이 답글을 보냅니다.
- 각 대상에 대해 CDN 로그를 사용하도록 설정합니다. 액세스를 사용하도록 설정한 후 로그 전달 구성에서 대상의
cdn블록에enabled: true을(를) 설정하고 구성 파이프라인을 실행합니다. 아래 예를 참조하십시오.
두 단계 모두 필요합니다.
- 액세스만으로는 CDN 로그를 전달하지 않습니다. 대부분의 로깅 대상의 경우 활성화된
default블록이 AEM 로그와 CDN 로그를 모두 전달합니다. Amazon S3(awsS3), Dynatrace(dynatrace) 및 New Relic(newRelic)의 경우cdn블록이enabled: true을(를) 명시적으로 설정할 때 CDN 로그가 만전달됩니다. - 프로그램에 대한 액세스가 활성화되기 전에
cdn.enabled: true을(를) 설정하면 구성이 오류 없이 배포되지만 CDN 로그가 이러한 대상으로 전달되지 않습니다.
cdn 블록은 자격 증명을 포함하여 default 블록의 다른 모든 속성을 상속하므로 enabled: true은(는) 추가해야 하는 유일한 속성입니다.
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
cdn:
enabled: true
액세스 권한이 있는 프로그램의 경우 구성은 다음과 같이 작동합니다.
default.enabled: true만default.enabled: true 및 cdn.enabled: truedefault.enabled: true 및 cdn.enabled: falsedefault.enabled: true, aem.enabled: false 및 cdn.enabled: true다른 대상과 마찬가지로 cdn 블록에 설정된 속성은 default의 값을 재정의합니다. CDN 로그만 전달하려면 마지막 행과 같이 aem.enabled: false을(를) 설정합니다.
CDN 로그 전달을 중지하려면 cdn.enabled: false을(를) 설정하고 구성 파이프라인을 실행합니다. 구성이 배포되면 해당 대상으로의 CDN 로그 전달이 중지됩니다. AEM 로그는 영향을 받지 않습니다.
cdn.enabled: true이(가) 필요하면 기존 구성이 예기치 않은 수집 비용이나 트래픽 없이 AEM 로그만 계속 전달하므로 결정할 시간이 생깁니다.default 블록이 CDN 로그도 전달하므로 다른 대상과 동일한 규칙을 따릅니다. 이러한 대상 중 하나로 AEM 로그만 계속 전달하려면 cdn.enabled: false을(를) 설정하십시오. 지금 설정할 수 있습니다. 해당 날짜 이전과 이후 효과가 동일합니다.CDN 로그를 활성화하기 전에 추가 볼륨을 예측합니다. Dynatrace 및 New Relic과 같이 수집된 볼륨으로 청구하는 로깅 공급업체는 CDN 로그에 대해 AEM 로그에 대한 것과 동일한 방식으로 요금을 부과합니다.
Beta에 대한 피드백을 받으려면 aemcs-logforwarding-beta@adobe.com에 전자 메일을 보내세요.
로그 항목 형식 log-formats
각 로그 유형(CDN 로그 및 Apache/Dispatcher을 포함한 AEM 로그)의 형식은 AEM as a Cloud Service에 대한 로깅을 참조하십시오. 일부 로깅 대상은 CDN 로그 항목의 속성을 추가하거나 변경합니다. 예를 들어 New Relic의 timestamp 형식입니다. 대상을 로깅하여 CDN 로그 항목을 참조하세요.
여러 프로그램 및 환경의 로그를 동일한 로깅 대상으로 전달할 수 있으므로 로깅 문서에 설명된 출력 외에 각 로그 항목에는 다음 속성이 포함됩니다.
- aem_env_id
- aem_env_type
- aem_program_id
- aem_tier
예를 들어 속성은 다음 값을 가질 수 있습니다.
aem_env_id: 1242
aem_env_type: dev
aem_program_id: 12314
aem_tier: author
이전 로그 전달에서 마이그레이션 legacy-migration
셀프서비스 모델을 통해 로그 전달 구성을 수행하기 전에 고객에게 지원 티켓을 열도록 요청했으며, 여기서 Adobe이 통합을 시작합니다.
Adobe에서 이러한 방식으로 설정했던 고객은 편리하게 셀프서비스 모델에 적응할 수 있습니다. 이렇게 전환하는 데는 몇 가지 이유가 있습니다.
- 새 환경(예: 새 개발 환경 또는 RDE)이 프로비저닝되었습니다.
- 기존 Splunk 끝점 또는 자격 증명에 대한 변경.
- Adobe은 CDN 로그를 사용하기 전에 로그 전달을 설정했으며 CDN 로그를 수신하려고 합니다.
- 시간에 민감한 변화가 필요하기 전에 조직에서 지식을 갖도록 셀프서비스 모델에 적극적으로 적응하려는 의식적인 결정입니다.
마이그레이션할 준비가 되면 이전 섹션에서 설명한 대로 YAML 파일을 구성하면 됩니다. Cloud Manager 구성 파이프라인을 사용하여 구성을 적용해야 하는 각 환경에 배포합니다.
구성이 모든 환경에 배포되어 모두 셀프서비스 제어 하에 있는 것이 좋지만 필수는 아닙니다. 구성하지 않은 경우 Adobe에서 구성한 환경과 셀프 서비스 방식으로 구성한 환경을 잊어버릴 수 있습니다.
sourcetype 필드의 값이 변경되었을 수 있으므로 적절하게 조정하십시오.