

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 대시보드 모범 사례
<a name="v10-dash-bestpractices"></a>

****  
이 설명서 주제는 **Grafana 버전 10.x**를 지원하는 Grafana 워크스페이스를 위해 설계되었습니다.  
Grafana 버전 12.x를 지원하는 Grafana 워크스페이스는 섹션을 참조하세요[Grafana 버전 12에서 작업](using-grafana-v12.md).  
Grafana 버전 9.x를 지원하는 Grafana 워크스페이스의 경우 [Grafana 버전 9에서 작업](using-grafana-v9.md) 섹션을 참조하세요.  
Grafana 버전 8.x를 지원하는 Grafana 워크스페이스의 경우 [Grafana 버전 8에서 작업](using-grafana-v8.md) 섹션을 참조하세요.

이 섹션에서는 Grafana 대시보드를 구축하고 유지하는 방법에 대한 Grafana 관리자 및 사용자를 위한 모범 사례에 대한 정보를 제공합니다.

생성할 수 있는 다양한 종류의 대시보드에 대한 자세한 내용은 Grafana Labs 웹 사이트의 [Grafana dashboards: A complete guide to all the different types you can build](https://grafana.com/blog/2022/06/06/grafana-dashboards-a-complete-guide-to-all-the-different-types-you-can-build/?pg=webinar-getting-started-with-grafana-dashboard-design-amer&plcmt=related-content-1) 블로그 게시물을 참조하세요.

**참고**  
이 섹션에서는 모니터링 및 대시보드 유지 관리를 위한 전략을 생성하는 데 도움이 될 수 있습니다. 시스템을 가장 잘 파악하고, 이 섹션을 사용하여 이해도를 높여야 합니다. 궁극적으로 시스템에 가장 적합한 전략을 생성하는 것은 사용자의 몫입니다.

## 일반적인 관찰성 전략
<a name="v10-dash-common-observability-strategies"></a>

서버 팜과 같이 모니터링해야 할 내용이 많은 경우 모니터링할 만큼 중요한 항목을 결정하는 전략이 필요합니다. 이 페이지에서는 모니터링할 항목을 선택하는 몇 가지 일반적인 방법을 설명합니다.

논리적 전략을 사용하면 균일한 대시보드를 만들고 관찰성 플랫폼을 더 쉽게 확장할 수 있습니다.

**전략을 위한 지침**
+ USE 방법에서는 시스템의 안정성을 알려주고, RED 방법에서는 사용자의 만족도를 알려줍니다.
+ USE에서는 문제의 원인을 보고합니다.
+ RED에서는 사용자 경험을 보고하지만 문제의 증상을 보고할 가능성도 큽니다.
+ 두 가지를 모두 모니터링하는 것은 시스템을 이해하는 데 중요합니다. 가장 좋은 방법은 원인보다는 증상에 주의하는 것입니다. 일반적으로 알림은 RED 대시보드에서 구성됩니다.

**USE 방법**

USE는 다음의 약어입니다.
+ **사용률(Utilization)** - 노드 CPU 사용량과 같이 리소스가 사용 중인 시간 비율.
+ **포화도(Saturation)** - 리소스가 수행해야 하는 작업의 양(종종 대기열 길이 또는 노드 로드).
+ **오류(Errors)** - 오류 이벤트 수.

이 방법은 CPU, 메모리, 네트워크 디바이스와 같은 인프라의 하드웨어 리소스에 가장 적합합니다. 자세한 내용은 Brendan Gregg의 [The USE Method](http://www.brendangregg.com/usemethod.html) 블로그 게시물을 참조하세요.

**RED 방법**

RED는 다음의 약어입니다.
+ **속도(Rate)** - 초당 요청 수
+ **오류(Errors)** - 실패한 요청 수.
+ **기간(Duration)** - 이러한 요청에 걸리는 시간, 지연 시간 측정의 분포.

이 방법은 서비스, 특히 마이크로서비스 환경에 가장 적합합니다. 각 서비스에 대해 코드를 계측하여 각 구성 요소에 대한 이러한 지표를 표시합니다. RED 대시보드는 알림 및 SLA에 적합합니다. 잘 설계된 RED 대시보드는 사용자 경험을 위한 프록시 역할을 합니다.

자세한 내용은 Tom Wilkie의 [The RED method: How to instrument your services](https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-services) 블로그 게시물을 참조하세요.

**네 가지 골든 신호**

[Google SRE 핸드북](https://landing.google.com/sre/sre-book/chapters/monitoring-distributed-systems/#xref_monitoring_golden-signals)에 따르면 사용자 대면 시스템의 지표 네 가지만 측정할 수 있는 경우 이 네 가지에 집중하세요.

이 방법은 RED 방법과 유사하지만 포화도를 포함합니다.
+ **지연 시간** - 요청을 처리하는 데 걸리는 시간.
+ **트래픽** - 시스템에 대한 수요.
+ **오류** - 실패한 요청의 비율.
+ **포화도** - 시스템이 '가득 찬' 정도.

## 대시보드 관리 성숙도 모델
<a name="v10-dash-management-maturity-model"></a>

*대시보드 관리 성숙도*는 대시보드 에코시스템이 얼마나 잘 설계되고 효율적인지 나타냅니다. 대시보드 설정을 주기적으로 검토하여 현재 상태와 개선 방법을 측정하는 것이 좋습니다.

일반적으로 대시보드 성숙도는 낮음, 중간 또는 높음으로 정의할 수 있습니다.

 이 주제에 대한 대부분의 콘텐츠는 KubeCon 2019 토크 [Fool-Proof Kubernetes Dashboards for Sleep-Deprived Oncalls](https://www.youtube.com/watch?v=YE2aQFiMGfY)에서 발췌했습니다.

**낮음 - 기본 상태**

이 단계에서는 일관된 대시보드 관리 전략이 없습니다. 거의 모든 사람이 여기에서 시작합니다.

현재 상태는 어떻게 알 수 있나요?
+ 누구나 대시보드를 수정할 수 있습니다.
+ 복사된 대시보드가 많으며, 대시보드 재사용이 거의 또는 전혀 없습니다.
+ 영구 지속되는 일회성 대시보드.
+ 버전 제어 없음(버전 제어의 대시보드 JSON).
+ 많은 대시보드 검색(올바른 대시보드를 찾기 위한 검색). 즉, 필요한 대시보드를 찾는 데 많은 시간이 낭비됩니다.
+ 올바른 대시보드로 안내하는 알림이 없습니다.

**중간 - 체계적인 대시보드**

이 단계에서는 체계적인 대시보드와 함께 사용하여 대시보드 사용을 관리하기 시작합니다. 전략을 세웠을 수도 있지만 개선할 사항이 몇 가지 있습니다.

 현재 상태는 어떻게 알 수 있나요?
+ 템플릿 변수를 사용하여 확장을 방지합니다. 예를 들어 각 노드에 대해 별도의 대시보드가 필요하지 않으므로 쿼리 변수를 사용할 수 있습니다. 또한 데이터 소스를 템플릿 변수로 만들 수 있으므로 다른 클러스터 및 모니터링 백엔드에서 동일한 대시보드를 재사용할 수 있습니다.

  아이디어는 [변수](v10-dash-variables.md)의 예제 목록을 참조하세요.
+ [관찰성 전략](#v10-dash-common-observability-strategies)에 따른 체계적 대시보드.
+ 다음 수준으로 드릴다운하는 계층적 대시보드.
+ 대시보드 설계는 서비스 계층 구조를 반영합니다. 예를 들어 서비스당 하나의 행으로 RED 방법을 사용할 수 있습니다. 행 순서는 대시보드를 아래로 스크롤할 때 데이터 흐름을 반영할 수 있습니다.
+ 비슷한 크기로 비교: 크기에 차이가 있을 때 서비스 대시보드를 분할합니다. 집계된 지표가 중요한 정보를 손상시키지 않도록 하세요.
+ 의미 있게 색상을 사용하고 가능하면 축을 정규화하는 다양한 표현의 차트.
  + 의미 있는 색상의 예: 파란색은 양호한 상태이고 빨간색은 불량한 상태입니다. [임계치](v10-panels-configure-thresholds.md)가 도움이 될 수 있습니다.
  + 축 정규화의 예: CPU 사용량을 비교할 때 시스템의 코어 수가 다를 수 있으므로 원시 수가 아닌 백분율로 측정합니다. 코어 수를 기준으로 CPU 사용량을 정규화하면 최종 사용자가 CPU 수를 알지 않고도 100%에서 모든 코어가 사용되고 있음을 신뢰할 수 있으므로 인지 부하가 줄어듭니다.
+ 직접 찾아보는 경우 추측이 줄어듭니다.
  + 템플릿 변수를 사용하면 무작위 또는 무의미한 찾아보기가 어렵습니다.
  + 대부분의 대시보드는 알림으로 연결되어야 합니다.
  + 찾아보기는 링크와 함께 표시됩니다. 자세한 내용은 [대시보드 링크 관리](v10-dash-manage-dashboard-links.md) 단원을 참조하십시오.
+  버전 제어 대시보드 JSON.

**높음 - 최적화된 사용**

이 단계에서는 일관되고 신중한 전략으로 대시보드 관리 사용을 최적화했습니다. 유지 관리가 필요하지만 그만한 성과를 얻을 수 있습니다.
+ 확장을 적극적으로 줄입니다.
  + 기존 대시보드를 정기적으로 검토하여 여전히 관련성이 있는지 확인합니다.
  + 마스터 대시보드 목록에는 승인된 대시보드만 추가되었습니다.
  + 대시보드 사용 추적. [사용량 인사이트](v10-dash-assess-dashboard-usage.md)를 활용할 수 있습니다.
+ 설계에서 지원하는 일관성.
+ 스크립팅 라이브러리를 사용하여 대시보드를 생성하고 패턴과 스타일의 일관성을 보장합니다.
  + grafonnet(Jsonnet)
  + grafanalib(Python)
+ 브라우저에 편집 기능이 없습니다. 대시보드 최종 사용자는 변수를 사용하여 보기를 변경합니다.
+ 대시보드 찾아보기는 규칙이 아닌 예외입니다.
+ 프로덕션 인스턴스가 아닌 해당 목적을 위한 별도의 Grafana 인스턴스에서 실험 및 테스트를 수행합니다. 테스트 환경의 대시보드가 유용한 것으로 입증되면 해당 대시보드를 기본 Grafana 인스턴스에 추가합니다.

## 대시보드 생성 모범 사례
<a name="v10-dash-best-practices-for-creating-dashboards"></a>

이 섹션에서는 Grafana 대시보드를 생성할 때 따라야 할 몇 가지 모범 사례를 간략하게 설명합니다.

**시작하기 전에**

 다음은 대시보드를 생성하기 전에 고려해야 할 몇 가지 원칙입니다.

**대시보드는 스토리를 전달하거나 질문에 답해야 합니다.**

대시보드로 어떤 스토리를 전달하려고 하나요? 대규모에서 소규모로 또는 일반에서 특정한 상황으로 데이터의 논리적 진행을 생성해 보세요. 이 대시보드의 목표는 무엇인가요? (힌트: 대시보드에 목표가 없는 경우 대시보드가 정말 필요한지 자문해 보세요.)

간단하게 그래프를 작성하고 질문하는 질문에 답변하는 데 집중하세요. 예를 들어, '어떤 서버에 문제가 있나요?'와 같은 질문의 경우 모든 서버 데이터를 표시할 필요가 없을 수 있습니다. 문제가 있는 데이터만 표시하면 됩니다.

**대시보드는 인지 부하를 줄여야 하며, 이를 더하지 않아야 합니다.**

*인지 부하*는 기본적으로 특정 정보를 파악하기 위해 생각해야 하는 노력을 말합니다. 쉽게 해석할 수 있도록 대시보드를 만드세요. 다른 사용자에게는 물론, 오전 2시에 일어나 상황을 파악하려고 하는 미래를 방지하려면 매우 중요한 기능입니다.

 다음을 스스로에게 물어보세요.
+ 각 그래프의 정확한 의미를 알 수 있나요? 의미가 명확한가요 아니면 더 검토해야 하나요?
+ 다른 사람에게 제시한 경우 의미를 파악하는 데 시간이 얼마나 걸리나요? 의미를 파악하지 못할까요?

**모니터링 전략 보유**

그러면 새 대시보드를 쉽게 만들 수 있습니다. 대시보드 생성을 최적화하고 계획을 준수하는 것이 더 어렵지만 그만한 가치가 있습니다. 이 전략에서는 전체 대시보드 체계를 모두 관리하고 개별 대시보드 설계에서 일관성을 적용해야 합니다.

자세한 내용은 [일반적인 관찰성 전략](#v10-dash-common-observability-strategies) 및 [대시보드 관리 성숙도](#v10-dash-management-maturity-model)를 참조하세요.

**기록**

전략 또는 설계 지침이 있으면 시간 경과에 따라 일관성을 유지하는 데 도움이 되도록 이를 기록합니다.

**모범 사례 준수**
+ 새 대시보드를 생성할 때 의미 있는 이름을 사용해야 합니다.
  + 재생 또는 실험할 대시보드를 생성하는 경우 `TEST` 또는 `TMP` 단어를 이름에 입력합니다.
  + 대시보드 이름에 또는 태그로 이름이나 이니셜을 포함시켜 사람들이 대시보드를 소유한 사람을 알 수 있도록 하는 것이 좋습니다.
  + 임시 실험 대시보드는 사용한 후에 제거합니다.
+ 관련 대시보드를 여러 개 생성하는 경우 쉽게 탐색할 수 있도록 상호 참조하는 방법을 생각해 보세요. 자세한 내용은 이 섹션 뒷부분의 [대시보드 관리 모범 사례](#v10-dash-best-practices-for-managing-dashboards)를 참조하세요.
+ Grafana는 데이터 소스에서 데이터를 검색합니다. 일반적으로 [데이터 원본에 연결](AMG-data-sources.md) 및 특정 데이터 소스에 대한 기본적인 이해가 중요합니다.
+ 네트워크 또는 백엔드에 대한 부하를 줄이도록 불필요한 대시보드 새로 고침을 피합니다. 예를 들어 데이터가 1시간마다 변경되면 대시보드 새로 고침 빈도를 30초로 설정할 필요가 없습니다.
+ 단위 또는 범위가 다른 시계열을 표시할 때는 왼쪽 및 오른쪽 Y축을 사용합니다.
+ 대시보드 및 패널에 설명서를 추가합니다.
  + 대시보드에 설명서를 추가하려면 대시보드에 [텍스트 패널 시각화](v10-panels-text.md)를 추가합니다. 대시보드의 목적, 유용한 리소스 링크 및 사용자가 대시보드와 상호 작용하는 데 필요할 수 있는 모든 지침을 기록합니다.
  + 패널에 설명서를 추가하려면 패널 설정을 편집하고 설명을 추가합니다. 패널의 왼쪽 상단에 있는 작은 `i`에 커서를 놓으면 추가한 텍스트가 표시됩니다.
+ [템플릿 및 변수](v10-dash-variables.md)를 사용하여 대시보드를 재사용하고 일관성을 적용합니다.
+ 그래프 데이터를 스택할 때 주의하세요. 시각화에 오해의 소지가 있으며 중요한 데이터를 숨길 수 있습니다. 대부분의 경우 끄는 것이 좋습니다.

## 대시보드 관리 모범 사례
<a name="v10-dash-best-practices-for-managing-dashboards"></a>

 이 페이지에서는 Grafana 대시보드를 관리할 때 따를 수 있는 몇 가지 모범 사례를 간략하게 설명합니다.

**시작하기 전에**

다음은 대시보드 관리를 시작하기 전에 고려해야 할 몇 가지 원칙입니다.

**전략적 관찰성**

몇 가지 [일반적인 관찰성 전략](#v10-dash-common-observability-strategies)이 있습니다. 이 전략을 검토하고 그 중 사용자에게 적합한 전략이 있는지 아니면 자체적으로 전략을 수립해야 하는지 결정해야 합니다. 어느 쪽이든 계획을 세우고 기록한 후 이를 준수합니다.

필요에 따라 변화하는 요구 사항에 맞게 전략을 조정합니다.

**성숙도 수준**

대시보드 성숙도 수준은 어느 정도인가요? 현재 대시보드 설정을 분석하고 [대시보드 관리 성숙도 모델](#v10-dash-management-maturity-model)과 비교합니다. 현재 상태를 파악하면 원하는 목표에 도달하는 방법을 결정하는 데 도움이 될 수 있습니다.

**모범 사례 준수**
+ 대시보드 확장(대시보드의 통제되지 않은 확장)을 방지하세요. 대시보드 확장은 올바른 대시보드를 찾는 데 걸리는 시간에 부정적인 영향을 미칩니다. 대시보드를 복제하고 '하나'만 변경하는 경우(원본 태그를 유지하는 경우 상황이 악화됨)가 가장 쉬운 확장 유형입니다.
  + 대시보드를 정기적으로 검토하고 불필요한 대시보드를 제거합니다.
  + 임시 대시보드를 생성하는 경우 테스트하려고 한다면 이름에 `TEST:` 접두사를 추가합니다. 완료되면 대시보드를 삭제합니다.
+ 큰 변경 사항이 없는 대시보드를 복사하는 것은 좋은 생각이 아닙니다.
  + 설명서 변경, 버그 수정 또는 지표에 추가와 같은 원본 대시보드에 대한 업데이트를 놓칠 수 있습니다.
  + 많은 경우 템플릿 파라미터를 설정하여 보기를 사용자 지정하기 위해 사본이 생성됩니다. 대신 마스터 대시보드에 대한 링크를 유지하고 [URL 파라미터](v10-panels-configure-data-links.md#v10-panels-data-link-variables)로 보기를 사용자 지정해야 합니다.
+ 대시보드를 복사해야 하는 경우 대시보드의 이름을 명확하게 바꾸고 대시보드 태그를 복사하지 *마세요*. 태그는 검색 중에 사용되는 대시보드의 중요한 메타데이터입니다. 태그를 복사하면 잘못된 일치가 발생할 수 있습니다.
+ 대시보드 또는 상호 참조 대시보드의 대시보드를 유지 관리합니다. 여러 방법으로 수행할 수 있습니다.
  + 대시보드 링크, 패널 또는 데이터 링크를 생성합니다. 링크는 다른 대시보드 또는 외부 시스템으로 이동할 수 있습니다. 자세한 내용은 [대시보드 링크 관리](v10-dash-manage-dashboard-links.md)를 참조하세요.
  +  [대시보드 목록 패널](v10-panels-dashboard-list.md)을 추가합니다. 그런 다음, 태그 또는 폴더 검색을 수행하여 표시되는 내용을 사용자 지정할 수 있습니다.
  + [텍스트 패널](v10-panels-dashboard-list.md)을 추가하고 마크다운을 사용하여 표시를 사용자 지정합니다.