Skip to content

Application Service Configuration Guide

Overview

This document aims to modify relevant configurations through the "Modify Application Configuration" feature of launcher to better adapt to your own environment, achieve optimization of related configurations, and meet the purpose of personalized configuration.

Launcher Operation Steps

  1. Access the launcher console via browser.

  2. Select the top right corner to enter the Modify Application Configuration interface.

  1. To modify the corresponding configuration file, you need to check the Modify Configuration option to make it modifiable.

  2. After completing the configuration modifications, you need to check the Automatically restart related services after modifying configuration option at the bottom right corner of the page, and then click Confirm Modification.

Partial Common Configuration Descriptions for Services

Studio Backend Service

Configuration File Location

  • Namespace: forethought-core
  • Configuration Name in Launcher: Core
  • Configmap Name in kubernetes: core

Configuration File Example

# Guance console address access protocol
protocol: "http"
# Guance console address
hostname: "console.cloudcare.cn"

# Management backend site access address
managementHostname: "management.cloudcare.cn"

# Current site name
envName: Guance Deployment Plan

# Whether the system debug mode is enabled, generally not enabled
debug: false
# System default language
defaultLanguage: "zh"

# Frontend access address prefix, the first two curly braces will be occupied by protocol and hostname. If you need to configure a unified secondary address, you can directly adjust this configuration.
frontServerUrlPrefixFormat: "{}://{}"

# ExternalAPI service configuration.
external:
  # Validity period for each request signature, unit seconds
  timeliness: 60
  # Legacy single account ak/sk configuration; retained for compatibility with historical environments, equivalent to a set of read-write accounts with privilege=w
  accessKey: ""
  secretKey: ""
  # Email name used as the account in interface operations
  email: ""
  # ExternalAPI multi-account configuration, supporting separation of read-write accounts and read-only accounts; when empty, only the legacy single account configuration above is used.
  # Field description:
  #   name: Account identifier, used only for logging, observation, and troubleshooting; do not use ambiguous names like default.
  #   accessKey: The AK used in the request header X-Df-Access-Key.
  #   secretKey: The signature SK corresponding to the current AK, not written to logs.
  #   privilege: Account permission, w indicates read-write account, can access privilege=r/w interfaces; r indicates read-only account, can only access privilege=r interfaces.
  #   email: The email displayed in the request context for this ExternalAPI account; falls back to external.email if empty.
  #   enabled: Whether this account is enabled, false means this account cannot be used for authentication.
  accounts: []
  # accounts:
  #   - name: "primary-write"
  #     accessKey: ""
  #     secretKey: ""
  #     privilege: "w"
  #     email: ""
  #     enabled: true
  #   - name: "security-readonly"
  #     accessKey: ""
  #     secretKey: ""
  #     privilege: "r"
  #     email: ""
  #     enabled: true

# Alert policy member type optional notification methods
alertPolicyFixedNotifyTypes:
  email:
    enable: true

# Token default expiration time settings
token_exp_set:
  # Web client default setting 4 hours
  front_web: 14400
  # Management backend token default expiration duration
  manage: 7200


# API documentation switch, default off, true means on. API documentation path defaults to /v1/doc; inner api default address is /v1/inner.doc
apiDocPageSwitch:
  # Management backend
  admin: false
  # Frontend
  front: false
  # Inner service
  inner: false
  # Openapi service
  openapi: false
  center: false
  # External service
  external: false


# Time range offset for links in query_view, unit seconds
BusinessQueryViewTimeOffset: 900

# Same organization cross-workspace Trace query configuration, default off
SameOrgTraceQuerySet:
  # Whether to allow querying Trace data from non-current workspaces under the same organization
  enable: false
  # Maximum number of workspace UUIDs allowed to be passed in a single query or workspace list filtering
  maxWorkspaceCount: 20
  # Maximum allowed value when limit is explicitly passed in a single Trace query
  maxLimit: 1000
  # Maximum time window allowed for a single Trace query, unit hours
  maxTimeRangeHours: 24
  # Maximum pagination size allowed for the simplified list interface of workspaces in the same organization
  workspaceListPageSizeMax: 100



