개요

패싯은 인덱스된 로그에서 가져온 사용자 정의 태그와 속성입니다. 패싯은 정량적 또는 정성적 데이터 분석에 사용됩니다. 이에 따라 다음의 경우에 Log Explorer에서 패싯을 사용할 수 있습니다.

또 패싯을 사용해 대시보드노트북로그 모니터와 로그 위젯에서 로그를 조절할 수 있습니다.

참고: 로그, 아카이브 포워딩, 또는 리하이드레이션의 [로그 프로세싱], livetail 검색, 로그 탐색기 검색, 메트릭 생성을 지원할 때는 패싯이 필요 없습니다. 또 필터로 파이프라인인덱스를 통해 로그를 라우팅하거나 예외 필터로 인덱스에서 로그를 제외하거나 샘플링할 때도 패싯이 필요하지 않습니다.

이와 같은 컨텍스트에서는 자동 완료 기능에서 기존 패싯을 사용하나, 수신 로그와 일치하는 입력이라면 무엇이든 사용할 수 있습니다.

정적 패싯

규격

다음 경우에 정성적 패싯을 사용하세요.

  • 값의 상대적 인사이트를 얻고 싶을 때 사용할 수 있습니다. 예를 들어 NGINX 웹 액세스 로그에서 http.network.client.geoip.country.iso_code에 패싯을 만들어 5XX 오류 수 대비 가장 영향을 많이 받은 상위 국가를 볼 수 있습니다. 이때 Datadog GeoIP Processor가 사용됩니다.
  • 고유 값을 확인하고 싶을 때 사용할 수 있습니다. 예를 들어 Kong 로그에서 user.email 패싯을 생성해 하루에 몇 명이 웹사이트를 이용하는지 알 수 있습니다.
  • 특정 값에 따라 로그를 자주 필터링하고 싶을 때 사용합니다. 예를 들어 environment 태그에 패싯을 생성해 개발, 스테이징, 또는 프로덕션 환경까지 범위를 지정할 수 있습니다.

참고: 속성 값을 필터링할 때 패싯을 반드시 사용해야 할 필요는 없지만 문제를 조사할 때 자주 사용하는 속성에 패싯을 정의해두면 문제 해결 시간을 줄이는 데 도움이 됩니다.

유형

정량적 패싯은 문자열이나 숫자(정수)가 있는 유형입니다. 문자열 유형을 차원에 할당하면 대부분의 경우 정상적으로 작동하지만 정수 유형을 차원에 사용하면 위에 언급한 모든 기능에 더해 범위 필터링이 가능합니다. 예를 들어 정수 유형 차원에 유효한 쿼리에는 http.status_code:[200 TO 299]가 있습니다. 참조를 보려면 구문 검색을 참고하세요.

정량적 패싯

측정

다음이 필요할 때 수치를 사용하세요.

  • 여러 로그의 집계 값을 구할 때 사용합니다. 예를 들어 맵 서버의 Varnish 캐시를 이용하는 타일 크기 수치를 생성하고 일일 평균 처리량을 추적하거나 요청 타일 크기 총합별 상위 참조자를 볼 수 있습니다.
  • 로그의 범위를 지정해 필터링할 때 사용합니다. 예를 들어 Ansible 작업 실행 시간의 수치를 생성하고 실행하는 데 10s 이상이 걸리는 서버 목록을 볼 수 있습니다.
  • 특정 값의 로그를 정렬할 때 사용합니다. 예를 들어 Python 마이크로서비스로 실행한 결제량 수치를 생성할 수 있습니다. 그 후 수치가 가장 높은 것부터 로그를 모두 검색할 수 있습니다.

유형

동등한 기능에 (큰) 정수나 소수점 값이 오는 수치

유닛

쿼리 시간과 디스플레이 시간의 순서대로 처리하기 쉽도록 시간이나 크기 단위를 지원하는 수치

