> For the complete documentation index, see [llms.txt](https://genos-docs.gitbook.io/default/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://genos-docs.gitbook.io/default/v1.9.2/dashboard/overview/custom.md).

# 커스텀

커스텀 대시보드는 위젯과 데이터셋을 조합해 사용자 정의 대시보드를 만들고, 공유하거나 내보낼 수 있는 기능입니다. 외부 데이터셋과 GenOS 내부 리소스(서빙·채팅·워크플로우·코드 서빙) 메트릭을 6종 위젯으로 시각화합니다.

좌측 메뉴의 **대시보드 > 커스텀**으로 진입합니다. 목록 화면에서 대시보드를 생성·검색·삭제하고, 빌더 화면에서 위젯을 배치·설정·저장·공유하며, 별도의 데이터셋 관리 화면에서 데이터 소스를 등록하고 실행합니다.

## 주요 개념

| 개념      | 설명                                                                                    |
| ------- | ------------------------------------------------------------------------------------- |
| 대시보드    | 위젯을 담는 최상위 단위입니다. 관리 그룹 단위로 생성·공유하며 목록·빌더·데이터셋 세 화면으로 다룹니다.                           |
| 위젯      | 대시보드 캔버스에 배치하는 시각화 단위입니다. 빅넘버·라인·바·도넛·테이블·시그널 6종이 있으며, 각 위젯은 독립적으로 데이터를 조회하고 새로고침합니다. |
| 데이터 바인딩 | 위젯이 어떤 데이터를 보여줄지 정의합니다. 외부 데이터셋 또는 내부 리소스 중 하나를 소스로 선택합니다.                            |
| 외부 데이터셋 | 직접 등록해 사용하는 데이터셋입니다. 인라인 코드·코드 서빙 소스로 주기 실행하거나 수동으로 실행해 데이터를 채웁니다.                    |
| 내부 데이터셋 | GenOS가 시스템 리소스에서 자동으로 수집하는 데이터셋입니다. 읽기 전용이며 환경설정 권한이 있는 사용자에게만 표시됩니다.                 |
| 시그널     | 빅넘버·시그널 위젯에서 임계값(경고·위험) 대비 현재 값을 초록·노랑·빨강으로 표시하는 기능입니다.                               |
| 글로벌 필터  | 대시보드 전체 위젯에 공통으로 적용되는 기간(1시간·1일·1주·1개월·사용자 지정)과 새로고침 주기입니다.                           |
| 공유      | 대시보드를 관리 그룹·역할·사용자에게 읽기 또는 읽기·쓰기 권한으로 부여하는 기능입니다.                                     |
| 내보내기    | 대시보드 캔버스를 PDF로 출력하는 기능입니다.                                                            |

## 진입 경로

좌측 메뉴의 **대시보드 > 커스텀**을 선택하면 목록 화면으로 진입합니다. 목록 화면에서는 다음으로 이동합니다.

| 이동         | 대상 화면      | 조건                  |
| ---------- | ---------- | ------------------- |
| 생성 버튼      | 빌더 신규 모드   | 쓰기 권한이 있을 때만 표시됩니다. |
| 행 더블 클릭    | 빌더 편집 모드   | —                   |
| 데이터셋 관리 버튼 | 데이터셋 관리 화면 | —                   |

## 목록 화면

목록 화면에서는 대시보드를 검색·정렬·삭제하고, 생성 및 데이터셋 관리로 진입합니다.

<figure><img src="/files/jmjPjAev74Lpxi9ddyP5" alt=""><figcaption><p>커스텀 대시보드 목록</p></figcaption></figure>

* **검색·정렬·페이지네이션**: 정렬은 이름·등록일·관리 그룹명·등록자 컬럼으로 가능하며 기본 정렬은 등록일 내림차순입니다.
* **삭제**: 쓰기 권한이 있을 때 행에서 삭제합니다.
* **빈 상태**: 대시보드가 하나도 없으면 안내와 함께 생성 안내가 표시되고(쓰기 권한이 있는 경우), 검색 결과가 없으면 결과 없음 안내가 표시됩니다.

## 빌더 화면

빌더는 신규 생성과 기존 편집을 같은 화면에서 다룹니다. 상단 헤더에 내보내기·공유·저장 액션이, 그 아래에 글로벌 필터 바가, 중앙에 위젯을 배치하는 캔버스가, 우측에 위젯 카탈로그와 위젯 설정 패널이 있습니다. 우측 패널은 쓰기 권한이 있을 때만 표시됩니다.

<figure><img src="/files/ZS2II7UQIdIGTSjnTyk3" alt=""><figcaption><p>빌더 화면 — 글로벌 필터·캔버스·위젯 카탈로그</p></figcaption></figure>

### 대시보드 생성

1. 목록 화면에서 생성 버튼을 누르면 위젯이 없는 빈 초안 상태로 빌더에 진입합니다.
2. 대시보드명(필수, 최대 64자)·설명·관리 그룹(신규 생성 시 필수)을 입력합니다. 대시보드명 입력란에는 글자 수 카운터가 표시되며, 입력하지 않고 저장하면 안내 토스트가 표시됩니다.
3. 우측 위젯 카탈로그에서 원하는 위젯을 캔버스에 추가합니다.
4. 저장을 누르면 대시보드가 생성된 뒤 위젯 구성까지 함께 저장되고, 성공 토스트와 함께 편집 모드로 전환됩니다.

### 위젯 배치와 데이터 바인딩

캔버스의 위젯 카드를 클릭하면 선택되어 테두리가 강조되고 우측 위젯 설정 패널이 활성화됩니다. 위젯은 위·아래 이동과 삭제로 정렬합니다. 현재 버전은 단일 페이지에서 세로 배치를 지원합니다.

위젯 데이터 소스는 외부와 내부 중 하나를 선택합니다.

* **외부 데이터셋**: 데이터 소스 → 데이터셋 → 모델·세그먼트 등 차원 → 메트릭 순으로 선택합니다.
* **내부 리소스**: 리소스 타입(서빙·채팅 서비스·워크플로우·코드 서빙) → 인스턴스 다중 선택 → 분해 기준(가능한 경우) → 메트릭 순으로 선택하며, 조건이 맞으면 실시간 토글을 켤 수 있습니다.

공통으로 집계 방식과 버킷을 설정하며, 빅넘버·시그널 위젯은 경고·위험 임계값을 설정해 상태 점을 표시합니다. 위젯별 새로고침 주기도 수동부터 24시간까지 지정할 수 있습니다.

### 위젯 종류

| 위젯  | 렌더링           | 특징                                                                                |
| --- | ------------- | --------------------------------------------------------------------------------- |
| 빅넘버 | 단일 수치 카드      | 절댓값이 10,000 이상이면 축약해 표기하고(예: 1.2만) 미만이면 천 단위 콤마를 표시합니다. 임계값을 설정하지 않으면 회색으로 표시됩니다. |
| 라인  | 시계열 라인 차트     | 내부 인스턴스는 최대 6개까지 다중 시리즈로 표시합니다. 선택했지만 데이터가 없는 인스턴스도 범례에 포함됩니다.                    |
| 바   | 막대 차트         | 내부 리소스는 이름과 ID를, 외부 데이터셋은 시각 라벨을 카테고리로 사용합니다.                                     |
| 도넛  | 도넛 차트         | 범례에 실제 점유율을 표시하고 범례에 마우스를 올리면 해당 항목이 강조됩니다.                                       |
| 테이블 | 표             | 화면에서는 스크롤되고 인쇄 시에는 전체 행이 출력됩니다.                                                   |
| 시그널 | 세그먼트별 상태 매트릭스 | 세그먼트별로 집계한 뒤 상태를 색으로 표시합니다.                                                       |

### 조회와 새로고침

각 위젯은 서로 독립적으로 데이터를 조회하며, 글로벌 필터의 기간과 위젯별·전역 새로고침 주기에 맞춰 갱신됩니다. 데이터가 없으면 `-` 또는 "데이터 없음"으로 표시됩니다.

### 편집 권한과 읽기 전용

* **신규 생성**: 커스텀 대시보드 추가 권한이 있어야 합니다.
* **읽기 전용**: 쓰기 권한이 없으면 상단에 안내가 표시되고 편집 컨트롤이 비활성화되며, 우측 카탈로그와 설정 패널이 표시되지 않고 위젯 카드 선택도 비활성화됩니다.
* **기본 제공 대시보드**: 시스템이 제공하는 기본 대시보드는 권한과 무관하게 읽기 전용이며, 권한 부족과 구분되는 별도 안내 문구가 표시됩니다.

## 데이터셋 관리 화면

데이터셋은 위젯이 바인딩하는 데이터 소스로, 목록에서 별도 리소스로 관리합니다. 등록·수정·삭제·미리보기·실행 이력·수동 실행을 제공합니다.

<figure><img src="/files/0J8CIlvfmbM3URcEmDlr" alt=""><figcaption><p>데이터셋 관리 화면</p></figcaption></figure>

### 외부 데이터셋 등록

1. 목록 화면에서 데이터셋 관리로 이동해 데이터셋 등록을 엽니다.
2. 데이터셋 키(미등록 목록에서 선택하거나 직접 입력)·이름(필수)·관리 그룹(필수)을 입력합니다.
3. 소스 타입을 고릅니다.
   * **인라인 코드**: 수집 함수를 작성하면 GenOS가 직접 실행해 적재합니다.
   * **코드 서빙**: 배포와 리비전을 고르고 호출 경로·메서드·바디를 지정해 주기적으로 호출합니다.
4. 스케줄을 켜면 매시간·매일·매주 프리셋 또는 직접 입력으로 주기 실행을 설정합니다.

<figure><img src="/files/xbQmt4PIp5avvI9XXrm7" alt=""><figcaption><p>데이터셋 등록 다이얼로그</p></figcaption></figure>

등록 후 목록의 행 액션으로 다음을 수행합니다.

| 액션      | 설명                                       | 조건           |
| ------- | ---------------------------------------- | ------------ |
| 미리보기    | 최근 적재된 데이터를 확인합니다.                       | —            |
| 지금 실행   | 데이터셋을 수동으로 실행하며 실행 이력에 진행 상태와 결과가 기록됩니다. | 소스가 있는 경우    |
| 실행 이력   | 실행 기록(상태·적재 행 수·오류 메시지·시각)을 조회합니다.       | —            |
| 수정 / 삭제 | 데이터셋을 편집하거나 제거합니다.                       | 쓰기 권한이 있는 경우 |

소스가 지정되지 않은 데이터셋은 "지금 실행"과 "실행 이력"이 표시되지 않습니다.

### 내부 데이터셋

내부 데이터셋은 GenOS가 시스템 리소스에서 자동으로 수집하며 읽기 전용입니다. 환경설정 권한이 있는 사용자에게만 목록에 표시됩니다.

수정·삭제·개별 실행은 제공되지 않으며, 미리보기와 전역 수집 실행, 실행 이력만 제공합니다.

## 공유

빌더 헤더의 공유를 열면 대상별 권한 부여 행을 편집합니다. 행마다 대상 타입(그룹·역할·사용자)을 고르고 대상과 권한(읽기·읽기 및 쓰기)을 지정한 뒤 저장합니다. 대상 타입을 바꾸면 선택했던 대상 값이 초기화됩니다.

## 내보내기

내보내기는 브라우저 인쇄 기능을 사용합니다. 인쇄할 때는 화면의 다른 요소를 숨기고 대시보드 캔버스와 인쇄 전용 제목만 출력하며, 도넛·막대의 색을 그대로 보존합니다. 화면에서 스크롤되던 테이블과 바 차트도 인쇄에서는 잘리지 않고 전체가 출력됩니다. 저장 파일명은 `대시보드명_YYYYMMDD` 형식으로 지정됩니다.

## 상태별 화면

| 상태          | 화면                                         |
| ----------- | ------------------------------------------ |
| 목록 빈 상태     | 안내 문구와 함께 쓰기 권한이 있으면 생성 안내가 표시됩니다.         |
| 목록 검색 결과 없음 | 결과 없음 안내가 표시됩니다.                           |
| 빌더 위젯 없음    | 위젯을 추가하라는 안내가 표시됩니다.                       |
| 빌더 상세 로드 실패 | 일시 오류 안내가 표시됩니다.                           |
| 읽기 전용       | 상단 안내와 함께 편집 컨트롤이 비활성화되고 우측 패널이 표시되지 않습니다. |
| 데이터셋 빈 상태   | 안내 문구가 표시됩니다.                              |
| 위젯 데이터 없음   | `-` 또는 "데이터 없음"이 표시됩니다.                    |
| 로딩          | 목록은 스켈레톤, 빌더와 위젯은 스피너가 표시됩니다.              |

조회에 실패하더라도 오류 화면 대신 빈 상태로 표시되며, 오류 안내는 토스트로 한 번만 표시됩니다.

## 권한 정리

| 화면         | 쓰기 권한 판정                     |
| ---------- | ---------------------------- |
| 목록(생성·삭제)  | 커스텀 대시보드 추가 권한               |
| 빌더 신규      | 커스텀 대시보드 추가 권한               |
| 빌더 편집      | 해당 대시보드에 대한 수정 가능 여부         |
| 데이터셋 관리    | 데이터셋 추가 권한 또는 커스텀 대시보드 추가 권한 |
| 내부 데이터셋 표시 | 환경설정 권한                      |

## 사용자 시나리오

### 대시보드 생성

목록 화면에서 생성을 눌러 빈 초안으로 진입합니다. 대시보드명·설명·관리 그룹을 입력하고, 우측 카탈로그에서 위젯을 추가한 뒤 저장하면 대시보드가 생성되고 편집 모드로 전환됩니다.

### 위젯 바인딩

캔버스의 위젯을 선택해 우측 설정 패널에서 데이터 소스를 지정합니다. 외부 데이터셋이면 데이터셋·차원·메트릭을, 내부 리소스이면 리소스 타입·인스턴스·메트릭을 선택합니다. 집계와 버킷을 설정하고, 빅넘버·시그널 위젯은 임계값으로 상태를 표시합니다. 정렬한 뒤 저장합니다.

### 데이터셋 등록과 실행

데이터셋 관리로 이동해 데이터셋을 등록합니다. 데이터셋 키·이름·관리 그룹을 입력하고 인라인 코드 또는 코드 서빙 소스와 스케줄을 지정합니다. 등록 후 행에서 미리보기로 적재된 데이터를 확인하고, 지금 실행으로 수동 실행하며, 실행 이력에서 결과를 추적합니다.

### 조회·공유·내보내기

글로벌 필터로 기간과 새로고침 주기를 조정해 전체 위젯을 다시 조회합니다. 공유를 열어 그룹·역할·사용자에게 권한을 부여하고, 내보내기로 대시보드를 PDF로 출력합니다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://genos-docs.gitbook.io/default/v1.9.2/dashboard/overview/custom.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