# Guance database configuration
database:
  connection:
  pool_size: 20
  max_overflow: 100
  echo: false
  pool_timeout: 30
  # This setting causes the pool to recycle connections after the given number of seconds has passed. It defaults to -1, or no timeout. For example, setting it to 3600 means connections will be recycled after one hour. Note that MySQL will automatically disconnect connections if no activity is detected on them for eight hours (although this can be configured via the MySQLDB connection itself and server configuration).
  pool_recycle: 3600
  # Boolean, if True, enables the connection pool "pre-ping" feature, which tests the liveliness of connections on each checkout.
  pool_pre_ping: true
  # Use LIFO (Last In First Out) QueuePool instead of FIFO (First In First Out) when retrieving connections. Using LIFO, server-side timeout schemes can reduce the number of connections used during off-peak usage. When planning server-side timeouts, ensure to use recycling (pool_recycle) or pre-ping (pool_pre_ping) strategies to properly handle stale connections.
  pool_use_lifo: true


# Logger Configuration
logger:
  filename: /logdata/business.log
  level: info
  # Maximum size of each log file
  max_bytes: 52428800
  # Total number of log file rollovers
  backup_count: 3
  # Controls log output mode, default outputs to both file and stdout
  output_mode_switch:
    file: true
    stdout: true

# GunLogger-access, same as above
g_access_logger:
  filename: /logdata/g_access.log
  mode: a
  level: info
  max_bytes: 52428800
  backup_count: 3
  # Controls log output mode, default outputs to both file and stdout
  output_mode_switch:
    file: true
    stdou


# Default oversized log split unit when creating a new workspace, unit byte
workspaceLoggingCutSizeSet:
  es: 10240
  sls: 2048
  beaver: 2048
  doris: 10240

# Default data retention policy when creating a new workspace
workspaceVersionSet:
  unlimited:
    # Default policy configuration for creating new workspaces in Deployment Plan
    durationSet:
      rp: 30d
      logging: 14d
      keyevent: 14d
      tracing: 7d
      profiling: 7d
      rum: 7d
      # Only Deployment Plan will have separate configuration for session_replay
      session_replay: 7d
      network: 2d
      security: 90d
      backup_log: 180d

# Workspace default status settings
WorkspaceDefaultStatsConfig:
  isOpenLogMultipleIndex:  true     # Default when creating workspace, custom log index not enabled
  logMultipleIndexCount:  6         # Default when creating workspace, number of custom log indices
  loggingCutSize: 10240             # Default when creating workspace, oversized log counting unit 10KB
  maxSearchResultCount: 0           # Default when creating workspace, query count upper limit 0

# es/doris index configuration default information
WorkspaceDefaultesIndexSettings:
  number_of_shards: 1               # Default when creating workspace, number of primary shards es
  number_of_replicas: 1             # Default when creating workspace, whether to enable replicas es | doris
  rollover_max_size: 30             # Default when creating workspace, shard size    es
  hot_retention: 24                 # Default when creating workspace, hot data duration   es | doris


# openapi rate limiting settings
openapiCurrentLimitingSet:
  # Rate limiting switch, default off, can be set to true if needed
  isOpen: false
  crontabSet:
    # Rate limiting frequency executed per minute
    hour: "*"
    minute: "*/1"
  frequency:
    # ak-level call rate limit 100 times per minute
    ak: 100
    # workspace-level call rate limit 300 times per minute
    workspace: 300

# Studio backend CORS whitelist configuration
CorsAllowOriginSet:
  # Whether to enable CORS Origin whitelist, default off for compatibility; when enabled, Access-Control-Allow-Origin is only returned for browser Origins in the whitelist.
  enabled: false
  # Exact match frontend domain list, data format is string array, must include protocol, domain, and optional port.
  # Example: ["https://console.example.com", "https://uat-console.example.com:8443"]
  allowedOrigins: []
  # Controlled wildcard rule list, data format is string array, performs wildcard matching on Origin strings.
  # Example: ["https://*.example.com"]; configure only when necessary to open multiple subdomains, not recommended to use "*".
  allowedOriginPatterns: []
  # Whether to allow browsers to carry credentials for cross-origin access
  allowCredentials: true
  # Allowed cross-origin request methods
  allowMethods: "GET,POST,HEAD,PATCH,PUT,OPTIONS,DELETE"

# Deployment Plan login restrictions
LoginLimitSet:
  # Number of consecutive login error retries for the same username
  retry_times: 5
  # Time to restrict login after consecutive login failures retry_times times, default 15 minutes
  exp: 900

