외부 공유 대시보드

외부 공유 대시보드 (Externally shared dashboards)

외부 공유 대시보드는 Grafana 조직에 접근 권한 없이도 누구에게나 대시보드를 공유할 수 있게 해줘요. 이 기능은 이전에 Public dashboards로 불렸어요. 대시보드를 변경했다면 공유 전에 반드시 저장해야 해요.

출처: Externally shared dashboards

본문

외부 공유 대시보드를 만들려면 Admin이거나 dashboards.public:write 권한, 또는 fixed:dashboards.public:write RBAC 역할이 있어야 해요.

⚠️ 경고: 대시보드를 외부로 공유하면 대시보드가 사용하는 데이터 소스에 많은 쿼리가 발생할 수 있어요. Enterprise 캐싱 및/또는 rate limiting 기능으로 완화할 수 있어요.

공유 대시보드 목록

Dashboards > Shared dashboards로 이동하면 외부로 공유한 모든 대시보드 목록을 한곳에서 볼 수 있어요. 목록의 각 대시보드에 대해 페이지는 다음을 표시해요.

  • 대시보드의 외부 공유 버전을 볼 수 있는 링크
  • 공유 대시보드 구성 링크
  • 외부 대시보드 접근을 일시 중지하거나 철회하는 옵션

대시보드 이름을 클릭해 내부 대시보드로 이동할 수도 있어요.

외부 공유에 관한 중요 참고 사항

  • URL을 가진 사람은 누구나 대시보드에 접근할 수 있어요.
  • 외부 공유 대시보드는 읽기 전용이에요.
  • 외부 공유 대시보드를 통해 데이터 소스에 임의 쿼리를 실행할 수 없어요. 외부 공유 대시보드는 원본 대시보드에 저장된 쿼리만 실행할 수 있어요.

특정 개인과 외부 공유

이 기능은 이전에 email sharing으로 불렸어요. Grafana EnterpriseGrafana Cloud에서 사용 가능해요. 특정 개인과의 외부 공유는 현재 private preview 상태이며, 이 기능을 활성화하려면 지원팀에 문의해야 해요. 일반 공개(GA)가 되면 비용이 발생해요.

특정 외부 사용자와 대시보드를 공유하려면 이메일로 링크를 보내면 돼요. 이메일로 공유하면 수신자는 1시간 동안 유효한 일회용 링크를 받아요. 링크가 사용된 후 뷰어는 공유 대시보드에 30일 동안 접근할 수 있어요.

특정 개인과 공유하는 단계:

  1. 메인 메뉴에서 Dashboards를 클릭해요.
  2. 공유할 대시보드를 클릭해요.
  3. 오른쪽 상단의 Share 드롭다운을 클릭하고 Share externally를 선택해요. Share externally 드로어가 열려요.
  4. Link access 드롭다운에서 Only specific people을 선택해요.
  5. 사용자 추가에 결제가 필요하다는 확인 체크박스를 클릭해요.
  6. Accept를 클릭해요.
  7. Invite 필드에 초대할 사람의 이메일 주소를 입력하고 Invite를 클릭하고, 초대할 모든 사람에 대해 이 과정을 반복해요. 한 번에 한 사람씩만 초대할 수 있어요.
  8. (선택) 다음 옵션을 설정해요.
    • Enable time range: 링크로 접근하는 사람이 시간 범위를 변경하도록 허용. 이 구성 화면은 대시보드의 기본 시간 범위를 보여줘요.
    • Display annotations: 링크로 접근하는 사람이 대시보드 어노테이션을 보도록 허용. 대시보드가 태그 기반 어노테이션 쿼리를 사용하면 조직의 다른 대시보드 어노테이션도 보일 수 있어요.
  9. (선택) Copy external link를 클릭해 복사한 URL을 외부 사용자에게 보내요.
  10. 오른쪽 상단의 X를 클릭해 공유 드로어를 닫아요.

외부로 공유한 후 대시보드 헤더에 Public 레이블이 표시돼요.

접근 요청하는 뷰어

접근 권한이 없는 뷰어가 공유 대시보드로 이동하려 하면 이메일을 제공해 접근을 요청하라는 메시지가 표시돼요. 제공한 이메일이 이미 공유 대시보드에 초대되었고 철회되지 않았다면 새 일회용 링크가 담긴 이메일을 받아요.

뷰어의 접근 철회

전체 대시보드에 대한 접근은 '외부 대시보드 링크 접근 업데이트'의 단계로 철회할 수 있지만, 특정 개인에 대한 접근도 철회할 수 있어요.

뷰어의 접근을 철회하는 단계:

  1. 메인 메뉴에서 Dashboards를 클릭해요.
  2. 공유할 대시보드를 클릭해요.
  3. Share 드롭다운 > Share externally를 선택해요.
  4. 열린 Share externally 드로어에서 접근을 철회할 뷰어의 이메일 주소 옆에 있는 메뉴 아이콘(점 3개)을 클릭해요.
  5. Revoke access를 클릭해요.
  6. X를 클릭해 드로어를 닫아요.

뷰어는 즉시 대시보드에 접근할 수 없게 되며, 보유한 기존 일회용 링크도 사용할 수 없어요.

뷰어 재초대

  1. Dashboards > 공유할 대시보드 > Share > Share externally.
  2. 다시 초대할 뷰어의 이메일 주소 옆의 메뉴 아이콘을 클릭해요.
  3. Resend invite를 클릭해요.
  4. X를 클릭해 드로어를 닫아요.

