기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
IAM 정책
Grafana는 Redshift 지표를 읽을 수 있도록 IAM을 사용하여 부여된 권한이 필요합니다. 역할 수임을 위해 이러한 권한을 IAM 역할에 연결하고 Grafana의 기본 제공 지원을 활용할 수 있습니다. 기본 제공 Amazon Grafana Redshift 액세스 정책은 AWS 관리형 정책: AmazonGrafanaRedshiftAccess 섹션에 정의되어 있습니다.
Amazon Redshift 데이터 쿼리
Amazon Redshift 데이터 소스는 표준 SQL 쿼리 편집기를 제공합니다. Amazon Managed Grafana에는 더 복잡한 시간 쿼리를 작성하는 데 도움이 되는 몇 가지 매크로가 포함되어 있습니다.
매크로
매크로 | 설명 | 출력 예시 |
---|---|---|
$__timeEpoch(column)
|
$__timeEpoch 는 UNIX 타임스탬프로 변환하고 열 이름을 시간으로 바꾸는 표현식으로 대체됩니다. |
UNIX_TIMESTAMP(dateColumn) as "time"
|
$__timeFilter(column)
|
$__timeFilter 는 패널의 시간 범위에 따라 데이터(column 사용)를 필터링하는 조건을 생성함 |
time BETWEEN '2017-07-18T11:15:52Z' AND
'2017-07-18T11:15:52Z'
|
$__timeFrom()
|
$__timeFrom 은 패널 범위의 현재 시작 시간을 따옴표로 묶어 출력함 |
'2017-07-18T11:15:52Z' |
$__timeTo()
|
$__timeTo 는 패널 범위의 현재 종료 시간을 따옴표로 묶어 출력함 |
'2017-07-18T11:15:52Z' |
$__timeGroup(column, '1m')
|
$__timeGroup 은 그래프의 기간마다 1개의 포인트만 존재하도록 타임스탬프를 그룹화함 |
floor(extract(epoch from time)/60)*60 AS
"time" |
$__schema
|
$__schema 에서는 선택한 스키마를 사용합니다. |
public |
$__table
|
$__table 은 지정된 $__schema 에서 테이블을 출력함(기본적으로 퍼블릭 스키마 사용) |
sales |
$__column
|
$__column 은 현재 $__table 에서 열을 출력함 |
date
|
$__unixEpochFilter(column)
|
$__unixEpochFilter 는 지정된 열 이름을 사용하여 시간 범위 필터로 대체됨(Unix 타임스탬프로 시간이 표시됨) |
column >= 1624406400 AND column <= 1624410000
|
$__unixEpochGroup(column)
|
$__unixEpochGroup 은 $__timeGroup 과 동일하지만 시간이 Unix 타임스탬프로 저장됨 |
floor(time/60)*60 AS "time" |
시각화
Redshift에서 대부분의 쿼리는 테이블 시각화로 가장 잘 표현됩니다. 모든 쿼리는 테이블에서 데이터를 표시합니다. 쿼리할 수 있는 경우 테이블에 넣을 수 있습니다.
이 예제에서는 테이블 시각화에 대한 결과를 반환합니다.
SELECT {column_1}, {column_2} FROM {table};
시계열 및 그래프 시각화
시계열 및 그래프 시각화에는 몇 가지 요구 사항이 있습니다.
-
date
또는datetime
유형의 열을 선택해야 합니다. -
date
열은 오름차순이어야 합니다(ORDER BY column ASC
사용). -
숫자 열을 선택해야 합니다.
보다 합리적인 그래프를 만들려면 $__timeFilter
및 $__timeGroup
매크로를 사용해야 합니다.
시계열 쿼리 예제:
SELECT
avg(execution_time) AS average_execution_time,
$__timeGroup(start_time, 'hour'),
query_type
FROM
account_usage.query_history
WHERE
$__timeFilter(start_time)
group by
query_type,start_time
order by
start_time,query_type ASC;
채우기 모드
또한 Grafana는 일부 기본값이 있는 값 없이 프레임을 자동 완성합니다. 이 값을 구성하려면 쿼리 편집기에서 값 채우기를 변경합니다.
쿼리 검사
Grafana는 Redshift에서 지원하지 않는 매크로를 지원하므로 Redshift에 직접 복사하여 붙여넣을 수 있는 완전히 렌더링된 쿼리가 쿼리 검사기에 표시됩니다. 보간된 전체 쿼리를 보려면 쿼리 검사기 메뉴를 선택합니다. 그러면 전체 쿼리가 쿼리 탭에 표시됩니다.
템플릿 및 변수
새 Redshift 쿼리 변수를 추가하는 방법에 대한 자세한 내용은 쿼리 변수 추가 섹션을 참조하세요. Redshift 데이터 소스를 사용 가능한 쿼리의 데이터 소스로 사용합니다.
Amazon Redshift 테이블에서 쿼리한 모든 값을 변수로 사용할 수 있습니다. 너무 많은 값을 선택하지 마세요. 그러면 성능 문제가 발생할 수 있습니다.
변수를 생성한 후 변수 구문을 사용하여 Redshift 쿼리에 사용할 수 있습니다. 변수에 대한 자세한 내용은 템플릿 및 변수 섹션을 참조하세요.
Annotations
Annotations을 사용하면 그래프 위에 풍부한 이벤트 정보를 오버레이할 수 있습니다. 패널을 선택하거나 대시보드 메뉴에서 연 주석 보기를 사용해 주석 쿼리를 추가하여 주석을 추가할 수 있습니다.
주석을 자동으로 추가하는 예제 쿼리:
SELECT
time as time,
environment as tags,
humidity as text
FROM
$__table
WHERE
$__timeFilter(time) and humidity > 95
다음 표는 주석을 렌더링하는 데 고려하는 열의 값을 나타냅니다.
명칭 | 설명 |
---|---|
|
날짜 또는 시간 필드의 이름. 기본 SQL 날짜 또는 시간 데이터 유형 또는 에포크 값을 포함하는 열일 수 있습니다. |
|
종료 날짜 또는 시간 필드의 선택적 이름. 기본 SQL 날짜 또는 시간 데이터 유형 또는 에포크 값을 포함하는 열일 수 있습니다. |
|
이벤트 설명 필드. |
|
이벤트 태그에 대해 쉼표로 구분된 문자열로 사용할 선택적 필드 이름. |