...
CloudHub는 다음과 같은 Template variable types를 지원합니다 :Databases
Measurements
Field Keys
Tag Keys
Tag Values
CSV
Map
Custom Meta QueryText
Table of Contents |
---|
...
|
...
|
Databases
Database를 변수로 사용
...
Code Block | ||
---|---|---|
| ||
SELECT mean("usage_system") FROM :db:."autogen"."cpu" |
Database variable 사용 예use cases
Database template variables는 유사하거나 동일한 형태의 Database로 표현할 경우 유용하게 사용됩니다.
각 Database에 대한 Dashboard의 정보를 빠르게 변경 할 수 있습니다.
...
Code Block | ||
---|---|---|
| ||
SELECT * FROM "telegraf"."autogen".:measurementVar: |
Measurement variable 사용 예use cases
Measurement template variables 사용하면 각 Measurement에 해당하는 Dashboard의 정보를 빠르게 변경 할 수 있습니다.
...
Code Block |
---|
SELECT :fieldKeyVar: FROM "telegraf"."autogen"."customerscpu" |
Field key variable 사용 예use cases
Field key template variables 사용하면 Measurement의 Field key에 해당하는 Dashboard의 정보를 빠르게 변경 할 수 있습니다.
...
Code Block | ||
---|---|---|
| ||
SELECT "usage_system" FROM "telegraf"."autogen"."cpu" GROUP BY :tagKeyVar: |
Tag key variable 사용 예use cases
Tag key template variables 사용하면 Measurement의 Tag key에 해당하는 Dashboard의 정보를 빠르게 변경 할 수 있습니다.
...
Code Block | ||
---|---|---|
| ||
SELECT "usage_system" FROM "telegraf"."autogen"."cpu" WHERE "species"cpu = :tagValueVar: |
Tag value variable 사용 예use cases
Tag value template variables 사용하면 Measurement의 Tag value에 해당하는 Dashboard의 정보를 빠르게 변경 할 수 있습니다.
...
Example CSVs:
Code Block | ||
---|---|---|
| ||
'network_router01'value1, 'server01'value2, 'server01-vm-cmp', 'server01-vm03', 'server02', 'server02-vm01'value3, value4 |
Code Block | ||
---|---|---|
| ||
value1
value2
value3
value4 |
필드 값이 문자열 일 경우 InfluxQL에서 작은 따옴표를 사용하므로 작은 따옴표로 묶어야합니다.
'network_router01'
...
, 'server01'
...
, 'server01-vm-cmp'
...
, 'server01-vm03'
...
, 'server02'
...
, 'server02-vm01'
필드 값이 문자열 일 경우 InfluxQL에서 작은 따옴표를 사용하므로 작은 따옴표로 묶어야합니다.
'string1','string2','string3','string4'
cell query의 CSV value variable 사용예제
Code Block | ||
---|---|---|
| ||
SELECT "purchasesusage_system" FROM "animalstelegraf"."autogen"."customerscpu" WHERE "petname"host = :csvVar: |
CSV variable use cases
CSV template variables는 meta query를 사용할 수 없을 경우 사용자정의 변수를 이용합니다.
...
변수를 사용자정의 형식의 key-value 목록으로 선언하여 쿼리의 일부에 사용합니다.
key-value중 key 값은 DropDown목록에 표시됩니다. value는 쿼리의 값에 사용됩니다.
Example CSV:
Code Block | ||
---|---|---|
| ||
key1,value1
key2,value2
key3,value3
key4,value4 |
...
Key는 따옴표를 사용하지 않지만 value가 문자열 일 경우 작은 따옴표로 묶습니다. (required by InfluxQL)
Code Block | ||
---|---|---|
| ||
key1,'value1'
key2,'value2'
key3,'value3'
key4,'value4' |
cell query의 Map value variable 사용예제
Code Block | ||
---|---|---|
| ||
SELECT "usage_system" FROM "telegraf"."autogen"."cpu" WHERE host = :mapVar: |
Map variable use cases
CSV type과 달리 value를 특정한 이름으로 이름(별칭)으로 변경하여 지정할 경우 사용됩니다.Example CSV:
Code Block | ||
---|---|---|
| ||
host1,"'network_router01'" host2,"'server01'" host3,"'server01-vm-cmp'" host4,"'server01-vm03'" host5,"'server02'" host6,"'server02-vm01' |
예를 들면 위와 같은 Map variable을 정의했다면 network_router01
> host1 이라는 이름으로 DropDown에 표시됩니다.
Custom Meta Query
InfluxDB에서 특정 결과 값을 가져 오는 Custom Meta Query 변수를 생성 하십시오.
이와 같이 생성된 변수는 저장된 데이터의 값에 따라 변경될 수 있으므로 유연한 쿼리를 사용 할 수 있습니다.
아래와 같이 변수를 생성합니다.
Meta Query 항목에는 아래와 같이 입력합니다.
Code Block | ||
---|---|---|
| ||
SHOW TAG VALUES ON "telegraf" FROM "cpu" WITH KEY = "host" |
...
cell query의 custom meta query variable 사용예제
Code Block | ||
---|---|---|
| ||
SELECT * FROM "telegraf"."autogen"."cpu" WHERE time > :dashboardTime: AND " |
...
host" != :metaVar: |
Text
입력한 문자를 변수로 사용
Text variable use cases
Text template variables 사용하면 여러 Graph에 대해 WHERE
절로 한번에 추가 또는 변경이 가능합니다.
또한 여러 쿼리에 사용되는 정규식을 생성할 수 있습니다.
일괄 적용이 가능하므로 troubleshooting 문제를 해결할 경우 사용합니다.
Reserved variable names
아래와 같은 Reserved variable names은 CloudHub에서 이미 문법적인 용도로 사용되고 있기 때문에 변수 명으로 사용할 수 없습니다.:database:
:measurement:
:dashboardTime:
:upperDashboardTime:
:interval:
:upper:
:lower:
:zoomedUpper:
:zoomedLower:
Advanced template variable usage
Template variables를 생성하고 그 변수를 필터링 할 수 있는 다른 Custom meta query template variables 생성하여 사용합니다.
예를 들면, 하나의 Measurement의 모든 Field를 조회하는 변수를 생성하고 그 변수에 값에 따라 다른 변수를 변경할 때 사용 됩니다.
Measurements Type으로 변수를 생성합니다. 변수의 이름은
:measurementVar:
이라고 지정합니다.Custom Meta query Type으로 변수를 추가 생성합니다. 이 변수의 이름은
:fieldKey:
라고 지정합니다.
Meta Query 항목에는 아래와 같이 입력합니다.Code Block language sql SHOW FIELD KEYS ON telegraf FROM :measurementVar:
이 Custom Meta query 변수는 위에서 정의된
:measurementVar:
변수 값에 따라 KeyField가 변경 됩니다.이제 Dashboard에서
measurementVar
와:fieldKey:
를 사용하는 Graph를 생성합니다.Code Block language sql SELECT :fieldKey: FROM "telegraf"..:measurementVar: WHERE time > :dashboardTime:
...
작업이 완료되면 Dashboard 다음과 같이 실행 됩니다 :
...
Defining template variables in the URL
to do….