Feature Overview
DataSaker는 모든 종류의 시스템 데이터를 수집하고 처리할 수 있는 플랫폼으로 설계되었습니다. 최초 Infrastructure, Database, APM, Log를 시작으로 지속적으로 기능을 확장할 예정입니다. DataSaker는 현재 다음의 기능과 환경을 지원합니다.
Infrastructure
Host
Host 메트릭을 수집하여 표현합니다. 기본적인 CPU, Memory, CPU Load 등의 메트릭을 지원합니다.
Container
Container 관련 메트릭을 수집하여 표현합니다. Host와 유사하게 Container가 사용하는 CPU, Memory 등을 지원합니다.
Kubernetes
Kubernetes는 다양한 워크로드로 이루어져 있습니다. 현재 DataSaker는 핵심적인 것만 지원하며 다양한 워크로드를 분석할 수 있는 기능을 지속적으로 추가할 예정입니다.
Clusters
클러스터의 리스트와 기본적인 정보를 표현합니다. 클러스터를 선택하면 상세 정보도 함께 확인할 수 있습니다.
Nodes
Kuberentes의 모든 Node를 출력합니다. 클러스터 별로 필터하여 볼 수 있습니다. 역시 리스트에 있는 Node를 선택하면 해당 노드에 있는 Pod의 리스트와 Yaml 정보 등의 상세 정보를 볼 수 있습니다.
Pods
Kubernetes의 핵심은 Pod의 상태입니다. 기본적으로 Pod에 대한 정보를 제공합니다.
Database
데이터베이스 모니터링을 위한 기본적인 기능을 제공합니다. 데이터베이스 메뉴에 표시되지 않은 상세한 메트릭들은 대시보드에 차트를 구성하여 표현할 수 있습니다. 데이터베이스 모니터링은 다음의 하위 메뉴로 구성되어 있습니다.
Top Query
지표에 따라 Top 10, 25, 50에 랭크된 쿼리들을 볼 수 있습니다. 쿼리를 선택하면 관련된 Plan 정보와 메트릭을 볼 수 있습니다.
Long Session
Agent에 설정한 Slow Query 값을 넘어선 쿼리들을 보고 Plan을 확인할 수 있습니다.
Lock
Lock 이 걸려있는 Query 를 확인할 수 있고, Query 간의 관계를 확인할 수 있습니다.
Search
입력한 쿼리와 유사한 쿼리를 검색하여 출력합니다.
APM
APM은 Opentelemetry 기반으로 기능을 제공합니다. 현재 Java, Python, Node.js에 대해 확인되었고 추가적인 검증을 통해서 확장될 예정입니다.
Services
어플리케이션 서비스에 대한 기본적으로 성능 정보를 보여줍니다. 서비스 리스트를 선택하면 해당 서비스의 상세 정보와 함께 관련된 정보를 확인할 수 있습니다.
Trace
수집된 각 Span을 보여줍니다. Span을 선택하면 해상 Span이 포함되어 있는 Trace의 Flame Chart를 보여주어 시각적으로 각 Span에 소요된 시간을 확인할 수 있습니다.
현재 Span은 주기적으로 패치합니다. 실시간을 패치하여 볼 수 있는 Live Tracing은 2023 3Q에 오픈 예정입니다.
Log
Search
Log Agent를 통해 수집된 전체 로그가 보여집니다. 로그는 최근 한시간을 기준으로 스크롤하면 과거 데이터를 지속적으로 로딩합니다. 최근 로그를 보기 위해서는 리로드 버튼을 사용합니다.
Live
실시간 로그를 볼 수 있는 기능입니다. 사용자는 모든 종류의 로그를 실시간으로 확인할 수 있습니다.
Alert
사용자가 설정한 Rule에 따라서 Alert을 발생합니다. 전달하는 채널은 Mail이 기본이며 Slack 채널 추가를 통해서 Slack과 연동할 수 있습니다. Slack 채널의 추가는 Settings > Organization > General에서 진행할 수 있습니다.
Rule list
Rule을 생성하고 관리합니다. 사용자는 매트릭을 선택하고 Alert을 발생시키기 위한 Threshold 설정을 통해서 알림을 전달할 수 있습니다.
History
Alert Rule에 의해 발생한 알람의 히스토리입니다.
Agent
List
설치된 에이전트들의 리스트를 볼 수 있습니다. 에이전트의 Health 상태와 동작여부를 확인하고 필요한 경우 사용자는 에이전트의 동작을 멈출 수 있습니다.
Install
에이전트의 설치 방법을 에이전트가 설치되는 환경에 따라 가이드합니다.
Settings
사용자, 조직 및 요금 플랜 등의 설정 기능을 사용할 수 있습니다.
Personal
Information
사용자 개인의 정보 및 비밀번호를 수정할 수 있습니다.
Preference
사용자가 원하는 설정을 추가할 수 있습니다. Timezone은 현재 자동만 지원합니다.
Start Page Setting을 통해서 로그인 했을 때 원하는 페이지로 이동할 수 있습니다. 현재 Dashboard와 Dashboard list 메뉴만을 지원합니다.
사용자가 다수의 조직(Organization)에 속해있을 경우 Start Organization Setting을 통해서 로그인 할 때 기본으로 사용하는 조직을 선택할 수 있습니다.
My Organization
사용자가 속해 있는 조직 리스트를 제공합니다. 사용자는 이곳에서 다른 조직으로 Switch할 수 있습니다. 또한 사용자는 자신만의 조직을 생성할 수 있습니다. 사용자는 다수의 조직에 포함되어 자유롭게 조직을 이동하며 모니터링을 할 수 있습니다.
Organization
모든 사용자는 최소한 하나의 조직에 포함되어 있습니다. 조직은 데이터를 수집하고 조회하는 기본 단위이며 조직 기준으로 사용량을 측정하여 비용을 부과합니다.
User
사용자를 조직에 초대할 수 있으며 전체 사용자의 상태와 Role을 볼 수 있습니다. 초대 메일은 30분 동안 유효합니다.
Role
각 Role 별로 사용자를 볼 수 있으며 Role을 변경할 수 있습니다.
General
조직의 일반 설정 기능입니다. 조직의 이름을 변경하거나 Notification channel을 추가할 수 있습니다.
API Key
API Key는 조직에 하나만 존재합니다. Agent는 API Key를 사용하여 데이터를 전송하고 유효성이 확인된 것만 데이터를 수집합니다. Agent Key를 재발급하면 이전 API Key를 사용하는 Agent는 데이터를 전송할 수 없기 때문에 재설성해야 하니 주의해야 합니다.
Plan and Billing
구독 플랜과 빌링 관련 정보를 관리할 수 있습니다.
Subscription Plan
Plan은 다음으로 구분됩니다.
- Free Plan : 기간의 제한 없이 무료이지만 사용할 수 있는 용량이 제한되어 있습니다. 허용되는 용량을 초과하면 해당 에이전트는 자동으로 Block됩니다.
- On Demand Plan : 사용한 요금만큼 지불합니다.
- Reserved Plan : 일정한 사용 용량에 대한 사용을 약정합니다. Monthly, Annually 중에서 선택할 수 있으며 Annually 가 가장 비용 효율적으로 사용할 수 있습니다.
현재 Plan의 변경은 관리자에게 요청하여 진행할 수 있습니다. 변경을 원하시면 billing@datasaker.io 로 메일을 주시면 자세한 가이드와 함께 사용에 대한 지원을 해드립니다.
Payment Information
과금을 위한 결제 수단을 등록하고 관리합니다. 발생한 invoice와 결제한 내용을 확인할 수 있습니다.
Usage
사용한 용량을 확인할 수 있습니가. 각 데이터 소스별로 일, 월, 년 단위로 조회할 수 있습니다.