기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Oracle 데이터베이스 데이터 원본에 연결
참고
이 데이터 소스는 Grafana Enterprise 전용입니다. 자세한 정보는 엔터프라이즈 플러그인 액세스 관리을 참조하세요.
또한 버전 9 이상을 지원하는 작업 공간에서는 이 데이터 소스를 사용하려면 적절한 플러그인을 설치해야 할 수 있습니다. 자세한 정보는 플러그인으로 작업 영역 확장을 참조하세요.
데이터 소스 추가
Grafana 왼쪽 패널에서 데이터 소스를 선택합니다.
데이터소스 추가를 선택합니다.
oracle
를 입력하여 데이터 원본을 찾습니다.
Oracle 서버 세부 정보를 입력합니다.
연결할 포트 번호, 사용자 이름 및 암호와 함께 호스트 이름 (또는 IP 주소) 을 입력합니다.
tnsnames 옵션 토글을 사용하면 tnsnames.ora 구성 파일에 있는 유효한 모든 항목을 기본 인증과 함께 사용할 수 있습니다.
이전 예와 비슷하지만 인증에 Kerberos를 사용합니다. kerberos를 사용하도록 OS 또는 Docker 컨테이너를 구성하는 방법에 대한 자세한 내용은 kerberos별 설정 가이드를 참조하십시오.
선택적으로 Oracle 서버에 연결하는 데 사용되는 시간대와 시간대 인식 매크로에서 사용할 시간대를 변경할 수 있습니다. 기본 설정은 UTC입니다.
데이터 원본을 저장하고 테스트하면 “데이터베이스 연결 확인”이라는 녹색 메시지가 표시됩니다.
사용량
매크로
구문을 단순화하고 날짜 범위 필터와 같은 동적 부분을 허용하기 위해 쿼리에 매크로가 포함될 수 있습니다. 열 이름은 큰따옴표 () 안에 포함되어야 합니다. "
매크로 예제 | 설명 |
---|---|
*$__time (날짜 열) * | 열 이름을 `time`으로 바꾸는 표현식으로 대체됩니다. 예: `날짜/열을 시간으로 나타낸다` *$__TimeEpoch (날짜 열) * | 열 이름을 바꾸고 값을 유닉스 타임스탬프 (밀리초 단위) 로 변환하는 표현식으로 대체됩니다. time |
*$__TimeFilter (DateColumn) * | 지정된 열 이름을 사용하는 시간 범위 필터로 대체됩니다. 예: `TO_DATE ('19700101', 'yyyymmdd') + (1/24/60/60/1000) * 1500376552001과 TO_DATE ('19700101', 'yyyymmdd') + (1/24/60/100) * 1500376552002` *$__TimeFrom () * | 현재 활성 시간 선택이 DATE 데이터 유형으로 변환된 시작 부분으로 대체됩니다. 예를 들어 TO_DATE('19700101','yyyymmdd') +
(1/24/60/60/1000) * 1500376552001 입니다. |
*$__timeTo () * | 현재 활성화된 시간 선택이 'DATE' 데이터 유형으로 변환된 종료 시간으로 대체됩니다. *$__타임 그룹 (날짜 열, “5m”) * | GROUP BY 절에서 사용할 수 있는 표현식으로 대체됩니다. |
*$__타임 그룹 (날짜 열, "5m "[, 값 채우기]) * | GROUP BY 절에서 사용할 수 있는 표현식으로 대체됩니다. FillValue를 NULL 또는 부동 값으로 제공하면 시간 범위의 빈 시리즈가 해당 값으로 자동으로 채워집니다. 예를 들어, t i m e G r o u p c r e a t, '1 m ′, 0을 예로 들 수 있습니다. *__타임그룹 (날짜 열, “5m”, 0) *. |
* t i m e G r o u p (d a t e C o l u m n, '5 m', N U L L) * | S a m e a b o v e eb u t n U L l w i l l b e u s e e s e e s s v a l u e e f o r m i s i n g모든 것이 여기에 있습니다. *__시간 그룹 (날짜 열, “5분”, 이전) * | 위와 동일하지만 아직 값이 보이지 않으면 해당 시리즈의 이전 값이 채우기 값으로 사용됩니다. NULL이 사용됩니다. |
*$__ unixEpochFilter (DateColumn) * | 시간이 유닉스 타임스탬프 (밀리초) 로 표시되는 지정된 열 이름을 사용하는 시간 범위 필터로 대체됩니다. 예를 들어, `날짜 열 >= 1500376552001 및 날짜 열 <= 1500376552002` *$__ () * unixEpochFrom | 현재 활성화된 시간 선택 항목의 시작 부분이 유닉스 타임스탬프로 대체됩니다. 예를 들어 1500376552001 입니다. |
*$__unixEpochTo()* | 현재 활성 시간 선택의 끝 부분이 유닉스 타임스탬프로 대체됩니다. 예를 들어 1500376552002 입니다. |
플러그인은 중괄호를 사용한 표기법도 지원합니다. {}
매개변수 내에서 쿼리가 필요한 경우 이 표기법을 사용하십시오.
참고
쿼리당 하나의 표기법 유형을 사용하십시오. 쿼리에 중괄호가 필요한 경우 쿼리의 모든 매크로에서 중괄호를 사용해야 합니다.
$__timeGroup{"dateColumn",'5m'} $__timeGroup{SYS_DATE_UTC("SDATE"),'5m'} $__timeGroup{FROM_TZ(CAST("SDATE" as timestamp), 'UTC'), '1h'}
쿼리 편집기에는 쿼리가 실행된 후 패널 편집 모드에서 표시되는 생성된 SQL 링크가 있습니다. 링크를 선택하면 링크가 확장되어 실행된 원시 보간 SQL 문자열이 표시됩니다.
테이블 쿼리
쿼리 형식 옵션을 테이블로 설정하면 기본적으로 모든 유형의 SQL 쿼리를 수행할 수 있습니다. 테이블 패널에는 쿼리가 반환하는 열과 행의 결과가 자동으로 표시됩니다. 일반 as
SQL 열 선택 구문을 사용하여 테이블 패널 열의 이름을 제어할 수 있습니다.
시계열 쿼리
예를 들어 그래프 패널에서 사용하기 위해 형식을 시계열로 설정하는 경우 쿼리는 SQL 날짜/시간 또는 유닉스 에포크를 초 단위로 나타내는 숫자 데이터 유형을 time
반환하는 이름이 지정된 열을 반환해야 합니다. Grafana는 명시적인 시간대가 없는 날짜 및 타임스탬프 열을 UTC로 해석합니다. time
및 를 제외한 모든 열은 값 열로 metric
취급됩니다. 값 열의 지표 이름으로 사용되는 이름이 지정된 metric
열을 반환할 수 있습니다.
다음 코드 예제는 metric
열을 보여줍니다.
SELECT $__timeGroup("time_date_time", '5m') AS time, MIN("value_double"), 'MIN' as metric FROM test_data WHERE $__timeFilter("time_date_time") GROUP BY $__timeGroup("time_date_time", '5m') ORDER BY time
추가 쿼리 — 사용 oracle-fake-data-gen
SELECT $__timeGroup("createdAt", '5m') AS time, MIN("value"), 'MIN' as metric FROM "grafana_metric" WHERE $__timeFilter("createdAt") GROUP BY $__timeGroup("createdAt", '5m') ORDER BY time
다음 코드 예제는 가짜 데이터 시계열을 보여줍니다.
SELECT "createdAt", "value" FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY "createdAt" ASC
SELECT "createdAt" as time, "value" as value FROM "grafana_metric" WHERE $__timeFilter("createdAt") ORDER BY time ASC
다음 예제는 유용한 테이블 결과를 보여줍니다.
select tc.table_name Table_name ,tc.column_id Column_id ,lower(tc.column_name) Column_name ,lower(tc.data_type) Data_type ,nvl(tc.data_precision,tc.data_length) Length ,lower(tc.data_scale) Data_scale ,tc.nullable nullable FROM all_tab_columns tc ,all_tables t WHERE tc.table_name = t.table_name
템플릿 작성
메트릭 쿼리에서 서버, 애플리케이션, 센서 이름 등을 하드코딩하는 대신 변수를 대신 사용할 수 있습니다. 변수는 대시보드 상단의 드롭다운 선택 상자로 표시됩니다. 이 드롭다운 상자를 사용하면 대시보드에 표시되는 데이터를 쉽게 변경할 수 있습니다.
쿼리 변수
해당 유형의 템플릿 변수를 추가하면 측정 이름Query
, 키 이름 또는 키 값 등을 드롭다운 선택 상자로 표시하는 항목을 반환할 수 있는 Oracle 쿼리를 작성할 수 있습니다.
예를 들어, 템플릿 변수 쿼리 설정에서 이와 같은 쿼리를 지정하면 테이블의 hostname
열에 대한 모든 값을 포함하는 변수를 만들 수 있습니다.
SELECT "hostname" FROM host
쿼리는 여러 열을 반환할 수 있으며 Grafana는 해당 열을 기반으로 목록을 자동으로 생성합니다. 예를 들어 다음 쿼리는 및 값이 포함된 목록을 반환합니다. hostname
hostname2
SELECT "host.hostname", "other_host.hostname2" FROM host JOIN other_host ON host.city = other_host.city
$__timeFilter("time_column")
쿼리에서와 같이 시간 범위 종속 매크로를 사용하려면 템플릿 변수의 새로 고침 모드를 On Time Range Change로 설정해야 합니다.
SELECT "event_name" FROM event_log WHERE $__timeFilter("time_column")
또 다른 옵션은 키/값 변수를 만들 수 있는 쿼리입니다. 쿼리는 이름이 __text
및 인 열 두 개를 반환해야 합니다. __value
__text
열 값은 고유해야 합니다 (고유하지 않으면 첫 번째 값이 사용됨). 드롭다운 목록의 옵션에는 텍스트로 친숙한 이름을 텍스트로, id를 값으로 사용할 수 있는 텍스트와 값이 있습니다. 다음 예제 코드는 hostname
id
텍스트와 값을 포함하는 쿼리를 보여줍니다.
SELECT "hostname" AS __text, "id" AS __value FROM host
중첩 변수를 만들 수도 있습니다. 이름이 지정된 region
다른 변수가 있는 경우를 예로 들 수 있습니다. 그러면 다음과 같은 쿼리를 사용하여 hosts 변수에 현재 선택한 지역의 호스트만 표시하도록 할 수 있습니다. 값이 여러 개인 변수인 경우 region
여러 값을 =
비교하는 대신 IN
비교 연산자를 사용하십시오.
SELECT "hostname" FROM host WHERE region IN('$region')
쿼리에 변수 사용
템플릿 변수 값은 템플릿 변수가 multi-value
a인 경우에만 인용됩니다.
변수가 다중 값 변수인 경우 여러 값을 =
비교하는 대신 IN
비교 연산자를 사용하십시오.
다음과 같은 두 가지 구문이 있습니다.
$<varname>
이름이 지정된 hostname
템플릿 변수를 사용한 예:
SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('$hostname') ORDER BY "atimestamp" ASC
[[varname]]
이름이 지정된 템플릿 변수를 사용한 예hostname
:
SELECT "atimestamp" as time, "aint" as value FROM table WHERE $__timeFilter("atimestamp") AND "hostname" IN('[[hostname]]') ORDER BY atimestamp ASC