Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CloudHub는 다음과 같은 Template variable types를 지원합니다 :Databases
Measurements
Field Keys
Tag Keys
Tag Values
CSV
Map
Custom Meta QueryText

Table of Contents

...

maxLevel2
minLevel2

...

exclude.*Time|interval

Databases

Database를 변수로 사용

...

Code Block
languagesql
SELECT mean("usage_system") FROM :db:."autogen"."cpu"

Database variable 사용 예use cases
Database template variables는 유사하거나 동일한 형태의 Database로 표현할 경우 유용하게 사용됩니다.
각 Database에 대한 Dashboard의 정보를 빠르게 변경 할 수 있습니다.

...

Code Block
languagesql
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
languagesql
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
languagesql
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
languagesql
'network_router01'value1, 'server01'value2, 'server01-vm-cmp', 'server01-vm03', 'server02', 'server02-vm01'value3, value4
Code Block
languagesql
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
languagesql
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
languagesql
key1,value1
key2,value2
key3,value3
key4,value4

...

Key는 따옴표를 사용하지 않지만 value가 문자열 일 경우 작은 따옴표로 묶습니다. (required by InfluxQL)

Code Block
languagesql
key1,'value1'
key2,'value2'
key3,'value3'
key4,'value4'

cell query의 Map value variable 사용예제

Code Block
languagesql
SELECT "usage_system" FROM "telegraf"."autogen"."cpu" WHERE host = :mapVar:

Map variable use cases

CSV type과 달리 value를 특정한 이름으로 이름(별칭)으로 변경하여 지정할 경우 사용됩니다.Example CSV:

Code Block
languagesql
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
languagesql
SHOW TAG VALUES ON "telegraf" FROM "cpu" WITH KEY = "host"

...

cell query의 custom meta query variable 사용예제

Code Block
languagesql
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를 조회하는 변수를 생성하고 그 변수에 값에 따라 다른 변수를 변경할 때 사용 됩니다.

  1. Measurements Type으로 변수를 생성합니다. 변수의 이름은 :measurementVar: 이라고 지정합니다.

    Image Added
  2. Custom Meta query Type으로 변수를 추가 생성합니다. 이 변수의 이름은 :fieldKey: 라고 지정합니다.
    Meta Query 항목에는 아래와 같이 입력합니다.

    Code Block
    languagesql
    SHOW FIELD KEYS ON telegraf FROM :measurementVar:

    Custom Meta query 변수는 위에서 정의된 :measurementVar: 변수 값에 따라 KeyField가 변경 됩니다.

    Image Added
  3. 이제 Dashboard에서 measurementVar:fieldKey:를 사용하는 Graph를 생성합니다.

    Code Block
    languagesql
    SELECT :fieldKey: FROM "telegraf"..:measurementVar: WHERE time > :dashboardTime:

...

작업이 완료되면 Dashboard 다음과 같이 실행 됩니다 :

...

Defining template variables in the URL

to do….