유형단위
바이트비트/바이트/KiB/MiB/GiB/TiB/250바이트/260바이트
시간나노초/마이크로초/밀리초/초/분/시/일/주

단위는 필드 속성이 아니라 수치 속성입니다. 예를 들어 나노초 duration 수치의 경우 service:A에 있는 로그 duration:1000은 1000 밀리초를 뜻합니다. service:B에 있는 로그 duration:500은 500 마이크로초를 뜻합니다.

  1. 산술 프로세서로 들어오는 로그 전체에 나노초 단위로 시간을 조정할 수 있습니다. service:A 로그에 *1000000 승수를 사용하고 service:B 로그에는 *1000 승수를 사용합니다.
  2. duration:>20ms([검색 구문1 참조)를 사용해 지속적으로 두 개 서비스에서 동시에 로그를 쿼리하고 최대 1 min의 집계 결과를 확인하세요.

패싯 패널

데이터를 필터링하고 그룹화할 때 검색 바가 가장 종합적인 상호 작용 기능을 많이 제공합니다. 그러나 대부분의 경우 패싯 패널을 사용해 데이터를 조사하는 것이 간편합니다. 패싯을 열어 컨텐츠 요약을 살펴보고 현재 쿼리의 범위를 알아볼 수 있습니다.

**패싯(정성적)**은 고유한 상위 값 및 각 값과 일치하는 로그 개수와 함께 표시됩니다.

차원 패싯

두 값 중 하나를 클릭해 검색 쿼리 범위를 조정합니다. 값을 클릭해 해당 고유 값과 전체 값 검색 결과를 토글할 수 있습니다. 체크 상자를 클릭해 해당 값을 전체 값 목록에서 추가 및 삭제할 수 있고 내용을 검색할 수도 있습니다.

패싯 자동 완료

수치는 최솟값과 최댓값이 있는 슬라이더와 함께 표시됩니다. 슬라이더를 사용하거나 숫자 값을 입력해 검색 쿼리의 범위 경계를 다르게 조정할 수 있습니다.

수치 패싯

패싯 숨기기

조직에는 다양한 팀의 여러 사용 사례에 맞게 대처하도록 수집하는 패싯 종류가 매우 많습니다. 그러나 보통 특정 트러블슈팅 컨텍스트에서는 이 패싯의 하위 세트만이 유용하게 사용됩니다. 트러블슈팅 세션에서 일상에서 사용하지 않는 패싯을 숨기고 필요한 패싯만 표시하세요.

패싯 숨기기

패싯을 숨겨도 필요할 경우에 대비해 패싯 검색 결과에는 표시됩니다(패싯 필터링 섹션 참고). 여기에서 패싯 숨기기를 해제할 수 있습니다.

패싯 숨기기 해제

숨긴 패싯은 검색 바 자동 완료와 Log Explorer의 분석 결과 드롭다운(예: 수치, 그룹별)에서도 숨겨진 상태로 나타납니다. 그러나 검색 쿼리에서는 패싯을 숨겨도 유효한 상태로 나타납니다(예: 로그 탐색기 링크를 복사-붙여넣기 한 경우).

숨긴 패싯은 로그 탐색기(예: livetail, 모니터, 또는 대시보드 위젯 정의) 외 기능에는 아무 영향이 없습니다.

숨겨진 패싯과 팀원

패싯 숨기기 기능은 내 트러블슈팅 컨텍스트에 맞게 사용해야 하고 팀원의 보기에는 아무런 영향을 미치지 않습니다. 단, 저장된 보기를 업데이트한 경우에는 다릅니다. 숨긴 패싯은 저장된 보기에 저장된 컨텍스트의 일부가 됩니다.

패싯 그룹화

탐색하기 쉽게 패싯 목록에는 패싯이 의미 있는 테마별로 그룹화되어 있습니다. 패싯에 그룹을 할당 및 재할당하는 것은 패싯 목록 디스플레이에만 영향을 주고 검색과 분석 기능에는 아무런 영향을 주지 않습니다.

패싯 그룹화

패싯을 그룹화하는 하는 방법:

  1. 패싯의 톱니바퀴 아이콘을 클릭합니다.
  2. Edit facet을 선택하세요.
  3. Advanced options 섹션을 클릭해 확장하세요.
  4. Group 필드에 패싯을 넣고 싶은 그룹 이름을 입력하세요.
  5. Update를 클릭합니다.

패싯 필터링

패싯의 검색 상자를 사용해 전체 패싯 목록에서 범위를 조정하여 소통하고 싶은 패싯으로 빨리 이동할 수 있습니다. 패싯 검색에는 패싯 표시 이름과 패싯 필드 이름울 사용해 검색 결과를 조정할 수 있습니다.

패싯 검색

앨리어싱된 패싯

일부 패싯에는 앨리어싱이 되어 있을 수 있습니다(패싯 앨리어싱 섹션 참고). 앨리어싱된 패싯은 데이터 세분화 및 분석에 계속 사용할 수 있으나 조직에서 사용하지 않는 패싯으로 분류된 것입니다.

앨리어싱된 패싯

트러블슈팅을 할 때 표준 패싯보다 앨리어싱된 패싯에서 (우리 팀의 컨텐츠와 함께) 다른 팀 컨텐츠를 찾을 확률이 높습니다. 이 때문에 다양한 소스의 컨텐츠에서 상관 관계를 더 쉽게 찾을 수 있습니다.

패싯 목록에서 앨리어싱된 패싯이 보인다면 switch to alias 메뉴 항목을 클릭해 표준 패싯을 사용하는 것이 좋습니다. 그러면 앨리어싱된 패싯을 숨기고 표준 패싯의 숨김을 해제합니다. 이때 저장된 보기를 업데이트해야 한다면 저장된 보기를 저장해 헤당 보기를 사용하는 사용자 모두에게 앨리어싱이 적용되도록 하세요.

패싯 전환

예전 컨텐츠(조직에서 해당 패싯 앨리어싱을 설정하기 이전)를 트러블슈팅하는 경우 앨리어싱된 비표준 패싯 버전을 저장해야 할 수도 있습니다.

패싯 관리

기본 제공 패싯

가장 일반적으로 사용하는 패싯인 HostService는 기본적으로 제공되기 때문에 로그 인덱스에 로그가 전송되면 즉시 트러블슈팅에 사용할 수 있습니다.

Reserved AttributesStandard Attributes 패싯 대부분은 기본적으로 사용할 수 있습니다.

패싯 인덱싱

인덱스 패싯은 조직에 여러 인덱스가 있을 때 및/또는 활성 기록 보기가 있을 때만 나타나는 구체적인 패싯입니다. 쿼리를 인덱스의 하위 세트로 범위를 좁히고 싶을 때 이 패싯을 사용하세요.

패싯 생성

패싯 생성

모범 사례로 운영하려면 새 패싯을 생성하기보다 기존 패싯 사용을 먼저 고려하세요(패싯 앨리어싱 참고). 비슷한 정보를 얻을 때 고유한 패싯을 사용하면 팀 간의 협력을 증진할 수 있습니다.

JSON 개체 어레이에서 패싯을 생성하려면 먼저 grok 파서를 사용해 속성을 추출하고 해당 속성의 패싯을 생성하세요.

참고: 패싯을 생성하면 새 로그 전체에 컨텐츠가 자동으로 채워집니다. Datadog에서는 로그 관리 솔루션을 최적으로 사용하기 위해 최대 1000 패싯까지 사용하기를 권장합니다.

로그 측면 패널

패싯을 가장 손쉽게 생성하는 방법은 로그 측면 패널에서 추가하는 것입니다. 이 패널에는 필드 이름이나 데이터 근본 유형과 같은 패싯 상세 정보가 미리 채워져 있어 확인만 하면 됩니다. Log Explorer에서 패싯을 생성할 필드가 있는 관심 로그로 이동하세요. 해당 로그의 측면 패널을 열고 해당 필드를 클릭(태그나 속성 중 하나)한 후 패싯을 생성하세요.

  • 필드에 문자열 값이 있는 경우 패싯 생성만 사용할 수 있습니다.
  • 필드에 숫자 값이 있는 경우 패싯과 수치 생성이 모두 가능합니다.
속성에서 패싯 생성

참고: 모범 사례로 사용하려면 패싯을 1000개 이하로 사용하는 것을 권고합니다.

패싯 목록

일치하는 로그를 찾을 수 없는 경우에는 패싯 추가 버튼을 사용해 패싯 패널에서 바로 새 패싯을 생성할 수 있습니다.

이 패싯의 기본 필드(키) 이름을 정의합니다:

  • 태그의 태그 키 이름을 사용하세요.
  • @ 접두사를 사용해 속성 경로를 사용하세요.

현재 보기의 로그 컨텐츠를 기반으로 자동 완성 기능을 사용하면 적절한 필드 이름으로 정의하도록 도와줍니다. 그러나 인덱스에 일치하는 로그가 들어오지 않는 경우 여기에는 어떤 값이든 사용할 수 있습니다.

처음부터 패싯 생성하기

패싯 앨리어싱

고유한 패싯 하나에 유사한 컨텐츠를 모으면 팀 간 분석과 트러블슈팅이 가능합니다. 이름 정의 규칙을 참고하세요.

이름 정의 규칙이 일정하지 않은 팀 간에 부드럽게 일관성을 도입하려면 앨리어싱 옵션을 사용하는 것이 좋습니다. 앨리어싱을 사용하면 팀이 조직에 표시되는 표준 패싯을 사용하도록 할 수 있습니다.

패싯을 다른 패싯에 앨리어싱

조직 내 여러 팀이 이미 유사한 컨텐츠에 여러 패싯을 생성한 경우에 이 방법을 사용하는 것이 좋습니다.

앨리어싱된 패싯을 표준 패싯에 앨리어싱하는 경우:

  • 사용자는 트러블슈팅할 때 앨리어싱된 패싯과 표준 패싯 중에 하나를 선택해서 사용할 수 있습니다. 다양하고 다차원적인 소스에서 유입되는 컨텐츠의 상관 관계를 쉽게 수립하려면 표준 패싯을 이용하는 것이 좋습니다.
  • 앨리어싱된 패싯에 표준 패싯을 사용하도록 권고 메시지가 나타납니다.

표준 패싯에 다른 패싯을 앨리어싱하려면 패싯 메뉴에서 Alias to... 작업 항목을 선택하세요. 조직 내 기존 표준 패싯 전체 목록 중에서 대상 패싯을 선택하세요.

앨리어스 모달

속성을 패싯에 앨리어싱

새 소스에서 로그를 온보딩할 경우에 사용하기 가장 적합한 옵션입니다. 해당 로그의 필드에 패싯을 생성해서 표준 패싯에 앨리어싱하면 패싯이 곧 사용되지 않을 수 있습니다. 대신, 필드를 기존 패싯에 바로 앨리어싱할 수 있습니다.

속성에서 패싯 앨리어싱

패싯 삭제

인덱스, 모니터, 대시보드, 제한 쿼리, 또는 다른 팀에서 사용하는 패싯을 삭제하면 구성에 오류가 발생할 수 있습니다.

패싯을 삭제하려면 다음 단계를 따르세요

  • 패싯 패널 상단에 있는 **Showing xx of xx"을 클릭하세요.
  • 패싯을 검색하세요.
  • 패싯의 연필 아이콘을 클릭하세요.
  • 삭제를 클릭하세요.

참고 자료

PREVIEWING: esther/docs-9478-fix-split-after-example