...

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
protocol String http Guance console address access protocol
hostname String console.cloudcare.cn Guance console address
managementHostname String management.cloudcare.cn Management backend site access address
envName String Guance Current site name
debug Boolean false debug mode switch
frontServerUrlPrefixFormat String {}://{} Frontend access address prefix, the first two curly braces will be occupied by protocol and hostname. If you need to configure a unified secondary address, you can directly adjust this configuration.
enableApmServiceTopology Boolean false Whether to enable the cross-workspace query entry for "APM > Service > Service Map". When enabled in Deployment Plan, the frontend displays the workspace scope selector when permission and version conditions are met; this switch is independent of kodo-inner's servicemap.cross_workspace_on and can be used in combination according to scenarios.
external timeliness Number 60 Validity period for each request signature, unit seconds
accessKey String Legacy single account AK configuration; retained for compatibility with historical environments, equivalent to a set of read-write accounts with privilege=w. For new environments, it is recommended to prioritize using the accounts configuration.
secretKey String Legacy single account SK configuration; used together with accessKey, not written to logs.
email String Default email displayed in ExternalAPI request context; falls back to this configuration when accounts[].email is empty.
accounts List [] ExternalAPI multi-account configuration list, supporting separation of read-write accounts and read-only accounts; when empty, only the legacy accessKey/secretKey configuration is used.
accounts[].name String Account identifier, used only for logging, observation, and troubleshooting; mandatory in the new structure, cannot be default, recommended to use names that express purpose like primary-write, security-readonly.
accounts[].accessKey String The AK used in the request header X-Df-Access-Key for the current account.
accounts[].secretKey String The signature SK corresponding to the current account, used only for server-side signature verification, not written to logs.
accounts[].privilege String w Current account permission. w indicates read-write account, can access privilege=r/w interfaces; r indicates read-only account, can only access privilege=r interfaces.
accounts[].email String The email displayed in the ExternalAPI request context for the current account; falls back to external.email when empty.
accounts[].enabled Boolean true Whether the current account is enabled; set to false means this account cannot be used for authentication.
defaultLanguage String zh System default language, newly created workspaces will use this configuration value by default if no language is specified.
token_exp_set front_web Number 14400 Valid duration for Studio browser client user login, unit: seconds
manage Number 7200 Valid duration for management backend browser client user login, unit: seconds
apiDocPageSwitch admin Boolean false Management backend API interface documentation open switch.
front Boolean false Studio backend API interface documentation open switch.
inner Boolean false Inner service API interface documentation open switch.
openapi Boolean false OpenAPI interface documentation open switch.
external Boolean false External API interface documentation open switch.
BusinessQueryViewTimeOffset Number 900 Time offset range before and after querying RUM Resource corresponding link data, unit: seconds
SameOrgTraceQuerySet enable Boolean false Whether to allow same organization cross-workspace Trace query. When off, the simplified information list interface for workspaces in the same organization is still available, but the Trace query interface can only query the current workspace.
maxWorkspaceCount Number 20 Maximum number of workspace UUIDs allowed to be passed in a single same organization Trace query and workspace list filtering.
maxLimit Number 1000 Maximum allowed value when limit is explicitly passed in a single same organization Trace query.
maxTimeRangeHours Number 24 Maximum time window allowed for a single same organization Trace query, unit hours.
workspaceListPageSizeMax Number 100 Maximum pagination size allowed for the simplified information list interface of workspaces in the same organization.
database connection String Database connection string.
pool_size Number 20 Regular size of connection pool connections per worker.
max_overflow Number 100 Maximum overflow number of connections in the connection pool per worker.
pool_timeout Number 30 Database connection timeout time, unit: seconds.
pool_recycle Number 3600 Controls the recycling time of connection pool links, links will be recycled after the time specified by this value since creation. Unit: seconds. Generally should be used in conjunction with pool_pre_ping and pool_use_lifo, and pool_use_lifo should be true. Note, the link recycling mechanism is triggered only when the database link is used.
pool_pre_ping Boolean true Enables the connection pool "pre-ping" feature, which tests the liveliness of connections on each use.
pool_use_lifo Boolean true Use LIFO (Last In First Out) QueuePool instead of FIFO (First In First Out) when retrieving connections.
logger filename String /logdata/business.log Log file.
level String info Minimum log level.
max_bytes Number 52428800 Maximum size of each log file, unit: bytes.
backup_count Number 3 Total number of log file rollovers.
output_mode_switch.file true Controls log output mode switch, supports output to file.
output_mode_switch.stdout true Controls log output mode switch, supports output to stdout.
g_access_logger gunicon log configuration, related sub-configuration items are the same as logger.
workspaceLoggingCutSizeSet es Number 10240 Default oversized log split unit when creating a new workspace, unit byte, storage type: elasticsearch/OpenSearch.
sls Number 2048 Default oversized log split unit when creating a new workspace, unit byte, storage type: SLS storage in Alibaba Cloud.
beaver Number 2048 Default oversized log split unit when creating a new workspace, unit byte, storage type: LogYi.
doris Number 10240 Default oversized log split unit when creating a new workspace, unit byte, storage type: doris.
WorkspaceDefaultStatsConfig.unlimited.durationSet json Default data retention duration configuration when creating a new workspace.
rp String 30d Default data retention duration for Measurements.
logging String 14d Default data retention duration for logs.
keyevent String 14d Default data retention duration for events.
tracing String 7d Default data retention duration for links.
rum String 7d Default data retention duration for RUM.
network String 2d Default data retention duration for network.
security String 90d Default data retention duration for Security Check.
backup_log String 180d Default data retention duration for backup logs.
WorkspaceDefaultStatsConfig isOpenLogMultipleIndex Boolean true Whether to enable custom log index when creating a workspace.
logMultipleIndexCount Number 6 Number of custom log indices when creating a workspace.
loggingCutSize Number 6 Oversized log counting unit 10KB when creating a workspace.
maxSearchResultCount Number 0 Query count upper limit 0.
WorkspaceDefaultesIndexSettings number_of_shards Number 1 Number of primary shards when creating a workspace, effective when storage type is es.
number_of_shards Number 1 Number of primary shards when creating a workspace, effective when storage type is es.
number_of_replicas Number 1 Whether to enable replicas when creating a workspace, effective when storage type is es/doris.
rollover_max_size Number 30 Shard size when creating a workspace, effective when storage type is es/doris.
hot_retention Number 24 Hot data duration when creating a workspace, effective when storage type is es/doris.
openapiCurrentLimitingSet json openapi rate limiting settings.
isOpen Boolean false openapi rate limiting switch, default off.
openapiCurrentLimitingSet.crontabSet json Scheduled task configuration.
hour String "*" Hour setting in crontab, default is every hour.
minute String "*/1" Minute setting in crontab, default is every minute.
openapiCurrentLimitingSet.frequency json Limit configuration.
ak Number 100 ak-level call rate limit 100 times per minute.
workspace Number 300 workspace-level call rate limit 300 times per minute.
CorsAllowOriginSet json Studio backend CORS Origin whitelist configuration. When not enabled, maintains compatible behavior; when enabled, only returns Access-Control-Allow-Origin for browser Origins in the whitelist. Service-internal calls without Origin are not affected by CORS.
enabled Boolean false Whether to enable CORS Origin whitelist. Set to true when exclusive environments need to restrict cross-origin sources.
allowedOrigins Array [] Exact match frontend domain list, data format is string array, must include protocol, domain, and optional port, e.g., ["https://console.example.com", "https://uat-console.example.com:8443"].
allowedOriginPatterns Array [] Controlled wildcard rule list, data format is string array, performs wildcard matching on Origin strings, e.g., ["https://*.example.com"]; not recommended to configure "*".
allowCredentials Boolean true Whether to return Access-Control-Allow-Credentials: true when hitting the whitelist, allowing browsers to carry credentials like Cookie, authentication headers for cross-origin access.
allowMethods String GET,POST,HEAD,PATCH,PUT,OPTIONS,DELETE List of allowed cross-origin request methods, multiple methods separated by English commas.
LoginLimitSet json Deployment Plan login restrictions.
retry_times Number 5 Number of consecutive login error retries for the same username.
exp Number 900 Time to restrict login after consecutive login failures retry_times times, default 15 minutes, note unit is seconds.

