아마존 OpenSearch 서비스 데이터 소스 사용 - Amazon Managed Grafana

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아마존 OpenSearch 서비스 데이터 소스 사용

메트릭 쿼리 에디터

OpenSearch 쿼리 편집기를 사용하면 여러 지표를 선택하고 여러 용어 또는 필터별로 그룹화할 수 있습니다. 오른쪽에 있는 더하기 및 빼기 아이콘을 사용하여 지표를 추가/제거하거나 조항별로 그룹화할 수 있습니다. 일부 지표 및 그룹화 기준 조항에는 옵션이 있습니다. 옵션 텍스트를 선택하여\ 행을 확장하여 지표 또는 그룹화 기준 옵션을 보고 편집합니다.

PPL (파이프 프로세싱 언어) 사용

Amazon OpenSearch Service 데이터 소스는 PPL (파이프 처리 언어) 을 지원하므로 더 간단하면서도 강력한 쿼리 및 시각화 기능을 사용할 수 있습니다. OpenSearch PPL을 사용하면 고객이 긴 DSL ( OpenSearch 도메인 특정 언어) 문을 작성하거나 JSON 객체를 사용하여 쿼리를 작성할 필요 없이 데이터를 탐색하고 찾을 수 있습니다. PPL을 사용하면 UNIX 파이프처럼 파이프로 구분된 명령 집합으로 쿼리를 작성할 수 있습니다.

다음 샘플 DSL 쿼리를 예로 들어 보겠습니다.

GET opensearch_sample_data_logs/_search{"from":0,"size":0,"timeout":"1m","query":{"bool":{"should":[{"term":{"response.keyword":{"value":"404","boost":1}}},{"term":{"response.keyword":{"value":"503","boost":1}}}],"adjust_pure_negative":true,"boost":1}},"sort":[{"_doc":{"order":"asc"}}],"aggregations":{"composite_buckets":{"composite":{"size":1000,"sources":[{"host":{"terms":{"field":"host.keyword","missing_bucket":true,"order":"asc"}}},{"response":{"terms":{"field":"response.keyword","missing_bucket":true,"order":"asc"}}}]},"aggregations":{"request_count":{"value_count":{"field":"request.keyword"}},"sales_bucket_sort":{"bucket_sort":{"sort":[{"request_count":{"order":"desc"}}],"size":10}}}}}}>

이전 DSL 쿼리는 간결하고 사람이 읽을 수 있는 다음 PPL 명령으로 대체할 수 있습니다.

source = opensearch_sample_data_logs | where response='404' or response='503' | stats count(request) as request_count by host, response | sort –request_count

PPL에 대한 자세한 내용은 파이프 프로세싱 언어를 사용한 OpenSearch Amazon 서비스 데이터 쿼리를 참조하십시오.

시리즈 이름 지정 및 별칭 패턴

Alias입력 필드를 사용하여 시계열 이름을 제어할 수 있습니다.

패턴 설명
{{term fieldname}} Group By라는 용어의 값으로 대체되었습니다.
{{metric}} 지표 이름으로 대체됨 (예: 평균, 최소, 최대)
{{field}} 메트릭 필드 이름으로 대체되었습니다.

파이프라인 메트릭

일부 지표 집계를 파이프라인 집계라고 합니다 (예: 이동 평균 및 도함수). OpenSearch 파이프라인 지표의 기반이 되는 다른 지표가 필요합니다. 지표 옆에 있는 눈 모양 아이콘을 사용하여 그래프에 지표가 나타나지 않도록 숨길 수 있습니다. 이는 쿼리에 있는 지표가 파이프라인 지표에 사용하기 위한 경우에만 유용합니다.

템플릿 작성

메트릭 쿼리에 서버, 애플리케이션, 센서 이름 등을 하드코딩하는 대신 변수를 대신 사용할 수 있습니다. 변수는 대시보드 상단의 드롭다운 선택 상자로 표시됩니다. 이 드롭다운 상자를 사용하여 대시보드에 표시되는 데이터를 변경할 수 있습니다.

템플릿 및 템플릿 변수에 대한 자세한 내용은 을 참조하십시오. 템플릿 및 변수

쿼리 변수

OpenSearch 서비스 데이터 소스는 쿼리 변수의 Query 필드에서 사용할 수 있는 두 가지 유형의 쿼리를 지원합니다. 쿼리는 사용자 지정 JSON 문자열을 사용하여 작성됩니다.

