퀴즈: 변수와 반복
Prometheus 데이터소스에서 여러 값이 선택된 변수는 쿼리 안에서 어떤 문자열로 펼쳐지나?
- 값들을 쉼표로 이은 목록이 되어
in연산자와 함께 쓰인다 - 값들을 세로막대로 이어 괄호로 묶은 정규식이 된다
- 중괄호로 묶인 글로브 표현식이 되어 부분 일치로 동작한다
- 가장 먼저 선택한 값 하나만 남고 나머지는 버려진다
multi 를 켠 변수를 handler="$route" 로 쓴 패널에서 값을 둘 고르면 무슨 일이 생기나?
- 첫 번째 값만 적용되어 한 시계열만 그려진다
- Grafana 가 자동으로 정규식 매처로 바꿔 두 시계열을 그린다
- 쿼리가 문법 오류를 내고 패널에 빨간 오류 배지가 뜬다
- 펼쳐진 정규식이 어떤 라벨 값과도 정확히 같지 않아 빈 그래프가 된다
패널 반복(repeat)에 대해 맞는 설명은?
- 반복된 패널 수는 대시보드 JSON 의
panels배열 길이로 확인할 수 있다 - 반복은 선택된 값마다 패널을 만들므로 그리는 비용이 옵션 수만큼 곱해진다
- 반복은 값이 하나뿐인 변수에서도 대상 수만큼 패널을 만들어 준다
- 반복 패널 안에서 변수는 항상 전체 값의 정규식으로 풀린다
두 번째 변수의 쿼리가 첫 번째 변수를 참조하도록 만들 때 반드시 지켜야 하는 것은?
- 기대는 변수가
templating.list에서 기대어지는 변수보다 뒤에 있어야 한다 - 두 변수의 데이터소스 uid 를 같은 값으로 하드코딩해야 한다
- 두 변수 모두
custom타입이어야 참조가 풀린다 - 기대는 변수의
refresh를 꺼 두어야 무한 갱신을 막을 수 있다
전체 선택(includeAll)의 allValue 를 비워 두는 것과 .+ 처럼 적어 두는 것의 차이는?
- 비워 두면 전체 선택이 드롭다운에 아예 나타나지 않는다
- 적어 두면 값마다 정규식 이스케이프가 두 번 걸려 매칭이 느려진다
- 비워 두면 모든 값을 이어 붙인 긴 문자열이 되고, 적어 두면 그 값이 대신 들어간다
- 비워 두면 첫 번째 값만 선택되고, 적어 두어야 전체가 선택된다
이 실습 환경에서 대시보드 JSON 만으로는 확인할 수 없는 것은?
- 변수의 타입이 query 인지 custom 인지
- 패널의 쿼리가 변수를 쓰고 있는지
- 패널에 반복이 걸려 있고 어느 변수로 반복되는지
- 그 변수가 지금 몇 개의 값을 얻어 화면에 몇 장이 그려지는지