그래파이트 데이터 소스에 연결 - Amazon Managed Grafana

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

그래파이트 데이터 소스에 연결

Grafana에는 메트릭 공간을 빠르게 탐색하고, 함수를 추가하고, 함수 매개 변수를 변경하는 등의 작업을 수행할 수 있는 고급 Graphite 쿼리 편집기가 있습니다. 편집기는 모든 유형의 그래파이트 쿼리를 처리할 수 있습니다. 쿼리 참조를 사용하여 복잡한 중첩 쿼리를 처리할 수도 있습니다.

그래파이트 설정

그래파이트 설정에 액세스하려면 구성 (기어) 아이콘을 일시 중지한 다음 데이터 소스를 선택한 다음 Graphite 데이터 소스를 선택합니다.

명칭 설명
Name 데이터 소스 이름. 패널 및 쿼리에서 데이터 소스를 보는 방법은 다음과 같습니다.
Default 기본 데이터 소스는 새 패널에 사용할 데이터 소스가 미리 선택된다는 의미입니다.
URL 그라파이트 웹 또는 그라파이트 API 설치의 HTTP 프로토콜, IP 및 포트.
Access 서버 (기본값) = Grafana 백엔드/서버에서 URL에 액세스할 수 있어야 합니다.
Auth
Basic Auth 데이터 소스에 대한 기본 인증을 활성화합니다.
User 기본 인증을 위한 사용자 이름.
Password 기본 인증을 위한 암호.
Custom HTTP Headers 헤더 추가를 선택하여 사용자 지정 HTTP 헤더를 추가합니다.
Header 사용자 지정 헤더 이름을 입력합니다.
Value 사용자 지정 헤더 값을 입력합니다.
Graphite details
Version 사용 중인 Graphite 버전을 선택합니다.
Type 그라파이트 유형을 선택하세요.

액세스 모드는 데이터 소스에 대한 요청을 처리하는 방법을 제어합니다. 달리 명시되지 않은 경우 서버를 사용하는 것이 좋습니다.

서버 액세스 모드 (기본값)

모든 요청은 브라우저에서 Amazon Managed Grafana로 이루어지며, Amazon Managed Grafana는 요청을 데이터 소스로 전달하여 가능한 크로스 오리진 리소스 공유 (CORS) 요구 사항을 우회합니다. 이 액세스 모드를 선택하는 경우 Amazon Managed Grafana에서 URL에 액세스할 수 있어야 합니다.

브라우저 액세스 모드

Amazon Managed Grafana는 그래파이트 데이터 소스에 대한 브라우저 직접 액세스를 지원하지 않습니다.

그래파이트 쿼리 에디터

Grafana에는 쿼리를 작성하는 데 도움이 되는 Graphite 전용 쿼리 편집기가 포함되어 있습니다.

Graphite로 전송되는 쿼리의 원시 텍스트를 보려면 텍스트 편집 모드 전환 (연필) 아이콘을 선택하십시오.

쿼리할 지표 선택

지표 선택을 선택하여 지표 공간을 탐색합니다. 시작한 후 포인터 또는 키보드 화살표 키를 계속 사용할 수 있습니다. 와일드카드 문자를 선택해도 계속 진행할 수 있습니다.

함수

함수를 추가하려면 함수 옆에 있는 더하기 아이콘을 선택합니다. 함수를 검색하거나 메뉴에서 함수를 선택할 수 있습니다. 함수를 선택하면 해당 함수가 추가되고 첫 번째 매개변수의 텍스트 상자에 초점이 맞춰집니다. 매개변수를 편집하거나 변경하려면 매개변수를 선택하면 텍스트 상자로 바뀝니다. - 함수를 삭제하려면 함수 이름과 x 아이콘을 차례로 선택합니다.

와 같은 aliasByNode 일부 함수는 선택적 두 번째 인수를 지원합니다. 인수를 추가하려면 첫 번째 인수에서 잠시 멈춘 다음 나타나는 + 기호를 선택합니다. 두 번째 선택적 매개 변수를 제거하려면 해당 매개 변수를 선택하고 비워 둡니다. 편집기가 이를 제거합니다.

라벨 정렬

일관된 순서를 원하면 을 사용하세요sortByName. 그래프가 여러 개 있는데 레이블이 서로 다르게 정렬되고 색상도 다르면 불편할 수 있습니다. 이 문제를 해결하려면 를 사용하십시오sortByName().

중첩 쿼리

쿼리에 있는 행 문자를 사용하여 쿼리를 참조할 수 있습니다 (Microsoft Excel과 유사). 그래프에 두 번째 쿼리를 추가하는 경우 #A 를 입력하여 첫 번째 쿼리를 참조할 수 있습니다. 이렇게 하면 복합 쿼리를 편리하게 작성할 수 있습니다.

와일드카드 문자를 사용하여 많은 쿼리를 피할 수 있습니다.

경우에 따라 동일한 그래프에 여러 시계열이 그려져 있는 것을 보고 싶을 때가 있습니다. 예를 들어 컴퓨터에서 CPU가 어떻게 사용되고 있는지 확인하고 싶을 수 있습니다. 처음에는 각 시계열에 대한 쿼리 (예: cpu.percent.user.gcpu.percent.system.g, 등) 를 추가하여 그래프를 만들 수 있습니다. 이로 인해 데이터 원본에 대해 n개의 쿼리가 수행되므로 비효율적입니다.

효율성을 높이기 위해 검색에 와일드카드 문자를 사용하여 한 쿼리로 모든 시계열을 반환할 수 있습니다. 예를 들어 cpu.percent.*.g입니다.