Studio Frontend Site

Configuration File Location

  • Namespace: forethought-webclient
  • Configuration Name in Launcher: frontWeb
  • Configmap Name in kubernetes: front-web-config

Configuration File Example

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],// Or relative time 5m
    }
    ...
}

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
rumDatawayUrl String "https://rum-openway.guance.com" Dedicated DataWay address for reporting RUM data, will be displayed on the RUM access configuration page after configuration.
datakitScriptUrl String "https://static.guance.com/datakit" Default installation script download domain for the DataKit installation page, please modify this configuration if using self-built internal static resources.
datakitHelmUrl String "https://pubrepo.guance.com" DataKit Helm image repository address, please modify this configuration if using a self-built image repository.
passPublicNetwork Number 1 Configures whether client computers accessing the Studio site have public network, 0: no, 1: yes.
isOverseas Number 0 Configures whether this Guance site is deployed overseas, will affect the display of world map and China map components in RUM.
maxTraceSpanLimit Number 10000 Maximum number of Span entries in the flame graph of links, default value: 10000.
maxProfileM Number 5 Maximum MB number for obtaining profile display flame graph, if not configured, default value is: 5.
paasCustomLoginInfo Array None Deployment Plan Guance console login page single sign-on entry configuration, adds custom fields iconUrl, desc, iconUrl is the single sign-on icon address, defaults to default icon if not configured, desc is the single sign-on description text.
paasCustomSiteList Array None Deployment Plan Guance console login page adds multi-site selection configuration, label is the site display text, url is the site address, if multiple sites do not exist, this configuration item can be omitted.
rumEnable Self-observation Boolean None Whether to enable RUM, 1 means enabled, if not enabled, the following configuration values can be empty.
rumDatakitUrl Self-observation String None RUM DataKit address or public network openway address.
rumApplicationId Self-observation String None RUM application ID, used for reporting application data.
rumJsUrl Self-observation String None RUM SDK CDN address.
rumTrackInteractions Self-observation Boolean None (not enabled) Whether to enable user behavior data (Action) data collection.
rumClientToken Self-observation String None RUM Openway method for reporting data (needs to be used with rumOpenwayUrl), the clientToken generated on the Guance platform conflicts with the datakit reporting method, priority is higher than the datakit reporting method.
rumOpenwayUrl Self-observation String None RUM Openway public network address (needs to be used with rumClientToken), used for self-observation data reporting of the Studio frontend site.
isDesensitizeUser Self-observation Boolean None Whether to enable desensitization of self-observation user email and username data, true means enabled, false means disabled.
paasCustomLoginUrl String None Custom login url.
maxMessageByte String None Maximum display byte count for message in log Explorer list, defaults to 10 * 1024 if not filled.
webRumSdkUrl String None Rum web SDK CDN address, defaults to https://static.guance.com/browser-sdk/v3/dataflux-rum.js if not filled.
defaultTimeMap String or Object Structure None Explorer default initialization time configuration, format is {'log': '5m'} or {'log': [1732254771701,1732255671701]} object key is a fixed string, log Explorer is log, Security Check is security.
maxPipelineRulesCharacters Number 10240 Maximum number of characters supported for Pipeline parsing rule input, defaults to 10240 if not configured.
hideTesingOperator Boolean false Whether to hide the Synthetic Tests button.