Query 설명
{"find": "fields", "type": "keyword"} 인덱스 유형의 keyword 필드 이름 목록을 반환합니다.
{"find": "terms", "field": "@hostname", "size": 1000} 용어 집계를 사용하여 필드의 값 목록을 반환합니다. 쿼리는 현재 대시보드 시간 범위를 쿼리 시간 범위로 사용합니다.
{"find": "terms", "field": "@hostname", "query": '<lucene query>'} 용어 집계와 지정된 Lucene 쿼리 필터를 사용하여 필드의 값 목록을 반환합니다. 쿼리는 현재 대시보드 시간 범위를 쿼리 시간 범위로 사용합니다.

용어 쿼리의 기본 크기 제한은 500입니다. 사용자 지정 제한을 설정하려면 쿼리에서 크기 속성을 설정합니다. 쿼리 내에서 다른 변수를 사용할 수 있습니다. 다음 코드 예제는 이름이 지정된 변수에 대한 쿼리 정의를 보여줍니다$host.

{"find": "terms", "field": "@hostname", "query": "@source:$source"}

이전 예제에서는 쿼리 정의 $source 내에 이름이 지정된 다른 변수를 사용했습니다. 드롭다운 목록을 사용하여 변수의 현재 값을 변경할 때마다 $source 변수의 $host 업데이트가 시작됩니다. 업데이트 후 $host 변수에는 문서 속성을 기준으로 필터링된 호스트 이름만 포함됩니다. @source

이러한 쿼리는 기본적으로 검색어 순서로 결과를 반환합니다. 그러면 모든 변수와 마찬가지로 알파벳순 또는 숫자순으로 정렬할 수 있습니다. 문서 수를 기준으로 정렬된 용어 목록 (상위 N개 값 목록) 을 생성하려면 의 속성을 추가하십시오. orderBy doc_count 그러면 내림차순 정렬이 자동으로 선택됩니다. 설정을 asc order: "asc" 통해 doc_count (하위 N개 목록) 와 함께 사용할 수 있지만 문서 수 오류가 증가하므로 사용하지 않는 것이 좋습니다. 용어를 문서 개수 순서대로 유지하려면 변수의 정렬 드롭다운 목록을 Disabled (사용 안 함) 로 설정합니다. 또는 알파벳순을 사용하여 다시 정렬할 수도 있습니다.

{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}

쿼리에 변수 사용

두 가지 구문이 있습니다.

  • $<varname>예: @hostname: $호스트 이름

  • [[varname]]예: @hostname: [[호스트 이름]]

왜 두 가지 방법일까요? 첫 번째 구문은 읽고 쓰기가 더 쉽지만 단어 중간에 변수를 사용할 수는 없습니다. 다중 값 또는 모든 값 포함 옵션이 활성화된 경우 Grafana는 레이블을 일반 텍스트에서 Lucene 호환 조건으로 변환합니다.

이전 예제에는 이름이 지정된 변수를 사용하여 속성을 기반으로 문서를 필터링하는 lucene 쿼리가 있습니다. @hostname $hostname 또한 필드별 용어 그룹 입력 상자의 변수도 사용합니다. 이렇게 하면 변수를 사용하여 데이터 그룹화 방식을 빠르게 변경할 수 있습니다.

주석

주석을 사용하면 그래프 위에 풍부한 이벤트 정보를 오버레이할 수 있습니다. 대시보드 메뉴 또는 주석 보기를 사용하여 주석 쿼리를 추가합니다. Grafana는 주석 이벤트에 대한 OpenSearch 모든 인덱스를 쿼리할 수 있습니다. 자세한 설명은 주석 섹션을 참조하세요.

이름 설명
Query 검색 쿼리를 비워 두거나 Lucene 쿼리를 지정할 수 있습니다.
Time 시간 필드의 이름은 날짜 필드여야 합니다.
Time End 시간 종료 필드의 선택적 이름은 날짜 필드여야 합니다. 설정하면 주석이 시간과 종료 시간 사이의 영역으로 표시됩니다.
Text 이벤트 설명 필드.
Tags 이벤트 태그에 사용할 선택적 필드 이름 (배열 또는 CSV 문자열일 수 있음).

로그 쿼리

Explore에서 OpenSearch 로그 데이터를 쿼리하고 표시할 수 있습니다. 로그를 표시하려면 OpenSearch 서비스 데이터 원본을 선택한 다음 선택적으로 Lucene 쿼리를 입력합니다. 자세한 설명은 둘러보기 섹션을 참조하세요.

로그 쿼리

결과가 반환된 후 로그 패널에는 로그 행 목록과 막대 차트가 표시됩니다. 여기서 x축은 시간을, y축은 빈도나 개수를 나타냅니다.

로그 메시지 필터링

선택적으로 쿼리 필드에 Lucene 쿼리를 입력하여 로그 메시지를 필터링할 수 있습니다. 예를 들어 기본 Filebeat 설정을 사용하면 오류 로그 메시지만 표시하는 fields.level:error 데 사용할 수 있어야 합니다.