표 또는 차트에서 측정항목 이름 수정

alias함수를 사용하여 Grafana 테이블 또는 그래프에서 메트릭 이름을 변경합니다 (예: 또는). aliasByNode() aliasSub()

포인트 통합

Graphite가 그래프의 픽셀 수보다 많은 데이터 포인트를 반환하지 않도록 모든 Graphite 메트릭이 통합됩니다. 기본적으로 이 통합은 함수를 사용하여 수행됩니다. avg Graphite ConsolidateBy 함수를 추가하여 Graphite가 메트릭을 통합하는 방법을 제어할 수 있습니다.

참고

즉, 범례 요약 값 (최대값, 최소값, 합계) 이 모두 동시에 정확할 수는 없습니다. Grafana에서 클라이언트 측에서 계산합니다. 그리고 통합 기능에 따라 동시에 한두 개만 맞을 수 있습니다.

시계열 결합

시계열을 결합하려면 함수 목록에서 결합을 선택합니다.

데이터 탐색 및 태그

그래파이트에서는 모든 것이 태그입니다.

데이터를 탐색할 때 이전에 선택한 태그를 사용하여 나머지 결과 세트를 필터링합니다. 데이터를 선택하려면 함수를 사용합니다. 이 seriesByTag 함수는 태그 표현식 (=,, !==~,!=~) 을 사용하여 시계열을 필터링합니다.

Grafana 쿼리 빌더는 태그를 선택할 때 자동으로 이 작업을 수행합니다.

참고

팁: 카디널리티가 높은 태그에서는 정규 표현식 검색 속도가 느릴 수 있으므로 먼저 다른 태그를 사용하여 범위를 줄여보세요. 특정 이름이나 네임스페이스로 시작하면 검색 결과를 줄일 수 있습니다.

템플릿 변수

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

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

태그 값을 사용하여 변수를 만들려면 tags Grafana 함수 및 를 사용하십시오. tag_values

Query 설명
tags() 모든 태그를 반환합니다.
tags(server=~backend\*) 필터 표현식과 일치하는 직렬로 발생하는 태그만 반환합니다.
tag_values(server) 지정된 태그의 태그 값을 반환합니다.
tag_values(server, server=~backend\*) 지정된 태그에 대해 해당 표현식과 일치하는 일련의 필터링된 태그 값을 반환합니다.
tag_values(server, server=~backend\*, app=~${apps:regex}) 여러 필터 표현식과 표현식에는 다른 변수가 포함될 수 있습니다.

자세한 내용은 태그 자동 완성 API에 대한 Graphite 문서를 참조하십시오.

쿼리 변수

쿼리 필드에 지정하는 쿼리는 지표 찾기 유형의 쿼리여야 합니다. 예를 들어, 와 같은 prod.servers.* 쿼리는 와일드카드 위치에 있는 가능한 모든 값으로 변수를 채웁니다.

정의에 다른 변수를 사용하는 중첩 변수를 만들 수도 있습니다. 예를 들어, 쿼리 $app 정의에 변수를 apps.$app.servers.* 사용합니다.

쿼리 변수 결과를 __searchFilter 필터링하는 데 사용

쿼리 __searchFilter 필드에 사용하면 드롭다운 선택 상자에 입력한 내용을 기준으로 쿼리 결과가 필터링됩니다. 아무 것도 입력하지 않는 경우 기본값은 __searchFilter * 이고 정규 표현식의 일부로 사용할 경우 ``입니다.

다음 예제는 사용자가 드롭다운 선택 상자에 텍스트를 입력하는 server 동안 검색이 가능하도록 쿼리 필드의 __searchFilter 일부로 사용하는 방법을 보여줍니다.

Query

apps.$app.servers.$__searchFilter

TagValues

tag_values(server, server=~${__searchFilter:regex})

변수 사용량

변수를 메트릭 노드 경로에 사용하거나 함수의 매개 변수로 사용할 수 있습니다.

두 가지 구문이 있습니다.

  • $<varname>예: apps.fronend. $server.requests.count

  • ${varname}예: 앱. 프론트엔드. $ {서버} .requests.count

왜 두 가지 방법일까요? 첫 번째 구문은 읽고 쓰기는 더 쉽지만 단어 중간에 변수를 사용할 수는 없습니다. 와 같은 표현식에는 두 번째 구문을 사용하십시오my.server${serverNumber}.count.

태그 쿼리의 변수 사용

태그 쿼리의 다중 값 변수는 Grafana 5.0에 도입된 고급 형식 지정 구문을 변수에 사용합니다. {var:regex} 태그가 아닌 쿼리는 다중 값 변수에 기본 글로브 형식을 사용합니다.

다음 코드 예제는 정규식 형식을 사용하고 Equal Tilde 연산자 () 를 사용하는 태그 표현식을 보여줍니다. =~

server=~${servers:regex}

자세한 정보는 고급 변수 형식 옵션을 참조하세요.

주석

주석을 사용하면 그래프 위에 다양한 이벤트 정보를 오버레이할 수 있습니다. 대시보드 메뉴/주석 보기를 통해 주석 쿼리를 추가합니다. 자세한 정보는 주석을 참조하세요.

Graphite는 주석을 쿼리하는 두 가지 방법을 지원합니다.

  • 일반 메트릭 쿼리. 이를 위해 Graphite 쿼리 텍스트 상자를 사용합니다.

  • 그래파이트 이벤트 쿼리. 이를 위해 Graphite event tags 텍스트 상자를 사용하고 태그나 와일드카드 문자를 지정합니다 (비워 둘 수도 있음).