뷰어는 새 일회용 링크가 담긴 이메일을 받아요. 이는 그 뷰어에게 이전에 발급된 모든 링크를 무효화해요.

공유 대시보드 사용자 보기

  1. 메인 메뉴에서 Administration을 클릭해요.
  2. Users and access > Users를 선택해요.
  3. Users 페이지에서 Shared dashboard users 탭을 클릭해요.

이 화면에서 다음을 볼 수 있어요.

  • 사용자가 대시보드에서 가장 일찍 활동한 시간
  • 마지막으로 공유 대시보드에 접근한 시간
  • 접근 권한이 있는 대시보드
  • 역할

이 탭에서 모든 공유 대시보드에 대한 사용자 접근을 철회할 수도 있어요.

접근 제한 사항

일회용 링크는 브라우저 쿠키를 사용하므로, 뷰어가 이 링크 중 하나로 접근 권한을 얻으면 링크를 사용한 브라우저에서만 접근할 수 있어요. 단일 뷰어는 대시보드에 대해 여러 개의 유효한 일회용 링크를 생성할 수 없어요. 뷰어에게 새 일회용 링크가 발급되면 이전 링크는 모두 무효화돼요. Grafana 사용자가 상위 대시보드에 읽기 권한이 있으면, 별도로 접근 권한을 부여받지 않아도 외부 공유 대시보드를 볼 수 있어요.

링크가 있는 사람 누구나와 공유

  1. Dashboards > 공유할 대시보드 > Share > Share externally.
  2. Link access 드롭다운에서 Anyone with the link을 선택해요.
  3. 전체 대시보드가 공개된다는 확인 체크박스를 클릭하고 Accept를 클릭해요.
  4. (선택) Enable time range, Display annotations 옵션을 설정해요.
  5. X를 클릭해 드로어를 닫아요.

이제 접근을 일시 중지하거나 철회할 때까지 링크가 있는 사람은 누구나 대시보드에 접근할 수 있어요.

외부 대시보드 링크 접근 업데이트

  1. Dashboards > 해당 대시보드 > Share > Share externally.
  2. 열린 드로어에서 다음 중 하나를 수행해요.
    • Pause access: 사람들이 대시보드에 접근하지 못하게 하지만 링크는 유지
    • Resume access: 사람들이 다시 대시보드에 접근할 수 있게 함
    • Revoke access: 새 외부 링크가 생성되지 않는 한 접근 불가. 링크 철회를 확인
  3. X를 클릭해 드로어를 닫아요.

공유 대시보드 사용 분석

Grafana EnterpriseGrafana Cloud에서 사용 가능.

대시보드 헤더의 insights 아이콘을 클릭해 외부 공유 대시보드에 대한 사용 분석을 확인할 수 있어요. 제공되는 정보의 종류는 dashboard insights documentation에서 알아볼 수 있어요.

지원되는 데이터 소스

외부 공유 대시보드는 plugin.json에서 backendalerting 속성이 모두 true로 설정된 데이터 소스와 작동해야 해요. 다만 플러그인 개발자가 이 기능을 재정의할 수 있으므로 항상 보장되지는 않아요.

확인됨(Confirmed): ClickHouse, CloudWatch, Elasticsearch, Infinity, InfluxDB, Loki, Microsoft SQL Server, MongoDB, MySQL, Oracle Database, PostgreSQL, Prometheus, Redis, SQLite

지원 안 함(Unsupported): DynamoDB, Dynatrace, Graphite, Google Sheets, Tempo, Zabbix

미확인(Unconfirmed): Altinity plugin for ClickHouse, Amazon Athena, Amazon Redshift, Amazon Timestream, Apache Cassandra, AppDynamics, Azure Data Explorer Datasource, Azure Monitor, CSV, DB2 Datasource, Databricks, Datadog, Dataset, Druid, GitHub, Google BigQuery, Grafana for YNAB, Honeycomb, Jira, Mock, Neo4j Datasource, New Relic, OPC UA, Open Distro for Elasticsearch, OpenSearch, OpenTSDB, Orbit, SAP HANA®, Salesforce, Sentry, ServiceNow, Snowflake, Splunk, Splunk Infrastructure Monitoring, Sqlyze data source, TDengine, Vertica, Wavefront, X-Ray, kdb+, simple grpc data source

제한 사항 (Limitations)

  • 프런트엔드 데이터 소스를 사용하는 패널은 데이터를 가져오지 못해요.
  • 변수 및 변수를 포함한 쿼리는 지원되지 않아요.
  • Exemplars는 패널에서 생략돼요.
  • -- Grafana -- 데이터 소스를 쿼리하고 Annotations & Alerts 쿼리 유형을 사용하는 어노테이션만 지원돼요.
  • 조직 어노테이션은 지원되지 않아요.
  • -- Grafana -- 데이터 소스와 Filter by Tags를 사용하는 태그 기반 어노테이션 쿼리는 공유 대시보드뿐만 아니라 조직의 모든 대시보드에서 일치하는 어노테이션을 반환해요. 이는 설계상 의도된 동작이에요.
  • Grafana Live와 실시간 이벤트 스트림은 지원되지 않아요.
  • 라이브러리 패널은 지원되지 않아요.
  • Reverse Proxy 기능을 사용하는 데이터 소스는 지원되지 않아요.

커스텀 브랜딩

Grafana Enterprise 고객은 커스텀 브랜딩으로 외부 공유 대시보드 푸터의 모양을 바꿀 수 있어요. 자세한 내용은 Custom branding을 참고해요.

더 알아보기 (Learn more)