kodo Component

Configuration File Location

  • Namespace: forethought-kodo
  • Configuration Name in Launcher: Kodo
  • Configmap Name in kubernetes: kodo

Configuration File Example

...

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 # Time series data worker count, default value 8
    log_query_workers: 8 # Log data worker count, default value 8
    ...

...

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
log log_file String '/logdata/log' Runtime log, storage location, optional values include stdout, meaning standard output, not saved to file.
level String 'info' Minimum runtime log level.
gin_log_file String '/logdata/log' gin log, storage location, optional values include stdout, meaning standard output, not saved to file.
database db_dialect String 'mysql' Database type, default is mysql.
addr String 'testsql.com:3306' Database connection address.
username String ' test_user' Username.
password String 'test_password' Password.
network String 'tcp' Connection protocol.
db_name String 'test_db_name' Database name.
nsq lookupd String 'testnsq.com:4161' nsq lookupd address.
discard_expire_interval Number 5 Maximum redundancy time for time series data, unit is minutes, default time series metric data exceeding 5 minutes delay will not be written.
redis host String 'testredis.com:6379' Redis address used for data processing, supports cluster version. Note: Redis configuration for all kodo related components must be consistent.
password String 'test_password' Password.
db Number 0 redis db value.
is_cluster Boolean false When the Redis cluster is a cluster, and the connection does not support proxy connection, needs to be set to true.
asynq_redis host String '' Redis address used for asynchronous tasks, defaults to using the redis configuration, does not support cluster version, if redis configuration is cluster version, must configure a non-cluster version asynq_redis.
password String 'test_password' Password.
db Number 0 redis db value.

