애플리케이션 서비스 구성 항목 가이드
개요¶
이 문서는 launcher의 "애플리케이션 설정 수정" 기능을 통해 관련 구성을 변경하여 자체 환경에 더 잘 적응하고, 구성을 최적화하며 개인화된 설정을 충족시키는 것을 목표로 합니다.
launcher 작업 절차¶
-
브라우저에서 launcher 콘솔에 접속합니다.
-
오른쪽 상단을 선택하여 애플리케이션 설정 수정 화면으로 들어갑니다.
-
해당 구성 파일을 수정하려면 설정 수정 옵션을 선택하여 수정 가능하게 합니다.
-
설정 수정을 완료한 후, 페이지 하단 오른쪽의 설정 수정 후 관련 서비스 자동 재시작을 선택한 다음 설정 수정을 클릭하여 확인합니다.
서비스의 일반적인 구성 설명¶
Studio 백엔드 서비스¶
구성 파일 위치¶
- Namespace: forethought-core
- Launcher의 구성 이름: Core
- Kubernetes의 Configmap 이름: core
구성 파일 예시¶
# Guance 콘솔 주소 액세스 프로토콜
protocol: "http"
# Guance 콘솔 주소
hostname: "console.cloudcare.cn"
# 관리 백엔드 사이트 액세스 주소
managementHostname: "management.cloudcare.cn"
# 현재 사이트 이름
envName: Guance 배포 플랜
# 시스템 디버그 모드 활성화 여부, 일반적으로 비활성화
debug: false
# 시스템 기본 언어
defaultLanguage: "zh"
# 프론트엔드 액세스 주소 접두사, 처음 두 개의 중괄호는 protocol과 hostname으로 대체되며, 통합된 2차 주소를 구성하려면 이 설정을 직접 조정할 수 있습니다.
frontServerUrlPrefixFormat: "{}://{}"
# ExternalAPI 서비스 구성
external:
# 각 요청 서명의 유효 기간, 단위: 초
timeliness: 60
# 구버전 단일 계정 AK/SK 구성; 히스토리 환경 호환을 위해 유지, privilege=w인 읽기/쓰기 계정과 동일
accessKey: ""
secretKey: ""
# 인터페이스 작업에서 계정으로 사용되는 이메일 이름
email: ""
# ExternalAPI 다중 계정 구성, 읽기/쓰기 계정과 읽기 전용 계정 분리 지원; 비어 있을 경우 위의 구버전 단일 계정 구성만 사용
# 필드 설명:
# name: 계정 식별자, 로그, 관측 및 문제 해결에만 사용; default와 같은 의미 없는 이름은 사용하지 마십시오
# accessKey: 요청 헤더 X-Df-Access-Key에 사용되는 AK
# secretKey: 현재 AK에 해당하는 서명 SK, 로그에 기록되지 않음
# privilege: 계정 권한, w는 읽기/쓰기 계정으로 privilege=r/w 인터페이스에 액세스 가능; r은 읽기 전용 계정으로 privilege=r 인터페이스에만 액세스 가능
# email: 현재 ExternalAPI 계정이 요청 컨텍스트에 표시하는 이메일; 비어 있을 경우 external.email로 대체
# enabled: 계정 활성화 여부, false인 경우 인증에 사용할 수 없음
accounts: []
# accounts:
# - name: "primary-write"
# accessKey: ""
# secretKey: ""
# privilege: "w"
# email: ""
# enabled: true
# - name: "security-readonly"
# accessKey: ""
# secretKey: ""
# privilege: "r"
# email: ""
# enabled: true
# 알림 정책 멤버 유형 선택 가능한 알림 방식
alertPolicyFixedNotifyTypes:
email:
enable: true
# Token 기본 만료 시간 설정
token_exp_set:
# 웹 기본 설정 4시간
front_web: 14400
# 관리 백엔드 token 기본 만료 시간
manage: 7200
# API 문서 활성화 여부, 기본 비활성화, true인 경우 활성화. API 문서 경로 기본값은 /v1/doc; inner API 기본 주소는 /v1/inner.doc
apiDocPageSwitch:
# 관리 백엔드
admin: false
# 프론트엔드
front: false
# inner 서비스
inner: false
# openapi 서비스
openapi: false
center: false
# external 서비스
external: false
# query_view에서 트레이스의 시간 범위 오프셋, 단위: 초
BusinessQueryViewTimeOffset: 900
# 동일 조직 내 워크스페이스 간 Trace 조회 구성, 기본 비활성화
SameOrgTraceQuerySet:
# 동일 조직 내 현재 워크스페이스가 아닌 Trace 데이터 조회 허용 여부
enable: false
# 단일 조회 또는 워크스페이스 목록 필터링에서 허용되는 최대 워크스페이스 UUID 수
maxWorkspaceCount: 20
# 단일 Trace 조회 시 limit을 명시적으로 전달할 때 허용되는 최대값
maxLimit: 1000
# 단일 Trace 조회에서 허용되는 최대 시간 창, 단위: 시간
maxTimeRangeHours: 24
# 동일 조직 워크스페이스 단순화 목록 인터페이스에서 허용되는 최대 페이지 크기
workspaceListPageSizeMax: 100
# Guance의 데이터베이스 구성
database:
connection:
pool_size: 20
max_overflow: 100
echo: false
pool_timeout: 30
# 이 설정은 지정된 시간(초)이 지나면 풀이 연결을 재활용하도록 합니다. 기본값은 -1 또는 타임아웃 없음입니다. 예를 들어 3600으로 설정하면 연결이 1시간 후에 재활용됩니다. MySQL은 8시간 동안 연결에서 활동이 감지되지 않으면 자동으로 연결을 끊습니다(MySQLDB 연결 자체 및 서버 구성을 통해 구성 가능).
pool_recycle: 3600
# 부울 값, True인 경우 연결 풀 "ping 사전 확인" 기능을 활성화하여 각 체크아웃 시 연결의 활성 상태를 테스트합니다.
pool_pre_ping: true
# 연결 검색 시 LIFO(후입선출) QueuePool을 사용하고 FIFO(선입선출)를 사용하지 않습니다. LIFO를 사용하면 서버 측 타임아웃 체계로 인해 사용량이 적은 시간에 사용되는 연결 수를 줄일 수 있습니다. 서버 측 타임아웃을 계획할 때는 pool_recycle 또는 pool_pre_ping 전략을 사용하여 오래된 연결을 적절히 처리해야 합니다.
pool_use_lifo: true
# Logger 구성
logger:
filename: /logdata/business.log
level: info
# 각 로그 파일의 최대 크기
max_bytes: 52428800
# 로그 파일 롤링 총 개수
backup_count: 3
# 로그 출력 방식 제어, 기본값은 파일 출력 및 stdout 출력
output_mode_switch:
file: true
stdout: true
# GunLogger-access, 위와 동일
g_access_logger:
filename: /logdata/g_access.log
mode: a
level: info
max_bytes: 52428800
backup_count: 3
# 로그 출력 방식 제어, 기본값은 파일 출력 및 stdout 출력
output_mode_switch:
file: true
stdout: true
# 새 워크스페이스 생성 시 기본 대용량 로그 분할 단위, 단위: byte
workspaceLoggingCutSizeSet:
es: 10240
sls: 2048
beaver: 2048
doris: 10240
# 새 워크스페이스 생성 시 기본 데이터 보존 정책
workspaceVersionSet:
unlimited:
# 배포 플랜 새 워크스페이스의 기본 정책 구성
durationSet:
rp: 30d
logging: 14d
keyevent: 14d
tracing: 7d
profiling: 7d
rum: 7d
# 배포 플랜에만 session_replay의 별도 구성이 존재함
session_replay: 7d
network: 2d
security: 90d
backup_log: 180d
# 워크스페이스 기본 상태 설정
WorkspaceDefaultStatsConfig:
isOpenLogMultipleIndex: true # 기본 워크스페이스 생성 시, 사용자 정의 로그 인덱스 미활성화
logMultipleIndexCount: 6 # 기본 워크스페이스 생성 시, 사용자 정의 로그 인덱스 수
loggingCutSize: 10240 # 기본 워크스페이스 생성 시, 대용량 로그 카운트 단위 10KB
maxSearchResultCount: 0 # 기본 워크스페이스 생성 시, 최대 쿼리 수 0
# es/doris 인덱스 구성 기본 정보
WorkspaceDefaultesIndexSettings:
number_of_shards: 1 # 기본 워크스페이스 생성 시, 기본 샤드 수 es
number_of_replicas: 1 # 기본 워크스페이스 생성 시, 복제본 활성화 여부 es | doris
rollover_max_size: 30 # 기본 워크스페이스 생성 시, 샤드 크기 es
hot_retention: 24 # 기본 워크스페이스 생성 시, 핫 데이터 기간 es | doris
# openapi 속도 제한 설정
openapiCurrentLimitingSet:
# 속도 제한 스위치, 기본 비활성화, 사용하려면 true로 설정
isOpen: false
crontabSet:
# 매분 실행되는 속도 제한 횟수
hour: "*"
minute: "*/1"
frequency:
# ak 수준 호출 속도 제한 100회/분
ak: 100
# 워크스페이스 수준 호출 속도 제한 300회/분
workspace: 300
# Studio 백엔드 CORS Origin 화이트리스트 구성
CorsAllowOriginSet:
# CORS Origin 화이트리스트 활성화 여부, 기본 비활성화하여 호환성 유지; 활성화 시 화이트리스트 브라우저 Origin에 대해서만 Access-Control-Allow-Origin 반환
enabled: false
# 정확히 일치하는 프론트엔드 도메인 목록, 데이터 형식은 문자열 배열, 프로토콜, 도메인 및 선택적 포트를 포함해야 함
# 예시: ["https://console.example.com", "https://uat-console.example.com:8443"]
allowedOrigins: []
# 제어된 와일드카드 규칙 목록, 데이터 형식은 문자열 배열, Origin 문자열에 대해 와일드카드 매칭 수행
# 예시: ["https://*.example.com"]; 여러 하위 도메인을 허용해야 하는 경우에만 구성, "*" 사용은 권장하지 않음
allowedOriginPatterns: []
# 브라우저가 자격 증명을 포함한 CORS 요청을 허용할지 여부
allowCredentials: true
# 허용된 CORS 요청 메서드
allowMethods: "GET,POST,HEAD,PATCH,PUT,OPTIONS,DELETE"
# 배포 플랜 로그인 제한
LoginLimitSet:
# 동일 사용자 이름 연속 로그인 오류 재시도 횟수
retry_times: 5
# 연속 로그인 실패 retry_times 회 후 로그인 제한 시간, 기본 15분
exp: 900
...
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| protocol | 문자열 | http | Guance 콘솔 주소 액세스 프로토콜 | |
| hostname | 문자열 | console.cloudcare.cn | Guance 콘솔 주소 | |
| managementHostname | 문자열 | management.cloudcare.cn | 관리 백엔드 사이트 액세스 주소 | |
| envName | 문자열 | Guance | 현재 사이트 이름 | |
| debug | 부울 | false | debug 모드 스위치 | |
| frontServerUrlPrefixFormat | 문자열 | {}://{} | 프론트엔드 액세스 주소 접두사, 처음 두 개의 중괄호는 protocol과 hostname으로 대체됨, 통합된 2차 주소를 구성하려면 이 설정을 직접 조정 | |
| enableApmServiceTopology | 부울 | false | "APM > 서비스 > 서비스 맵"의 워크스페이스 간 조회 진입점 활성화 여부. 배포 플랜에서 활성화하면 프론트엔드는 권한 및 버전 조건을 충족할 때 공간 범위 선택기를 표시함; 이 스위치는 kodo-inner의 servicemap.cross_workspace_on과 독립적이며 시나리오에 따라 함께 사용 가능 |
|
| external | timeliness | 숫자 | 60 | 각 요청 서명의 유효 기간, 단위: 초 |
| accessKey | 문자열 | 구버전 단일 계정 AK 구성; 히스토리 환경 호환을 위해 유지, privilege=w인 읽기/쓰기 계정과 동일. 새 환경에서는 accounts 구성을 우선 사용 권장 |
||
| secretKey | 문자열 | 구버전 단일 계정 SK 구성; accessKey와 함께 사용, 로그에 기록되지 않음 |
||
| 문자열 | ExternalAPI 요청 컨텍스트에 표시되는 기본 이메일; accounts[].email이 비어 있으면 이 구성으로 대체 |
|||
| accounts | 목록 | [] | ExternalAPI 다중 계정 구성 목록, 읽기/쓰기 계정과 읽기 전용 계정 분리 지원; 비어 있으면 구버전 accessKey/secretKey 구성만 사용 |
|
| accounts[].name | 문자열 | 계정 식별자, 로그, 관측 및 문제 해결에만 사용; 새 구조에서는 필수, default는 사용 불가, primary-write, security-readonly 등 용도를 나타내는 이름 사용 권장 |
||
| accounts[].accessKey | 문자열 | 현재 계정 요청 헤더 X-Df-Access-Key에 사용되는 AK |
||
| accounts[].secretKey | 문자열 | 현재 계정에 해당하는 서명 SK, 서버 측 서명 확인에만 사용, 로그에 기록되지 않음 | ||
| accounts[].privilege | 문자열 | w | 현재 계정 권한. w는 읽기/쓰기 계정으로 privilege=r/w 인터페이스에 액세스 가능; r은 읽기 전용 계정으로 privilege=r 인터페이스에만 액세스 가능 |
|
| accounts[].email | 문자열 | 현재 계정이 ExternalAPI 요청 컨텍스트에 표시하는 이메일; 비어 있으면 external.email로 대체 |
||
| accounts[].enabled | 부울 | true | 현재 계정 활성화 여부; false로 설정하면 인증에 사용할 수 없음 |
|
| defaultLanguage | 문자열 | zh | 시스템 기본 언어, 새 워크스페이스에서 언어를 지정하지 않은 경우 이 구성 값 사용 | |
| token_exp_set | front_web | 숫자 | 14400 | Studio 브라우징 사용자 로그인 유효 기간, 단위: 초 |
| manage | 숫자 | 7200 | 관리 백엔드 브라우징 사용자 로그인 유효 기간, 단위: 초 | |
| apiDocPageSwitch | admin | 부울 | false | 관리 백엔드 API 인터페이스 문서 공개 스위치 |
| front | 부울 | false | Studio 백엔드 API 인터페이스 문서 공개 스위치 | |
| inner | 부울 | false | Inner 서비스 API 인터페이스 문서 공개 스위치 | |
| openapi | 부울 | false | OpenAPI 인터페이스 문서 공개 스위치 | |
| external | 부울 | false | External API 인터페이스 문서 공개 스위치 | |
| BusinessQueryViewTimeOffset | 숫자 | 900 | RUM Resource에 해당하는 트레이스 데이터 조회 시 시간 전후 오프셋 범위, 단위: 초 | |
| SameOrgTraceQuerySet | enable | 부울 | false | 동일 조직 내 워크스페이스 간 Trace 조회 허용 여부. 비활성화 시 동일 조직 워크스페이스 단순화 정보 목록 인터페이스는 계속 사용 가능하지만 Trace 조회 인터페이스는 현재 워크스페이스만 조회 가능 |
| maxWorkspaceCount | 숫자 | 20 | 단일 동일 조직 Trace 조회 및 워크스페이스 목록 필터링에서 허용되는 최대 워크스페이스 UUID 수 | |
| maxLimit | 숫자 | 1000 | 단일 동일 조직 Trace 조회 시 limit을 명시적으로 전달할 때 허용되는 최대값 |
|
| maxTimeRangeHours | 숫자 | 24 | 단일 동일 조직 Trace 조회에서 허용되는 최대 시간 창, 단위: 시간 | |
| workspaceListPageSizeMax | 숫자 | 100 | 동일 조직 워크스페이스 단순화 정보 목록 인터페이스에서 허용되는 최대 페이지 크기 | |
| database | connection | 문자열 | 데이터베이스 연결 문자열 | |
| pool_size | 숫자 | 20 | 단일 Worker 연결 풀 연결 수 기본 크기 | |
| max_overflow | 숫자 | 100 | 단일 Worker 연결 풀 연결 최대 초과 수 | |
| pool_timeout | 숫자 | 30 | 데이터베이스 연결 타임아웃 시간, 단위: 초 | |
| pool_recycle | 숫자 | 3600 | 연결 풀 연결 재활용 시간 제어, 연결 생성 후 지정된 시간 이후 재활용됨. 단위: 초. 일반적으로 pool_pre_ping, pool_use_lifo와 함께 사용해야 하며 pool_use_lifo는 true여야 함. 연결 재활용 메커니즘은 데이터베이스 연결이 사용될 때만 트리거됨. | |
| pool_pre_ping | 부울 | true | 연결 풀 "ping 사전 확인" 기능을 활성화하여 사용 시마다 연결의 활성 상태를 테스트함 | |
| pool_use_lifo | 부울 | true | 연결 검색 시 LIFO(후입선출) QueuePool 사용, FIFO(선입선출) 미사용 | |
| logger | filename | 문자열 | /logdata/business.log | 로그 파일 |
| level | 문자열 | info | 로그 최소 수준 | |
| max_bytes | 숫자 | 52428800 | 각 로그 파일의 최대 크기, 단위: 바이트 | |
| backup_count | 숫자 | 3 | 로그 파일 롤링 총 개수 | |
| output_mode_switch.file | true | 로그 출력 방식 제어 스위치, 파일 출력 지원 | ||
| output_mode_switch.stdout | true | 로그 출력 방식 제어 스위치, stdout 출력 지원 | ||
| g_access_logger | gunicorn 로그 구성, 관련 하위 구성 항목은 logger와 동일 | |||
| workspaceLoggingCutSizeSet | es | 숫자 | 10240 | 새 워크스페이스 생성 시 기본 대용량 로그 분할 단위, 단위: byte, 스토리지 유형: elasticsearch/OpenSearch |
| sls | 숫자 | 2048 | 새 워크스페이스 생성 시 기본 대용량 로그 분할 단위, 단위: byte, 스토리지 유형: Alibaba Cloud SLS | |
| beaver | 숫자 | 2048 | 새 워크스페이스 생성 시 기본 대용량 로그 분할 단위, 단위: byte, 스토리지 유형: LogEasy | |
| doris | 숫자 | 10240 | 새 워크스페이스 생성 시 기본 대용량 로그 분할 단위, 단위: byte, 스토리지 유형: doris | |
| WorkspaceDefaultStatsConfig.unlimited.durationSet | json | 새 워크스페이스의 기본 데이터 보존 기간 구성 | ||
| rp | 문자열 | 30d | 메저먼트의 기본 데이터 보존 기간 | |
| logging | 문자열 | 14d | 로그의 기본 데이터 보존 기간 | |
| keyevent | 문자열 | 14d | 이벤트의 기본 데이터 보존 기간 | |
| tracing | 문자열 | 7d | 트레이스의 기본 데이터 보존 기간 | |
| rum | 문자열 | 7d | RUM의 기본 데이터 보존 기간 | |
| network | 문자열 | 2d | 네트워크의 기본 데이터 보존 기간 | |
| security | 문자열 | 90d | 보안 점검의 기본 데이터 보존 기간 | |
| backup_log | 문자열 | 180d | 백업 로그의 기본 데이터 보존 기간 | |
| WorkspaceDefaultStatsConfig | isOpenLogMultipleIndex | 부울 | true | 워크스페이스 생성 시, 사용자 정의 로그 인덱스 활성화 여부 |
| logMultipleIndexCount | 숫자 | 6 | 워크스페이스 생성 시, 사용자 정의 로그 인덱스 수 | |
| loggingCutSize | 숫자 | 6 | 워크스페이스 생성 시, 대용량 로그 카운트 단위 10KB | |
| maxSearchResultCount | 숫자 | 0 | 최대 쿼리 수 0 | |
| WorkspaceDefaultesIndexSettings | number_of_shards | 숫자 | 1 | 워크스페이스 생성 시, 기본 샤드 수, 스토리지 유형이 es인 경우 유효 |
| number_of_replicas | 숫자 | 1 | 워크스페이스 생성 시, 복제본 활성화 여부, 스토리지 유형이 es/doris인 경우 유효 | |
| rollover_max_size | 숫자 | 30 | 워크스페이스 생성 시, 샤드 크기, 스토리지 유형이 es/doris인 경우 유효 | |
| hot_retention | 숫자 | 24 | 워크스페이스 생성 시, 핫 데이터 기간, 스토리지 유형이 es/doris인 경우 유효 | |
| openapiCurrentLimitingSet | json | openapi 속도 제한 설정 | ||
| isOpen | 부울 | false | openapi 속도 제한 스위치, 기본 비활성화 | |
| openapiCurrentLimitingSet.crontabSet | json | 예약 작업 구성 | ||
| hour | 문자열 | "*" | crontab의 시간 설정, 기본값: 매시간 | |
| minute | 문자열 | "*/1" | crontab의 분 설정, 기본값: 매분 | |
| openapiCurrentLimitingSet.frequency | json | 제한 구성 | ||
| ak | 숫자 | 100 | ak 수준 호출 속도 제한 100회/분 | |
| workspace | 숫자 | 300 | 워크스페이스 수준 호출 속도 제한 300회/분 | |
| CorsAllowOriginSet | json | Studio 백엔드 CORS Origin 화이트리스트 구성. 비활성화 시 호환성 유지; 활성화 시 화이트리스트 내 브라우저 Origin에 대해서만 Access-Control-Allow-Origin 반환. Origin이 없는 서비스 내 호출은 CORS 영향 없음 |
||
| enabled | 부울 | false | CORS Origin 화이트리스트 활성화 여부. 전용 환경에서 크로스 오리진 소스를 제한해야 하는 경우 true로 설정 | |
| allowedOrigins | 배열 | [] | 정확히 일치하는 프론트엔드 도메인 목록, 데이터 형식은 문자열 배열, 프로토콜, 도메인 및 선택적 포트를 포함해야 함, 예: ["https://console.example.com", "https://uat-console.example.com:8443"] |
|
| allowedOriginPatterns | 배열 | [] | 제어된 와일드카드 규칙 목록, 데이터 형식은 문자열 배열, Origin 문자열에 대해 와일드카드 매칭 수행, 예: ["https://*.example.com"]; "*" 구성은 권장하지 않음 |
|
| allowCredentials | 부울 | true | 화이트리스트에 일치할 때 Access-Control-Allow-Credentials: true 반환 여부, 브라우저가 Cookie, 인증 헤더 등 자격 증명을 포함한 CORS 요청 허용 |
|
| allowMethods | 문자열 | GET,POST,HEAD,PATCH,PUT,OPTIONS,DELETE | 허용된 CORS 요청 메서드 목록, 여러 메서드는 쉼표로 구분 | |
| LoginLimitSet | json | 배포 플랜 로그인 제한 | ||
| retry_times | 숫자 | 5 | 동일 사용자 이름 연속 로그인 오류 재시도 횟수 | |
| exp | 숫자 | 900 | 연속 로그인 실패 retry_times 회 후 로그인 제한 시간, 기본 15분, 단위는 초 |
Studio 프론트엔드 사이트¶
구성 파일 위치¶
- Namespace: forethought-webclient
- Launcher의 구성 이름: frontWeb
- Kubernetes의 Configmap 이름: front-web-config
구성 파일 예시¶
window.DEPLOYCONFIG = {
...
"rumDatawayUrl": "https://rum-openway.guance.com",
"datakitScriptUrl": "https://static.guance.com/datakit",
"datakitHelmUrl": "https://pubrepo.guance.com",
"passPublicNetwork": 1,
"isOverseas": 0,
"maxTraceSpanLimit": 10000,
"maxProfileM": 5,
"paasCustomLoginInfo": [{ "iconUrl":"xxx", "label": "xxx", "url": "xxxx" ,desc:"xxx"}],
"paasCustomSiteList": [{"url": "xxxx", "label": "xxx"}],
"paasCustomLoginUrl": "https://www.xxx",
"maxMessageByte": 10 * 1024,
"isDesensitizeUser": false,
"webRumSdkUrl": "https://static.guance.com/browser-sdk/v3/dataflux-rum.js",
"defaultTimeMap": {
'log': [1732254771701,1732255671701],// 또는 상대 시간 5m
}
...
}
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| rumDatawayUrl | 문자열 | "https://rum-openway.guance.com" | RUM 데이터 전용 DataWay 주소, 구성 후 RUM 설정 페이지에 표시됨 | |
| datakitScriptUrl | 문자열 | "https://static.guance.com/datakit" | DataKit 설치 페이지의 기본 설치 스크립트 다운로드 도메인, 자체 구축 내부 정적 리소스를 사용하는 경우 이 구성을 수정 | |
| datakitHelmUrl | 문자열 | "https://pubrepo.guance.com" | DataKit Helm 이미지 저장소 주소, 자체 구축 이미지 저장소를 사용하는 경우 이 구성을 수정 | |
| passPublicNetwork | 숫자 | 1 | Studio 사이트에 액세스하는 클라이언트 컴퓨터에 공용 네트워크가 있는지 여부, 0: 없음, 1: 있음 | |
| isOverseas | 숫자 | 0 | 이 Guance 사이트가 해외 배포인지 여부를 구성, RUM의 세계 지도, 중국 지도 구성 요소 표시에 영향을 미침 | |
| maxTraceSpanLimit | 숫자 | 10000 | 트레이스 플레임 그래프의 최대 Span 수, 기본값: 10000 | |
| maxProfileM | 숫자 | 5 | 프로파일링을 가져와 플레임 그래프를 표시할 최대 MB 수, 구성하지 않으면 기본값: 5 | |
| paasCustomLoginInfo | 배열 | 없음 | 배포 플랜 Guance 콘솔 로그인 페이지 SSO 진입점 구성, iconUrl, desc 사용자 정의 필드 추가, iconUrl은 SSO 아이콘 주소, 구성하지 않으면 기본 아이콘, desc는 SSO 설명 텍스트 | |
| paasCustomSiteList | 배열 | 없음 | 배포 플랜 Guance 콘솔 로그인 페이지에 멀티 사이트 선택 구성 추가, label은 사이트 표시 텍스트, url은 사이트 주소, 멀티 사이트가 없으면 이 구성 항목을 추가하지 않아도 됨 | |
rumEnable 자체 관측 |
Boolean | 없음 | RUM 활성화 여부, 1은 활성화, 활성화하지 않으면 아래 구성 값은 비워 둘 수 있음 | |
rumDatakitUrl 자체 관측 |
문자열 | 없음 | RUM DataKit 주소 또는 공용 openway 주소 | |
rumApplicationId 자체 관측 |
문자열 | 없음 | RUM 애플리케이션 ID, 애플리케이션 데이터를 보고하는 데 사용 | |
rumJsUrl 자체 관측 |
문자열 | 없음 | RUM SDK CDN 주소 | |
rumTrackInteractions 자체 관측 |
Boolean | 없음 (비활성화) | 사용자 행동 데이터(Action) 수집 활성화 여부 | |
rumClientToken 자체 관측 |
문자열 | 없음 | RUM Openway 방식 데이터 보고(rumOpenwayUrl과 함께 사용 필요), Guance 플랫폼에서 생성된 clientToken, datakit 보고 방식과 충돌하며 datakit 보고 방식보다 우선 순위 높음 |
|
rumOpenwayUrl 자체 관측 |
문자열 | 없음 | RUM Openway 공용 주소(rumClientToken과 함께 사용 필요), Studio 사이트 자체 관측 데이터 보고에 사용 |
|
isDesensitizeUser 자체 관측 |
Boolean | 없음 | 자체 관측 사용자 이메일 및 사용자 이름 데이터 마스킹 활성화 여부, true는 활성화, false는 비활성화 | |
| paasCustomLoginUrl | 문자열 | 없음 | 사용자 정의 로그인 URL | |
| maxMessageByte | 문자열 | 없음 | 로그 탐색기 목록 message 최대 표시 바이트 수, 미입력 시 기본값 10 * 1024 | |
| webRumSdkUrl | 문자열 | 없음 | RUM Web SDK CDN 주소, 미입력 시 기본값 https://static.guance.com/browser-sdk/v3/dataflux-rum.js | |
| defaultTimeMap | 문자열 또는 객체 구조 | 없음 | 탐색기 기본 초기화 시간 구성, 형식: {'log': '5m'} 또는 {'log': [1732254771701,1732255671701]} 객체 key는 고정 문자열, 로그 탐색기는 log, 보안 점검은 security |
|
| maxPipelineRulesCharacters | 숫자 | 10240 | Pipeline 파싱 규칙에 입력 가능한 최대 문자 수, 구성하지 않으면 기본값 10240 | |
| hideTesingOperator | Boolean | false | 신서틱 테스트 테스트 버튼 숨김 여부 |
kodo 구성 요소¶
구성 파일 위치¶
- Namespace: forethought-kodo
- Launcher의 구성 이름: Kodo
- Kubernetes의 Configmap 이름: kodo
구성 파일 예시¶
...
global:
workers: 8
log_workers: 8
tracing_workers: 8
...
redis:
host: "r-xxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
asynq_redis:
host: "r-xxxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
dql:
metric_query_workers: 8 # 시계열 데이터 worker 수, 기본값 8
log_query_workers: 8 # 로그 데이터 worker 수, 기본값 8
...
...
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| log | log_file | 문자열 | '/logdata/log' | 실행 로그, 저장 주소, 선택값: stdout, 표준 출력, 파일로 저장하지 않음 |
| level | 문자열 | 'info' | 실행 로그 최소 수준 | |
| gin_log_file | 문자열 | '/logdata/log' | gin 로그, 저장 주소, 선택값: stdout, 표준 출력, 파일로 저장하지 않음 | |
| database | db_dialect | 문자열 | 'mysql' | 데이터베이스 유형, 기본값 mysql |
| addr | 문자열 | 'testsql.com:3306' | 데이터베이스 연결 주소 | |
| username | 문자열 | ' test_user' | 사용자 이름 | |
| password | 문자열 | 'test_password' | 비밀번호 | |
| network | 문자열 | 'tcp' | 연결 프로토콜 | |
| db_name | 문자열 | 'test_db_name' | 데이터베이스 이름 | |
| nsq | lookupd | 문자열 | 'testnsq.com:4161' | nsq lookupd 주소 |
| discard_expire_interval | 숫자 | 5 | 시계열 데이터 최대 중복 시간, 단위: 분, 기본 시계열 지표 데이터가 5분 이상 지연되면 기록되지 않음 | |
| redis | host | 문자열 | 'testredis.com:6379' | 데이터 처리를 위한 Redis 주소, 클러스터 버전 지원. 참고: 모든 kodo 관련 구성 요소의 Redis 구성은 일치해야 함 |
| password | 문자열 | 'test_password' | 비밀번호 | |
| db | 숫자 | 0 | redis db 값 | |
| is_cluster | 부울 | false | Redis가 클러스터이고 proxy 연결을 지원하지 않는 경우 true로 설정해야 함 | |
| asynq_redis | host | 문자열 | '' | 비동기 작업을 위한 Redis 주소, 기본값은 redis 구성을 사용, 클러스터 버전 미지원, redis 구성이 클러스터 버전인 경우 클러스터가 아닌 asynq_redis를 구성해야 함 |
| password | 문자열 | 'test_password' | 비밀번호 | |
| db | 숫자 | 0 | redis db 값 |
kodo-inner 구성 요소¶
구성 파일 위치¶
- Namespace: forethought-kodo
- Launcher의 구성 이름: KodoInner
- Kubernetes의 Configmap 이름: kodo-inner
구성 파일 예시¶
...
redis:
host: "r-xxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
asynq_redis:
host: "r-xxxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
dql:
metric_query_workers: 8 # 시계열 데이터 worker 수, 기본값 8
log_query_workers: 8 # 로그 데이터 worker 수, 기본값 8
...
...
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| log | log_file | 문자열 | '/logdata/log' | 실행 로그, 저장 주소, 선택값: stdout, 표준 출력, 파일로 저장하지 않음 |
| level | 문자열 | 'info' | 실행 로그 최소 수준 | |
| gin_log_file | 문자열 | '/logdata/log' | gin 로그, 저장 주소, 선택값: stdout, 표준 출력, 파일로 저장하지 않음 | |
| database | db_dialect | 문자열 | 'mysql' | 데이터베이스 유형, 기본값 mysql |
| addr | 문자열 | 'testsql.com:3306' | 데이터베이스 연결 주소 | |
| username | 문자열 | ' test_user' | 사용자 이름 | |
| password | 문자열 | 'test_password' | 비밀번호 | |
| network | 문자열 | 'tcp' | 연결 프로토콜 | |
| db_name | 문자열 | 'test_db_name' | 데이터베이스 이름 | |
| nsq | lookupd | 문자열 | 'testnsq.com:4161' | nsq lookupd 주소 |
| discard_expire_interval | 숫자 | 5 | 시계열 데이터 최대 중복 시간, 단위: 분, 기본 시계열 지표 데이터가 5분 이상 지연되면 기록되지 않음 | |
| redis | host | 문자열 | 'testredis.com:6379' | 데이터 처리를 위한 Redis 주소, 클러스터 버전 지원. 참고: 모든 kodo 관련 구성 요소의 Redis 구성은 일치해야 함 |
| password | 문자열 | 'test_password' | 비밀번호 | |
| db | 숫자 | 0 | redis db 값 | |
| is_cluster | 부울 | false | Redis가 클러스터이고 proxy 연결을 지원하지 않는 경우 true로 설정해야 함 | |
| asynq_redis | host | 문자열 | '' | 비동기 작업을 위한 Redis 주소, 기본값은 redis 구성을 사용, 클러스터 버전 미지원, redis 구성이 클러스터 버전인 경우 클러스터가 아닌 asynq_redis를 구성해야 함 |
| password | 문자열 | 'test_password' | 비밀번호 | |
| db | 숫자 | 0 | redis db 값 | |
| dql | metric_query_workers | 숫자 | 32 | DQL 메트릭 데이터 조회 worker 수 |
| query_metric_channel_size | 숫자 | 32 | 각 metric_query_worker의 요청 큐 크기 | |
| log_query_workers | 숫자 | 32 | DQL 로그 텍스트 유형(로그, 트레이스, RUM 등 모든 텍스트 유형 데이터) 데이터 조회 worker 수 | |
| query_log_channel_size | 숫자 | 32 | 각 log_query_worker의 요청 큐 크기 | |
| general_query_workers | 숫자 | 32 | metric 또는 log가 아닌 조회 worker 수 | |
| query_general_channel_size | 숫자 | 32 | 각 general_query_worker의 요청 큐 크기 | |
| profiling_parse | 부울 | true | DQL 조회 시 메트릭 활성화 여부, 각 단계의 소요 시간 통계 조회 | |
| influxdb | read_timeout | 숫자 | 60 | 시계열 메트릭 데이터 조회 시 타임아웃 시간, 단위: s, 기본 타임아웃 60s |
| dial_timeout | 숫자 | 30 | 시계열 메트릭 데이터 조회 시 연결 설정 타임아웃 시간, 단위: ms, 기본 연결 타임아웃 30ms | |
| doris | read_timeout | 숫자 | 60 | 로그 유형 데이터 조회 시 타임아웃 시간, 단위: s, 기본 타임아웃 60s |
| dial_timeout | 숫자 | 30 | 로그 유형 데이터 조회 시 연결 설정 타임아웃 시간, 단위: ms, 기본 연결 타임아웃 30ms | |
| global | datakit_usage_check_enabled | 부울 | false | 로그 조회 시 datakit 수가 license 제한을 초과하는지 확인할지 여부, 기본값은 확인하지 않음 |
| servicemap | cross_workspace_on | 부울 | true | 서비스 맵 워크스페이스 간 조회 기능 활성화 여부. 활성화하면 Kodo가 ServiceMap 조회 시 워크스페이스 간 서비스 호출 관계를 지원함; 이 스위치는 Studio 백엔드 enableApmServiceTopology와 독립적이며 시나리오에 따라 함께 사용 가능 |
kodo-x 구성 요소¶
구성 파일 위치¶
- Namespace: forethought-kodo
- Launcher의 구성 이름: KodoX
- Kubernetes의 Configmap 이름: kodo-x
구성 파일 예시¶
...
global:
workers: 8
log_workers: 8
tracing_workers: 8
...
redis:
host: "r-xxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
asynq_redis:
host: "r-xxxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
doris:
dial_timeout: 10
gzip_enable: false
dql:
metric_query_workers: 8 # 시계열 데이터 worker 수, 기본값 8
log_query_workers: 8 # 로그 데이터 worker 수, 기본값 8
...
pipeline:
enable: false
pull_duration: "1m"
...
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| log | log_file | 문자열 | '/logdata/log' | 실행 로그, 저장 주소, 선택값: stdout, 표준 출력, 파일로 저장하지 않음 |
| level | 문자열 | 'info' | 실행 로그 최소 수준 | |
| gin_log_file | 문자열 | '/logdata/log' | gin 로그, 저장 주소, 선택값: stdout, 표준 출력, 파일로 저장하지 않음 | |
| database | db_dialect | 문자열 | 'mysql' | 데이터베이스 유형, 기본값 mysql |
| addr | 문자열 | 'testsql.com:3306' | 데이터베이스 연결 주소 | |
| username | 문자열 | ' test_user' | 사용자 이름 | |
| password | 문자열 | 'test_password' | 비밀번호 | |
| network | 문자열 | 'tcp' | 연결 프로토콜 | |
| db_name | 문자열 | 'test_db_name' | 데이터베이스 이름 | |
| nsq | lookupd | 문자열 | 'testnsq.com:4161' | nsq lookupd 주소 |
| discard_expire_interval | 숫자 | 5 | 시계열 데이터 최대 중복 시간, 단위: 분, 기본 시계열 지표 데이터가 5분 이상 지연되면 기록되지 않음 | |
| redis | host | 문자열 | 'testredis.com:6379' | 데이터 처리를 위한 Redis 주소, 클러스터 버전 지원. 참고: 모든 kodo 관련 구성 요소의 Redis 구성은 일치해야 함 |
| password | 문자열 | 'test_password' | 비밀번호 | |
| db | 숫자 | 0 | redis db 값 | |
| is_cluster | 부울 | false | Redis가 클러스터이고 proxy 연결을 지원하지 않는 경우 true로 설정해야 함 | |
| asynq_redis | host | 문자열 | '' | 비동기 작업을 위한 Redis 주소, 기본값은 redis 구성을 사용, 클러스터 버전 미지원, redis 구성이 클러스터 버전인 경우 클러스터가 아닌 asynq_redis를 구성해야 함 |
| password | 문자열 | 'test_password' | 비밀번호 | |
| db | 숫자 | 0 | redis db 값 | |
| global | workers | 숫자 | 8 | 다양한 데이터의 기본 처리 worker 수 |
| metric_workers | 숫자 | 8 | 시계열 메트릭 데이터 처리 worker 수 | |
| log_workers | 숫자 | 8 | 로그 데이터 처리 worker 수 | |
| tracing_workers | 숫자 | 8 | 트레이스 데이터 처리 worker 수, 기본값은 log_workers 구성 값 사용 | |
| sub_topic_max_expire_seconds | 객체 구조 | 선택값: df_audit_event (감사 이벤트), df_dialtesting (신서틱 모니터링), df_event (이벤트), df_logging (로그), df_network (네트워크), df_object (인프라스트럭처), df_profiling (프로파일링), df_rum (RUM), df_security (보안 점검), df_tracing (APM) 예: df_logging: 3600, 1시간 전 로그는 즉시 폐기하고 더 이상 소비하지 않음 | ||
| influxdb | read_timeout | 숫자 | 60 | 시계열 메트릭 데이터 조회 시 타임아웃 시간, 단위: s, 기본 타임아웃 60s |
| write_timeout | 숫자 | 300 | 시계열 메트릭 데이터 쓰기 타임아웃 시간, 단위: s, 기본 쓰기 타임아웃 5분 | |
| enable_gz | 부울 | false | 데이터 쓰기 시 gzip 압축 활성화 여부 | |
| dial_timeout | 숫자 | 30 | 시계열 메트릭 데이터 조회 시 연결 설정 타임아웃 시간, 단위: ms, 기본 연결 타임아웃 30ms | |
| doris | read_timeout | 숫자 | 60 | 로그 유형 데이터 조회 시 타임아웃 시간, 단위: s, 기본 타임아웃 60s |
| write_timeout | 숫자 | 300 | 로그 유형 데이터 쓰기 타임아웃 시간, 단위: s, 기본 쓰기 타임아웃 5분 | |
| gzip_enable | 부울 | false | 데이터 쓰기 시 gzip 압축 활성화 여부 | |
| dial_timeout | 숫자 | 30 | 로그 유형 데이터 조회 시 연결 설정 타임아웃 시간, 단위: ms, 기본 연결 타임아웃 30ms | |
| backup_kafka | async | 부울 | false | Kafka로 데이터 전송, 쓰기 방식, 기본값은 동기 쓰기 |
| write_timeout | 숫자 | 30 | Kafka 쓰기 타임아웃 시간, 단위: s, 기본 쓰기 타임아웃 30s | |
| max_bulk_docs | 숫자 | 0 | 여러 로그를 하나의 Kafka 메시지에写入하여 Kafka로 보낼지 여부, 기본값은 하나의 로그가 하나의 Kafka 메시지를 구성 | |
| pipeline | enable | 부울 | false | true로 설정하면 중앙 Pipeline 기능 활성화 |
| pull_duration | 문자열 | 1m | 중앙 Pipeline 스크립트 동기화 간격, 기본값 1m은 1분마다 동기화, s, m, h 등 시간 간격 표기법 지원, 예: 1m30s는 1분 30초마다 중앙 Pipeline 스크립트 동기화 |
kodo-servicemap 구성 요소¶
구성 파일 위치¶
- Namespace: forethought-kodo
- Launcher의 구성 이름: kodoServiceMap
- Kubernetes의 Configmap 이름: kodo-servicemap
구성 파일 예시¶
...
redis:
host: "r-xxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
asynq_redis:
host: "r-xxxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
...
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| redis | host | 문자열 | '' | 데이터 처리를 위한 Redis 주소, 클러스터 버전 지원. 참고: 모든 kodo 관련 구성 요소의 Redis 구성은 일치해야 함 |
| asynq_redis | host | 문자열 | '' | 비동기 작업을 위한 Redis 주소, 기본값은 redis 구성을 사용, 클러스터 버전 미지원, redis 구성이 클러스터 버전인 경우 클러스터가 아닌 asynq_redis를 구성해야 함 |
kodo-x-scan 구성 요소¶
구성 파일 위치¶
- Namespace: forethought-kodo
- Launcher의 구성 이름: kodoXScan
- Kubernetes의 Configmap 이름: kodo-x-scan
구성 파일 예시¶
...
redis:
host: "r-xxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
asynq_redis:
host: "r-xxxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
...
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| redis | host | 문자열 | '' | 데이터 처리를 위한 Redis 주소, 클러스터 버전 지원. 참고: 모든 kodo 관련 구성 요소의 Redis 구성은 일치해야 함 |
| asynq_redis | host | 문자열 | '' | 비동기 작업을 위한 Redis 주소, 기본값은 redis 구성을 사용, 클러스터 버전 미지원, redis 구성이 클러스터 버전인 경우 클러스터가 아닌 asynq_redis를 구성해야 함 |
kodo-ws 구성 요소¶
구성 파일 위치¶
- Namespace: forethought-kodo
- Launcher의 구성 이름: kodoWS
- Kubernetes의 Configmap 이름: kodo-ws
구성 파일 예시¶
...
redis:
host: "r-xxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
asynq_redis:
host: "r-xxxx.redis.rds.xxx.com:6379"
password: "..."
db: 0
...
구성 항목 상세 설명¶
| 구성 항목 | 하위 항목 | 유형 | 기본값 | 설명 |
|---|---|---|---|---|
| redis | host | 문자열 | '' | 데이터 처리를 위한 Redis 주소, 클러스터 버전 지원. 참고: 모든 kodo 관련 구성 요소의 Redis 구성은 일치해야 함 |
| asynq_redis | host | 문자열 | '' | 비동기 작업을 위한 Redis 주소, 기본값은 redis 구성을 사용, 클러스터 버전 미지원, redis 구성이 클러스터 버전인 경우 클러스터가 아닌 asynq_redis를 구성해야 함 |