kodo-inner Component

Configuration File Location

  • Namespace: forethought-kodo
  • Configuration Name in Launcher: KodoInner
  • Configmap Name in kubernetes: kodo-inner

Configuration File Example

...

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 # Time series data worker count, default value 8
    log_query_workers: 8    # Log data worker count, default value 8
    ...

...

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
log log_file String '/logdata/log' Runtime log, storage location, optional values include stdout, meaning standard output, not saved to file.
level String 'info' Minimum runtime log level.
gin_log_file String '/logdata/log' gin log, storage location, optional values include stdout, meaning standard output, not saved to file.
database db_dialect String 'mysql' Database type, default is mysql.
addr String 'testsql.com:3306' Database connection address.
username String ' test_user' Username.
password String 'test_password' Password.
network String 'tcp' Connection protocol.
db_name String 'test_db_name' Database name.
nsq lookupd String 'testnsq.com:4161' nsq lookupd address.
discard_expire_interval Number 5 Maximum redundancy time for time series data, unit is minutes, default time series metric data exceeding 5 minutes delay will not be written.
redis host String 'testredis.com:6379' Redis address used for data processing, supports cluster version. Note: Redis configuration for all kodo related components must be consistent.
password String 'test_password' Password.
db Number 0 redis db value.
is_cluster Boolean false When the Redis cluster is a cluster, and the connection does not support proxy connection, needs to be set to true.
asynq_redis host String '' Redis address used for asynchronous tasks, defaults to using the redis configuration, does not support cluster version, if redis configuration is cluster version, must configure a non-cluster version asynq_redis.
password String 'test_password' Password.
db Number 0 redis db value.
dql metric_query_workers Number 32 DQL metric data query worker count.
query_metric_channel_size Number 32 Request queue size within each metric_query_worker.
log_query_workers Number 32 DQL text class (logs, links, RUM, and all text class data) data query worker count.
query_log_channel_size Number 32 Request queue size within each log_query_worker.
general_query_workers Number 32 Non-metric or log query worker count.
query_general_channel_size Number 32 Request queue size within each general_query_worker.
profiling_parse Boolean true Whether to enable metrics for DQL queries, statistics on query time consumption at each stage.
influxdb read_timeout Number 60 Query timeout time for time series metric data, unit is s, i.e., default timeout time is 60s.
dial_timeout Number 30 Connection establishment timeout time for querying time series metric data, unit is ms, i.e., default connection creation timeout time is 30ms.
doris read_timeout Number 60 Query timeout time for log class data, unit is s, i.e., default timeout time is 60s.
dial_timeout Number 30 Connection establishment timeout time for querying log class data, unit is ms, i.e., default connection creation timeout time is 30ms.
global datakit_usage_check_enabled Boolean false Whether to check if the number of datakits exceeds the license limit during log queries, default is not checked.
servicemap cross_workspace_on Boolean true Whether to enable cross-workspace query capability for Service Map. When enabled, Kodo supports cross-workspace service call relationships when querying ServiceMap; this switch is independent of Studio backend enableApmServiceTopology and can be used in combination according to scenarios.

kodo-x Component

Configuration File Location

  • Namespace: forethought-kodo
  • Configuration Name in Launcher: KodoX
  • Configmap Name in kubernetes: kodo-x

Configuration File Example

...

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 # Time series data worker count, default value 8
    log_query_workers: 8 # Log data worker count, default value 8
    ...

pipeline:
    enable: false
    pull_duration: "1m"

...

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
log log_file String '/logdata/log' Runtime log, storage location, optional values include stdout, meaning standard output, not saved to file.
level String 'info' Minimum runtime log level.
gin_log_file String '/logdata/log' gin log, storage location, optional values include stdout, meaning standard output, not saved to file.
database db_dialect String 'mysql' Database type, default is mysql.
addr String 'testsql.com:3306' Database connection address.
username String ' test_user' Username.
password String 'test_password' Password.
network String 'tcp' Connection protocol.
db_name String 'test_db_name' Database name.
nsq lookupd String 'testnsq.com:4161' nsq lookupd address.
discard_expire_interval Number 5 Maximum redundancy time for time series data, unit is minutes, default time series metric data exceeding 5 minutes delay will not be written.
redis host String 'testredis.com:6379' Redis address used for data processing, supports cluster version. Note: Redis configuration for all kodo related components must be consistent.
password String 'test_password' Password.
db Number 0 redis db value.
is_cluster Boolean false When the Redis cluster is a cluster, and the connection does not support proxy connection, needs to be set to true.
asynq_redis host String '' Redis address used for asynchronous tasks, defaults to using the redis configuration, does not support cluster version, if redis configuration is cluster version, must configure a non-cluster version asynq_redis.
password String 'test_password' Password.
db Number 0 redis db value.
global workers Number 8 Default processing worker count for various data types.
metric_workers Number 8 Processing worker count for time series metric data.
log_workers Number 8 Processing worker count for log data.
tracing_workers Number 8 Processing worker count for link data, defaults to using the value of the log_workers configuration item.
sub_topic_max_expire_seconds Object Structure Optional values are df_audit_event (audit events), df_dialtesting (Synthetic Tests), df_event (events), df_logging (logs), df_network (network), df_object (infrastructure), df_profiling (profiling), df_rum (RUM), df_security (Security Check), df_tracing (APM). For example: df_logging: 3600, means logs older than 1 hour are directly discarded and no longer consumed.
influxdb read_timeout Number 60 Query timeout time for time series metric data, unit is s, i.e., default timeout time is 60s.
write_timeout Number 300 Write timeout time for time series metric data, unit is s, i.e., default write timeout time is 5 min.
enable_gz Boolean false Whether to enable gzip compression for writing data.
dial_timeout Number 30 Connection establishment timeout time for querying time series metric data, unit is ms, i.e., default connection creation timeout time is 30ms.
doris read_timeout Number 60 Query timeout time for log class data, unit is s, i.e., default timeout time is 60s.
write_timeout Number 300 Write timeout time for log class data, unit is s, i.e., default write timeout time is 5 min.
gzip_enable Boolean false Whether to enable gzip compression for writing data.
dial_timeout Number 30 Connection establishment timeout time for querying log class data, unit is ms, i.e., default connection creation timeout time is 30ms.
backup_kafka async Boolean false Data forwarding to kafka, write method, default is synchronous write.
write_timeout Number 30 Write timeout time to kafka, unit is s, i.e., default write timeout time is 30s.
max_bulk_docs Number 0 Whether to write multiple logs into one kafka message and send to kafka, default is one log forms one kafka message.
pipeline enable Boolean false Configure as true to enable central Pipeline functionality.
pull_duration String 1m Synchronization time interval for central Pipeline scripts, default value 1m means synchronizing every 1 minute, supports time interval notation like s, m, h, e.g., 1m30s means synchronizing central Pipeline scripts every 1 minute 30 seconds.

kodo-servicemap Component

Configuration File Location

  • Namespace: forethought-kodo
  • Configuration Name in Launcher: kodoServiceMap
  • Configmap Name in kubernetes: kodo-servicemap

Configuration File Example

...

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

...

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
redis host String '' Redis address used for data processing, supports cluster version. Note: Redis configuration for all kodo related components must be consistent.
asynq_redis host String '' Redis address used for asynchronous tasks, defaults to using the redis configuration, does not support cluster version, if redis configuration is cluster version, must configure a non-cluster version asynq_redis.

kodo-x-scan Component

Configuration File Location

  • Namespace: forethought-kodo
  • Configuration Name in Launcher: kodoXScan
  • Configmap Name in kubernetes: kodo-x-scan

Configuration File Example

...

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

...

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
redis host String '' Redis address used for data processing, supports cluster version. Note: Redis configuration for all kodo related components must be consistent.
asynq_redis host String '' Redis address used for asynchronous tasks, defaults to using the redis configuration, does not support cluster version, if redis configuration is cluster version, must configure a non-cluster version asynq_redis.

kodo-ws Component

Configuration File Location

  • Namespace: forethought-kodo
  • Configuration Name in Launcher: kodoWS
  • Configmap Name in kubernetes: kodo-ws

Configuration File Example

...

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

...

Configuration Item Detailed Description

Configuration Item Sub-item Type Default Value Description
redis host String '' Redis address used for data processing, supports cluster version. Note: Redis configuration for all kodo related components must be consistent.
asynq_redis host String '' Redis address used for asynchronous tasks, defaults to using the redis configuration, does not support cluster version, if redis configuration is cluster version, must configure a non-cluster version asynq_redis.

Feedback

Is this page helpful? ×