From 6666e97bff77f896984ef9091bea8cc89ab3784c Mon Sep 17 00:00:00 2001 From: Debashis Borgohain Date: Mon, 15 Sep 2025 16:31:37 +0530 Subject: [PATCH 1/4] update docs under management - Query Management - Streaming Search - Aggregation Cache --- .../enable-disable-streaming-search.png | Bin 167135 -> 153658 bytes .../user-guide/management/query-management.md | 169 +++++++++--------- 2 files changed, 88 insertions(+), 81 deletions(-) diff --git a/docs/images/enable-disable-streaming-search.png b/docs/images/enable-disable-streaming-search.png index 454b4d0497adcc4399f25e31f9589af7b449acb2..f88cf72911941125e28208431f92b579ceee4c37 100644 GIT binary patch literal 153658 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
    |F{x*{r{w*HrY3l1II6LG5UM=1%!RS0SHB4 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 z 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 P{$q>vj*YqNe-Hl;NoGVf literal 167135 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 lpA_-G`f&drq=+9e@C6gQ- Monitor and cancel live queries across dashboards, alerts, and logs; inspect execution time, range, user, and more in HA deployments. --- -The **Query Management** page provides **real-time visibility and control** over all currently running queries across dashboards, alerts, logs, and reports within an OpenObserve instance. Using the **Query Management page**, you can decide whether to cancel a query or leave it running. +This page explains what Query Management is and shows how to use it. -## Availability +> This feature is available only in [high-availability (HA)](../../openobserve-enterprise-edition-installation-guide.md) deployments. -The Query Management feature is available only in high-availability (HA) deployments. +=== "Overview" + ## What is Query Management? + The Query Management feature provides real-time visibility and control over all currently running queries across dashboards, alerts, logs, and reports within an OpenObserve instance. Using the Query Management page, you can decide whether to cancel a query or leave it running. -## Access + !!! note "Who can use it" + By default, `root` users and any other user who has access to the `_meta` org can access the Query Management page. -By default, `root` users and any predefined user roles (`Admin`,`Editor`,`Viewer`, or `User`) with access to the `_meta` organization can access the **Query Management** page. RBAC cannot grant access to other custom roles. + !!! note "Where to find it" + To access the Query Management page: -**To access the Query Management page:** + 1. Select `_meta` organization from the top right corner. + 2. Go to **Management**. + 3. In the side panel, select **Query Management**. + You will be taken to the **Running Queries** section. + ![Running Queries](../../images/query-management-running-queries.png) -1. Select `_meta` organization from the top right corner. -2. Go to **Management**. -3. In the side panel, select **Query Management**. - You will be taken to the **Running Queries** section. -![Running Queries](../../images/query-management-running-queries.png) + ## Viewing Modes -## Viewing Modes + You can toggle between: -You can toggle between: + - **User Summary**: Groups all queries by user and displays their combined activity. + - **All Queries**: Displays each query individually with full details and filtering options. -- **User Summary**: Groups all queries by user and displays their combined activity. -- **All Queries**: Displays each query individually with full details and filtering options. + Use **User Summary** for high-level monitoring. Switch to **All Queries** when you need to investigate specific query behavior. -Use **User Summary** for high-level monitoring. Switch to **All Queries** when you need to investigate specific query behavior. + ## Page Layout and Field Descriptions -## Page Layout and Field Descriptions + The **Running Queries** table displays the following fields: -The **Running Queries** table displays the following fields: + - **Email**: The email ID of the user who initiated the queries. + - **Search Type**: The origin of the query (for example, dashboards, alerts, or others). + - **Number of Queries**: Total active queries for that user. + - **Total Exec. Duration**: Combined time spent executing all active queries. + - **Total Query Range**: Total log duration the queries are scanning. + - **Actions**: Cancel queries initiated by a user. + ![Running Queries](../../images/query-management-running-queries.png) -- **Email**: The email ID of the user who initiated the queries. -- **Search Type**: The origin of the query (for example, dashboards, alerts, or others). -- **Number of Queries**: Total active queries for that user. -- **Total Exec. Duration**: Combined time spent executing all active queries. -- **Total Query Range**: Total log duration the queries are scanning. -- **Actions**: Cancel queries initiated by a user. -![Running Queries](../../images/query-management-running-queries.png) + The **All Queries** table displays the following fields: -The **All Queries** table displays the following fields: + - **Email:** The email of the user who triggered the query. + - **Organization ID:** The organization context. + - **Search Type:** The source of the query, such as dashboards, UI, or alerts. + - **Execution Duration:** The total time the query has been running. + - **Query Range:** The time range being queried. + - **Query Type:** Whether the system classifies the query as Short or Long. + - **Status:** The current status of the query, whether it is still processing or waiting. + - **Stream Type:** The type of data stream being queried, such as logs. + - **Actions:** Two actions available: -- **Email:** The email of the user who triggered the query. -- **Organization ID:** The organization context. -- **Search Type:** The source of the query, such as dashboards, UI, or alerts. -- **Execution Duration:** The total time the query has been running. -- **Query Range:** The time range being queried. -- **Query Type:** Whether the system classifies the query as Short or Long. -- **Status:** The current status of the query, whether it is still processing or waiting. -- **Stream Type:** The type of data stream being queried, such as logs. -- **Actions:** Two actions available: + - **View Details** to inspect the query details. + - **Cancel** to stop the query immediately. - - **View Details** to inspect the query details. - - **Cancel** to stop the query immediately. + ![All Running Queries](../../images/query-management-all-queries.png) -![All Running Queries](../../images/query-management-all-queries.png) + ## Filters and Searches -## Filters and Searches + - **Search Bar**: Enter an email or keyword to filter queries. + - **All Fields Dropdown**: The **All Fields dropdown** lets you filter queries based on either **Execution Duration** or **Query Range**. Range. + - **Source Filter**: Filter queries by source. Select one of the following: -- **Search Bar**: Enter an email or keyword to filter queries. -- **All Fields Dropdown**: The **All Fields dropdown** lets you filter queries based on either **Execution Duration** or **Query Range**. Range. -- **Source Filter**: Filter queries by source. Select one of the following: + - **Dashboards**: Queries coming from Dashboards. + - **UI**: Queries run manually by users from the Logs interface. + - **Others**: Queries triggered by Alerts or Reports. +
    + ![Filter and Search in Running Queries](../../images/query-management-filter-search.png) - - **Dashboards**: Queries coming from Dashboards. - - **UI**: Queries run manually by users from the Logs interface. - - **Others**: Queries triggered by Alerts or Reports. -
    -![Filter and Search in Running Queries](../../images/query-management-filter-search.png) + - **Refresh Query Button**: Click to reload the page with the latest query data. Refer to the **Last Data Refresh Time** section to confirm whether the query results are up to date before refreshing. -- **Refresh Query Button**: Click to reload the page with the latest query data. Refer to the **Last Data Refresh Time** section to confirm whether the query results are up to date before refreshing. +=== "How to" + ## How to View Query Details -## How to View Query Details + To inspect a running query: -To inspect a running query: + 1. In the **All Queries** view, locate the query you want to examine. + 2. In the **Actions** column, click the icon to **view details**. -1. In the **All Queries** view, locate the query you want to examine. -2. In the **Actions** column, click the icon to **view details**. + ![View Query Details](../../images/query-management-view-details.png) -![View Query Details](../../images/query-management-view-details.png) + You will see a pop-up with full information about the query: -You will see a pop-up with full information about the query: + - Unique Trace ID. + - Current status (e.g., waiting, processing). + - User email and organization ID. + - Stream type (e.g., logs). + - The complete SQL query. + - The start time and end time selected by the user. This defines the **Query Range**. + - The **Execution Duration** and final **Query Range** calculated. + - Additional technical metrics, including the number of records scanned within the selected time range, the original size of the scanned files, and their compressed size in Parquet format. + ![Query Detailed View](../../images/query-management-view-query-details.png) -- Unique Trace ID. -- Current status (e.g., waiting, processing). -- User email and organization ID. -- Stream type (e.g., logs). -- The complete SQL query. -- The start time and end time selected by the user. This defines the **Query Range**. -- The **Execution Duration** and final **Query Range** calculated. -- Additional technical metrics, including the number of records scanned within the selected time range, the original size of the scanned files, and their compressed size in Parquet format. + ## How to Cancel a Query -![Query Detailed View](../../images/query-management-view-query-details.png) + Before you begin: -## How to Cancel a Query + Canceling a query may interrupt active investigations. Confirm the impact before proceeding. -You can cancel a query from either view: + !!! note "When should you cancel a query" + You should cancel a query if any of the following are true: -**To cancel from User Summary**: + - The execution time has exceeded acceptable limits. + - The time range being queried is too wide. + - The system is under strain, and this query appears in a long or waiting state. -1. Locate the user whose queries you want to stop. -2. Either select the checkbox and click **Cancel Query** at the bottom of the page, or click the red **X** icon in the **Actions** column. + !!! note "When should you not cancel a query" + The query is from a critical source. -![Cancel Queries](../../images/query-management-cancel-queries.png) + You can cancel a query from the **User Summary** page as well as the **All Queries** view. +
    + **To cancel from User Summary**: -**To cancel from All Queries**: + 1. Locate the user whose queries you want to stop. + 2. Either select the checkbox and click **Cancel Query** at the bottom of the page, or click the red **X** icon in the **Actions** column. + ![Cancel Queries](../../images/query-management-cancel-queries.png) -1. Find the query you want to cancel. -2. In the **Actions** column, click the red `X` icon. +
    + **To cancel from All Queries**: -After you confirm, the query is terminated immediately. + 1. Find the query you want to cancel. + 2. In the **Actions** column, click the red `X` icon. -## When Should You Cancel a Query + After you confirm, the query is terminated immediately. -You should cancel a query if any of the following are true: -- The execution time has exceeded acceptable limits. -- The time range being queried is too wide. -- The system is under strain, and this query appears in a long or waiting state. -Avoid canceling if: -- The query is from a critical source. -> **Note:** Canceling a query may interrupt active investigations. Confirm the impact before proceeding. From e705f911237518a927369df9672fe5592f093000 Mon Sep 17 00:00:00 2001 From: Debashis Borgohain Date: Wed, 24 Sep 2025 16:51:19 +0530 Subject: [PATCH 2/4] update the env variables page --- docs/environment-variables.md | 716 +++++++++++++++++++++++++++++++++- 1 file changed, 703 insertions(+), 13 deletions(-) diff --git a/docs/environment-variables.md b/docs/environment-variables.md index 5fe0f32f..d42bcac7 100644 --- a/docs/environment-variables.md +++ b/docs/environment-variables.md @@ -3,11 +3,686 @@ description: >- Configure OpenObserve with flexible environment variables for roles, storage, performance, and scaling across open source and enterprise deployments. --- -> Applicable to open source & enterprise version +> Applicable to both Open Source and Enterprise editions. -OpenObserve is configured through the use of below environment variables. +OpenObserve is configured using the following environment variables. -## Common +## Basic Configuration +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_ROOT_USER_EMAIL | - | Email ID of the root user. | +| ZO_ROOT_USER_PASSWORD | - | Password for the root user. | +| ZO_LOCAL_MODE | true | If local mode is set to true, OpenObserve becomes single node deployment.If it is set to false, it indicates cluster mode deployment which supports multiple nodes with different roles. For local mode one needs to configure SQLite DB, for cluster mode one needs to configure PostgreSQL (recommended) or MySQL. | +| ZO_LOCAL_MODE_STORAGE | disk | Applicable only for local mode. By default, local disk is used as storage. OpenObserve supports both disk and S3 in local mode. | +| ZO_NODE_ROLE | all | Node role assignment. Possible values are ingester, querier, router, compactor, alertmanager, and all. A single node can have multiple roles by specifying them as a comma-separated list. For example, compactor, alertmanager. | +| ZO_NODE_HEARTBEAT_TTL | 30 | Time-to-live (TTL) for node heartbeats in seconds. | +| ZO_INSTANCE_NAME | - | In the cluster mode, each node has a instance name. Default is instance hostname. | +| ZO_CLUSTER_COORDINATOR | nats | Defines how nodes in the cluster discover each other. | +| ZO_APP_NAME | openobserve | Application name for the OpenObserve instance. | + +## Network and Communication +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_HTTP_PORT | 5080 | Port number on which the OpenObserve server listens for HTTP requests. | +| ZO_HTTP_ADDR | | IP address on which the OpenObserve server listens for HTTP requests. | +| ZO_HTTP_IPV6_ENABLED | false | Set this to true to enable IPv6 support for HTTP. | +| ZO_HTTP_WORKER_NUM | 0 | Number of threads for HTTP services. Default is equal to the number of CPU cores (cpu_num). | +| ZO_HTTP_WORKER_MAX_BLOCKING | 1024 | Maximum number of blocking connections allowed per HTTP thread. | +| ZO_GRPC_PORT | 5081 | Port number on which the OpenObserve server listens for gRPC requests. | +| ZO_GRPC_ADDR | | IP address on which the OpenObserve server listens for gRPC requests. | +| ZO_GRPC_ORG_HEADER_KEY | openobserve-org-id | Header key for sending organization information in traces using OTLP over gRPC. | +| ZO_GRPC_STREAM_HEADER_KEY | stream-name | Header key for sending stream name information in traces using OTLP over gRPC. | +| ZO_GRPC_MAX_MESSAGE_SIZE | 16 | Maximum gRPC message size in MB. Default is 16 MB. | +| ZO_GRPC_CONNECT_TIMEOUT | 5 | Timeout in seconds for connecting to the gRPC server. | +| ZO_ROUTE_TIMEOUT | 600 | Timeout value for the router node in seconds. | +| ZO_ROUTE_MAX_CONNECTIONS | 1024 | Sets the maximum number of simultaneous connections per type of scheme for the Router node role. | + + +## Data Storage and Directories +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_DATA_DIR | ./data/openobserve/ | Defaults to "data" folder in current working directory if not provided. | +| ZO_DATA_DB_DIR | ./data/openobserve/db/ | Directory for storing the metadata database locally. | +| ZO_DATA_WAL_DIR | ./data/openobserve/wal/ | Directory for storing Write-Ahead Log (WAL) data. | +| ZO_DATA_STREAM_DIR | ./data/openobserve/stream/ | Directory for storing stream data locally. Applicable only in local mode. | +| ZO_DATA_IDX_DIR | | Local WAL Idx directory. | + + +## Ingestion and Schema Management +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_COLS_PER_RECORD_LIMIT | 1000 | Maximum number of fields allowed per record during ingestion. Records with more fields than this limit are discarded. | +| ZO_WIDENING_SCHEMA_EVOLUTION | true | If set to false, user can add new columns to the ingested data, but changes to existing column data types are not supported. | +| ZO_SKIP_SCHEMA_VALIDATION | false | By default, every ingested record is validated against the schema. If the schema is fixed, validation can be skipped to double ingestion performance. | +| ZO_ALLOW_USER_DEFINED_SCHEMAS | false | When set to true, allows users to define user-defined schemas for a stream. | +| ZO_SKIP_FORMAT_STREAM_NAME | false | When set to true, it skips formatting stream name while ingestion. | +| ZO_CONCATENATED_SCHEMA_FIELD_NAME | _all | Field name where all fields, after applying user-defined schema rules and flattening, are stored as a single field. The default value is _all. For example, if the processed data is {a:5, b:"abc"}, an additional field _all is added as {a:5, b:"abc", _all:"{a:5,b:"abc"}"}. This field is used for full-text search, allowing match_all queries to run across all data instead of being limited to a single field. | +| ZO_INGEST_ALLOWED_UPTO | 5 | Discards events older than the specified number of hours. By default, OpenObserve accepts data only if it is not older than 5 hours from the current ingestion time. | +| ZO_INGEST_ALLOWED_IN_FUTURE | 24 | Discards events dated beyond the specified number of future hours. By default, OpenObserve accepts data only if it is not timestamped more than 24 hours into the future. | +| ZO_INGEST_BUFFER_QUEUE_NUM | 5 | Number of queues to buffer ingestion requests. ZO_FEATURE_INGEST_BUFFER_ENABLED must be true | +| ZO_INGEST_FLATTEN_LEVEL | 3 | The level of flatten ingestion json data, if you want flatten everything you can simple set it to 0, or you can set it to N to limit the flatten level. | +| ZO_FEATURE_INGEST_BUFFER_ENABLED | false | Enables ingestion requests to be enqueued for background processing, improving responsiveness of ingestion endpoints. | +| ZO_INGEST_BLOCKED_STREAMS | - | Comma-separated list of streams blocked from ingestion. | +| ZO_FORMAT_STREAM_NAME_TO_LOWERCASE | true | Converts stream names to lowercase. | +| ZO_MEM_TABLE_STREAMS | - | Comma-separated list of streams that use dedicated MemTables. | +| ZO_INGEST_DEFAULT_HEC_STREAM | - | Default stream used for HEC ingestion. | + + +## File Management, WAL, and Memtable +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_MAX_FILE_SIZE_ON_DISK | 64 | Maximum WAL log file size in MB before creating a new log file. Default is 64 MB. WAL files are created per organization and stream type. | +| ZO_MAX_FILE_SIZE_IN_MEMORY | 256 | Maximum memtable size in MB before it becomes immutable and is written to disk. Default is 256 MB. | +| ZO_MAX_FILE_RETENTION_TIME | 600 | Maximum retention time in seconds for a WAL log file or memtable. Default is 600 seconds (10 minutes). When this limit is reached, a new WAL file is created and the memtable is written to disk. | +| ZO_FILE_PUSH_INTERVAL | 60 | Interval in seconds at which WAL files are moved to storage. Default is 60 seconds. | +| ZO_FILE_PUSH_LIMIT | 0 | Maximum number of WAL files that can be pushed to storage in a single cycle. | +| ZO_FILE_MOVE_THREAD_NUM | - | Number of threads used by the ingester to move WAL files to storage. Default equals the number of CPU cores. | +| ZO_MEM_DUMP_THREAD_NUM | - | Number of threads used by the ingester to dump memtables to disk. Default equals the number of CPU cores. | +| ZO_FILE_MERGE_THREAD_NUM | - | Number of threads used by the compactor to merge WAL files to storage. Default equals the number of CPU cores. | +| ZO_FILE_MOVE_FIELDS_LIMIT | 2000 | Field count threshold per WAL file. If exceeded, merging is skipped on the ingester. | +| ZO_MEM_TABLE_MAX_SIZE | 0 | Total size limit of all memtables. Multiple memtables exist for different organizations and stream types. Each memtable cannot exceed ZO_MAX_FILE_SIZE_IN_MEMORY, and the combined size cannot exceed this limit. If exceeded, the system returns a MemoryTableOverflowError to prevent out-of-memory conditions. Default is 50 percent of total memory. | +| ZO_MEM_PERSIST_INTERVAL | 5 | Interval in seconds at which immutable memtables are persisted from memory to disk. Default is 5 seconds. | + + +## Indexing +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_FEATURE_FULLTEXT_EXTRA_FIELDS | - | Automatically enables global full-text indexing on the specified fields if they exist in the ingested log data. By default, OpenObserve applies full-text indexing to the following global fields: log, message, msg, content, data, and JSON. Example: field1,field2 | +| ZO_FEATURE_INDEX_EXTRA_FIELDS | - | Automatically enables global secondary indexing on the specified fields if they exist in the ingested log data. Example: field1,field2 | +| ZO_FEATURE_QUERY_PARTITION_STRATEGY | file_num | Query partition strategy. Possible values are file_num, file_size, file_hash. | +| ZO_ENABLE_INVERTED_INDEX | true | Enables inverted index creation. | + +## Compaction and Data Retention +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_COMPACT_ENABLED | true | enable compact for small files. | +| ZO_COMPACT_INTERVAL | 60 | interval at which job compacts small files into larger files. default is 60s, unit: second | +| ZO_COMPACT_MAX_FILE_SIZE | 256 | max file size for a single compacted file, after compaction all files will be below this value. default is 256MB, unit: MB | +| ZO_COMPACT_DATA_RETENTION_DAYS | 3650 | Data retention days, default is 10 years. Minimal 3. eg: 30, it means will auto delete the data older than 30 days. You also can set data retention for stream in the UI. | +| ZO_COMPACT_SYNC_TO_DB_INTERVAL | 1800 | The interval time in seconds after which compactor sync cache to db is run. | +| ZO_COMPACT_DELETE_FILES_DELAY_HOURS | 2 | The number of hours to delay to delete the pending deleted files by compactor. Value can not be less than 1. | +| ZO_COMPACT_DATA_RETENTION_HISTORY | false | If enabled this will move the file_list into file_list_history and not delete files from storage. | +| ZO_COMPACT_BLOCKED_ORGS | | Use comma to split multiple orgs. Blocked organizations will not be able to ingest data | +| ZO_COMPACT_FAST_MODE | true | Enable fast mode compact, will use more memory but faster, disable it will reduce 50% memory | +| ZO_COMPACT_OLD_DATA_INTERVAL | 3600 | Interval to compact old data in seconds. | +| ZO_COMPACT_STRATEGY | file_time | Compaction strategy. Allowed values are file_size, file_time, time_range. | +| ZO_COMPACT_EXTENDED_DATA_RETENTION_DAYS | 3650 | Extended data retention period in days. | +| ZO_COMPACT_OLD_DATA_STREAMS | - | Comma-separated stream list to treat as old data. | +| ZO_COMPACT_OLD_DATA_MAX_DAYS | 7 | Maximum age of data to qualify as old in days. | +| ZO_COMPACT_OLD_DATA_MIN_HOURS | 2 | Minimum age of data to qualify as old in hours. | +| ZO_COMPACT_OLD_DATA_MIN_RECORDS | 100 | Minimum record count to compact old data. | +| ZO_COMPACT_OLD_DATA_MIN_FILES | 10 | Minimum file count to compact old data. | +| ZO_COMPACT_BATCH_SIZE | 0 | Batch size for fetching pending compaction jobs. | +| ZO_COMPACT_JOB_RUN_TIMEOUT | 600 | Time limit for one compaction job in seconds. Jobs that exceed this time are marked as failed. | +| ZO_COMPACT_JOB_CLEAN_WAIT_TIME | 7200 | Minimum age of finished jobs before cleanup in seconds. | +| ZO_COMPACT_PENDING_JOBS_METRIC_INTERVAL | 300 | Interval to publish pending job metrics in seconds. | +| ZO_COMPACT_MAX_GROUP_FILES | 10000 | Maximum number of files allowed in a compaction group. | + +## UI and Web +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_UI_ENABLED | true | default we enable embed UI, one can disable it. | +| ZO_UI_SQL_BASE64_ENABLED | false | Enable base64 encoding for SQL in UI. | +| ZO_WEB_URL | - | UI access URL, eg: http://localhost:5080, used for redirect url and alert url. | +| ZO_BASE_URI | - | If OpenObserve is hosted under a subpath, set the path prefix. Use this for deployments with a Kubernetes NGINX ingress or any reverse proxy that serves OpenObserve under a subpath such as www.example.com/openobserve. | +| ZO_SWAGGER_ENABLED | true | Generate SWAGGER API documentation by default. | + +## Dashboard +| Environment Variable | Default Value | Description | +| ------------------------------------ | ------------- | ------------------------------------------------- | +| ZO_DASHBOARD_SHOW_SYMBOL_ENABLED | false | Shows the symbol selector in dashboards. | +| ZO_DASHBOARD_PLACEHOLDER | _o2_all_ | Placeholder stream name used in dashboards. | +| ZO_MIN_AUTO_REFRESH_INTERVAL | 5 | Minimum allowed auto refresh interval in seconds. | + +## Payload Limits +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_JSON_LIMIT | 209715200 | The max payload size of JSON. | +| ZO_PAYLOAD_LIMIT | 209715200 | The max payload size of http request body. | + +## Actix Server +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_ACTIX_REQ_TIMEOUT | 30 | Sets actix server client timeout in seconds for first request. | +| ZO_ACTIX_KEEP_ALIVE | 30 | Sets actix server keep-alive preference in seconds. | +| ZO_ACTIX_SHUTDOWN_TIMEOUT | | Sets timeout for graceful worker shutdown of actix workers. | + +## Cookies +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_COOKIE_SAME_SITE_LAX | true | If true, same site "lax" cookie is set by the server while authentication. | +| ZO_COOKIE_SECURE_ONLY | false | If true, secure flag is enabled for the cookie set by the server while authentication. | + +## Telemetry and Monitoring +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_TELEMETRY | true | Sends anonymous telemetry data to help improve OpenObserve. Set to false to disable telemetry. | +| ZO_TELEMETRY_URL | https://e1.zinclabs.dev | OpenTelemetry report URL. You can report to your own server. | +| ZO_HEARTBEAT_INTERVAL | 30 | OpenTelemetry report frequency. Default is 30 minutes | +| ZO_PROMETHEUS_ENABLED | false | Enables prometheus metrics on /metrics endpoint | +| ZO_CALCULATE_STATS_INTERVAL | 600 | In seconds. How often stream stats (total size) is calculated | + +## File Retention +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_LOGS_FILE_RETENTION | hourly | Default time partition level for log streams. Supported values are hourly and daily. | +| ZO_TRACES_FILE_RETENTION | hourly | Default time partition level for trace streams. Supported values are hourly and daily. | +| ZO_METRICS_FILE_RETENTION | daily | Default time partition level for metric streams. Supported values are hourly and daily. | + +## Metrics +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_METRICS_DEDUP_ENABLED | true | Enable de-duplication for metrics | +| ZO_METRICS_LEADER_PUSH_INTERVAL | 15 | Interval at which current leader information is updated to metadata store , default 15s, unit: second | +| ZO_METRICS_LEADER_ELECTION_INTERVAL | 30 | Interval after which new leader for metrics will be elected, when data is not received from current leader, default: 30, unit: second. | +| ZO_SELF_METRIC_CONSUMPTION_ENABLED | false | Self-consumption metrics generated by OpenObserve. | +| ZO_SELF_METRIC_CONSUMPTION_INTERVAL | 60 | Interval in seconds for self-consumption of metrics. | +| ZO_SELF_METRIC_CONSUMPTION_ACCEPTLIST | - | Comma-separated list of metrics to self-consume. | + + +## Distinct Values +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_DISTINCT_VALUES_INTERVAL | 10s | Controls how often distinct values for a stream are written from memory to disk. Distinct values are automatically collected when data is ingested. Instead of writing every value to disk immediately, the system waits for this interval. This prevents the system from frequently writing very small chunks of data to disk. Example: If the interval is 10 seconds, distinct values ingested within that 10-second window are combined and written once. | +| ZO_DISTINCT_VALUES_HOURLY | false | Enables additional deduplication at an hourly level. When enabled, distinct values that repeat within the same hour are merged again, and the system logs a count instead of storing duplicate entries. The collected distinct values are stored in a special stream named distinct_values. Example: Suppose request IDs 123 appear multiple times in one hour. Instead of separate entries, they are merged into one record like: request_id: 123, count: 3 | + +## Alerts and Reports +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_ALERT_SCHEDULE_INTERVAL | 10s | Defines how often the alert manager checks for scheduled jobs such as alerts, reports, or scheduled pipelines. The default value is 10 seconds. This means the alert manager fetches and processes alerts, reports, and pipelines every 10 seconds. | +| ZO_ALERT_SCHEDULE_TIMEOUT | 90 | No | The maximum expected time duration in seconds within which the processing of alert by the alert manager should be complete. If the processing of the alert is not complete within the timeframe, the alert will become available again for other alert managers to pick. | +| ZO_SCHEDULER_WATCH_INTERVAL | 30 | No | The scheduler frequently watches if there are any scheduled jobs which are in processing state for more than the `ZO_ALERT_SCHEDULE_TIMEOUT`/`ZO_REPORT_SCHEDULE_TIMEOUT`, if so it increases their `retries` field by 1 and marks them as available for processing again by alert managers. | +| ZO_ALERT_SCHEDULE_CONCURRENCY | 5 | No | The number of scheduled jobs the the alert manager will pull at a time from the scheduler for processing | +| ZO_CHROME_ENABLED | `false` | No | When `true`, it looks for chromium executable. Required for dashboard reports. | +| ZO_CHROME_PATH | - | No | If chrome is enabled, custom chrome executable path can be specified. If not specified, it looks for chrome executable in default locations. If still not found, it automatically downloads a good known version of chromium. | +| ZO_CHROME_CHECK_DEFAULT_PATH | `true` | No | If `false`, it skips default locations (e.g. CHROME env, usual chrome file path etc.) when looking for chrome executable. | +| ZO_CHROME_NO_SANDBOX | `false` | No | If true, it launches chromium in no-sandbox environment. | +| ZO_CHROME_SLEEP_SECS | 20 | No | Specify the number of timeout seconds the headless chrome will wait until all the dashboard data is loaded. | +| ZO_CHROME_WITH_HEAD | `false` | No | If `true`, it launches the chromium browser in non-headless mode. | +| ZO_CHROME_WINDOW_WIDTH | 1370 | No | Specifies the width of the headless chromium browser. | +| ZO_CHROME_WINDOW_HEIGHT | 730 | No | Specifies the height of the headless chromium browser. | +| ZO_CHROME_AUTO_DOWNLOAD | `false` | No | Only used by the report-server. If `true`, the report-server automatically downloads a good known version of chromium if chromium is not found in the system. **Note:** If auto download of chromium is desired, make sure that the system has all the required dependency libraries of chromium already installed. | +| ZO_SCHEDULER_MAX_RETRIES | 3 | No | The maximum number of times the scheduler will retry processing the alert/report. If exceeded, the scheduler will skip to the next trigger time of the alert/report. | +| ZO_SCHEDULER_CLEAN_INTERVAL | 30 | No | The interval in seconds after which the scheduler will clean up the completed scheduled jobs. | +| ZO_REPORT_USER_NAME | "" | No | The username that will be used by the headless chromium to login into openobserve and generate report. | +| ZO_REPORT_USER_PASSWORD | "" | No | The password that will be used by the headless chromium to login into openobserve and generate report. | +| ZO_ENABLE_EMBEDDED_REPORT_SERVER | `false` | No | If true, the alert manager (for which this ENV is enabled) spawns a new report-server running on PORT `5082` (default, can be changed through `ZO_REPORT_SERVER_HTTP_PORT`). | +| ZO_REPORT_SERVER_HTTP_PORT | `5082` | No | The port used by the newly spawned report-server. | +| ZO_REPORT_SERVER_HTTP_ADDR | `127.0.0.1` | No | The ip address used by the newly spawned report-server. | +| ZO_REPORT_SERVER_URL | `localhost:5082` | No | The report server server URL. E.g. - `https://report-server.example.com/api`. | +| ZO_REPORT_SERVER_SKIP_TLS_VERIFY | `false` | No | If `true`, it will skip tls verification while making request to report-server from alert manager. | + +## Enrichment Tables +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_ENRICHMENT_TABLE_LIMIT | 256 | Controls the maximum size of an enrichment table. If the enrichment table exceeds this limit, you cannot append additional records. OpenObserve returns an error when the size threshold is reached. | +| ZO_ENRICHMENT_TABLE_CACHE_DIR | - | Local cache directory for enrichment tables. | +| ZO_ENRICHMENT_TABLE_MERGE_THRESHOLD_MB | 60 | Size threshold to merge small files before uploading to S3 in megabytes. | +| ZO_ENRICHMENT_TABLE_MERGE_INTERVAL | 600 | Background sync and merge interval in seconds. | + +## File List Dump +| Environment Variable | Default Value | Description | +| ---------------------------------- | ------------- | ------------------------------------------- | +| ZO_FILE_LIST_DUMP_ENABLED | false | Enables file list dump. | +| ZO_FILE_LIST_DUMP_DUAL_WRITE | true | Enables dual write for file list dump. | +| ZO_FILE_LIST_DUMP_MIN_HOUR | 2 | Minimum hour of day to run file list dump. | +| ZO_FILE_LIST_DUMP_DEBUG_CHECK | true | Enables debug checks during file list dump. | + +## Queue +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_QUEUE_STORE | | Set to "nats" to enable internal queuing through NATS for coordinating rate limiting. | + + +## Query Execution and Optimization +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_UTF8_VIEW_ENABLED | true | When set to true , this environment variable activates DataFusion's StringView optimization in OpenObserve, which automatically converts UTF8 string fields to the more efficient UTF8View data type during query processing. | +| ZO_SEARCH_INSPECTOR_ENABLED | false | Controls search inspector feature for detailed search operation tracing. When enabled, tracks search operations with trace_id and generates extensive logs for debugging. | + + +## Logs + Environment Variable | Default Value | Description | +| ---------------------------- | -------------------------------------------- | ------------------------------------------------------------------------- | +| ZO_LOG_JSON_FORMAT | false | Emits logs in JSON format. | +| ZO_LOG_FILE_DIR | - | Directory for log files. | +| ZO_LOG_FILE_NAME_PREFIX | - | Prefix for log file names. | +| ZO_LOG_LOCAL_TIME_FORMAT | - | Local timestamp format for logs. Use a strftime-compatible format string. | +| ZO_EVENTS_ENABLED | false | Enables internal debug events publishing. | +| ZO_EVENTS_AUTH | cm9vdEBleGFtcGxlLmNvbTpUZ0ZzZFpzTUZQdzg2SzRK | Basic authentication value used for events publishing. | +| ZO_EVENTS_BATCH_SIZE | 10 | Number of events per publish batch. | +| ZO_PRINT_KEY_CONFIG | false | Print key config information in logs. | +| ZO_PRINT_KEY_SQL | false | Print key sql in logs. | +| RUST_LOG | info | Log level, also supports: error, warn, info, debug, trace. | +| ZO_FEATURE_QUICK_MODE_FIELDS | - | Comma-separated list of field names to use when quick mode is enabled. Overrides the default quick mode fields. | + +## Caching + +| Environment Variable | Default Value | Mandatory | Description | +| -------------------------------------- | ------------------------- | --------- | ------------------------------------------------------------------------- | +| ZO_DATA_CACHE_DIR | ./data/openobserve/cache/ | No | local query cache storage directory, applicable only for cluster mode. | +| ZO_MEMORY_CACHE_ENABLED | true | No | enable in-memory caching for files, default is true, the latest files are cached for accelerated queries. | +| ZO_CACHE_LATEST_FILES_ENABLED | false | No | Enables or disables latest file caching.| +| ZO_CACHE_LATEST_FILES_PARQUET | true | No | Enables caching of latest parquet files.| +| ZO_CACHE_LATEST_FILES_INDEX | true | No | Enables caching of index files.| +| ZO_CACHE_LATEST_FILES_DELETE_MERGE_FILES | false | No | Controls whether merged files should be deleted from cache.| +| ZO_CACHE_LATEST_FILES_DOWNLOAD_FROM_NODE | false | Downloads latest files from a peer node instead of object storage. | +| ZO_CACHE_LATEST_FILES_DOWNLOAD_NODE_SIZE | 100 | Threshold size in megabytes for node to node download. | +| ZO_MEMORY_CACHE_SKIP_DISK_CHECK | false | Skips free disk space checks during cache operations. | +| ZO_DISK_RESULT_CACHE_MAX_SIZE | 0 | Maximum disk cache size for query results in megabytes. | +| ZO_DISK_AGGREGATION_CACHE_MAX_SIZE | 0 | Maximum disk cache size for aggregation results in megabytes. | +| ZO_DISK_CACHE_MULTI_DIR | - | Comma-separated list of disk cache directories. When set, OpenObserve uses multiple directories for the disk cache. For example, ZO_DISK_CACHE_MULTI_DIR: "ssdpvc1,ssdpvc2" | +| ZO_DISK_CACHE_GC_SIZE | 100 | Amount of data to release during disk cache garbage collection in megabytes. | +| ZO_DISK_CACHE_GC_INTERVAL | 60 | Interval to check whether the disk cache is full and to run garbage collection in seconds. | +| ZO_SCHEMA_CACHE_COMPRESS_ENABLED | - | Removed. No longer supported. | +| ZO_DISK_CACHE_BUCKET_NUM | 0 | No | Disk data cache bucket num, multiple bucket means multiple locker, default is 0 | +| ZO_DISK_CACHE_ENABLED | true | No | Enable in-disk caching for files, default is true, the latest files are cached for accelerated queries. when the memory cache is not enough will try to cache in local disk, you can consider the memory cache is first level, disk cache is second level. | +| ZO_DISK_CACHE_MAX_SIZE | - | No | Default 50% of the total free disk for in-disk cache, one can set it to desired amount unit: MB | +| ZO_DISK_CACHE_SKIP_SIZE | - | No | Default 80% of the total disk cache size, A query will skip disk cache if it need more than this value. one can set it to desired amount unit: MB | +| ZO_DISK_CACHE_RELEASE_SIZE | - | No | Default drop 1% entries from in-disk cache as cache is full, one can set it to desired amount unit: MB | +| ZO_DISK_CACHE_STRATEGY | lru | No | Disk data cache strategy, values are lru, time_lru, fifo | + +## HTTP TLS +| Environment Variable | Default Value | Description | +| --------------------------------- | ------------- | ------------------------------------------------------------------------------------------------- | +| ZO_HTTP_TLS_ENABLED | false | Enables TLS for HTTP. | +| ZO_HTTP_TLS_CERT_PATH | - | Path to the TLS certificate file for HTTP. | +| ZO_HTTP_TLS_KEY_PATH | - | Path to the TLS key file for HTTP. | +| ZO_HTTP_TLS_MIN_VERSION | - | Minimum TLS version for HTTP. Supported values are 1.2 or 1.3. Empty uses all supported versions. | +| ZO_HTTP_TLS_ROOT_CERTIFICATES | webpki | Root certificate store to use. Supported values are webpki and native. | + +## gRPC TLS and Authentication +| Environment Variable | Default Value | Description | +| ---------------------------------- | ------------- | ------------------------------------------ | +| ZO_INTERNAL_GRPC_TOKEN | - | Internal gRPC authentication token. | +| ZO_GRPC_CHANNEL_CACHE_DISABLED | false | Disables the gRPC channel cache. | +| ZO_GRPC_TLS_ENABLED | false | Enables TLS for gRPC. | +| ZO_GRPC_TLS_CERT_DOMAIN | - | Expected TLS server name for gRPC. | +| ZO_GRPC_TLS_CERT_PATH | - | Path to the TLS certificate file for gRPC. | +| ZO_GRPC_TLS_KEY_PATH | - | Path to the TLS key file for gRPC. | + + +## Router +| Environment Variable | Default Value | Description | +| -------------------- | ------------- | ------------------------------------------------------------ | +| ZO_ROUTE_STRATEGY | workload | Dispatch strategy. Supported values are workload and random. | + + +## Authentication +| Environment Variable | Default Value | Description | +| ------------------------- | ------------- | -------------------------------------- | +| ZO_ROOT_USER_TOKEN | - | Root user token. | +| ZO_CLI_USER_COOKIE | - | Cookie value used by the CLI user. | +| ZO_COOKIE_MAX_AGE | 2592000 | Cookie max age in seconds. | +| ZO_EXT_AUTH_SALT | openobserve | Salt used for external authentication. | +| O2_ACTION_SERVER_TOKEN | - | Token used by the action server. | + +## NATS +| Environment Variable | Default Value | Description | +| -------------------------- | ------------- | ------------------------------------------------------------------------------------- | +| ZO_NATS_ADDR | `localhost:4222` | No | NATS server address - If not stated explicitly the `nats://` schema and port `4222` is assumed.| +| ZO_NATS_PREFIX | `o2_` | No | NATS prefix for openobserve. | +| ZO_NATS_USER | "" | No | NATS user name. | +| ZO_NATS_PASSWORD | "" | No | NATS user password. | +| ZO_NATS_REPLICAS | 3 | No | Number of replicas for NATS. | +| ZO_NATS_CONNECT_TIMEOUT | 5 | No | NATS connection timeout in seconds. | +| ZO_NATS_COMMAND_TIMEOUT | 10 | No | NATS command timeout in seconds. | +| ZO_NATS_LOCK_WAIT_TIMEOUT | 3600 | No | NATS lock wait timeout in seconds. | +| ZO_NATS_QUEUE_MAX_AGE | 60 | No | NATS queue maximum age in days. | +| ZO_NATS_HISTORY | 3 | Number of historical entries to keep in NATS key value buckets. | +| ZO_NATS_DELIVER_POLICY | all | Starting point in the stream for message delivery. Allowed values are all, last, new. | +| ZO_NATS_SUB_CAPACITY | 65535 | Maximum subscription capacity. | +| ZO_NATS_QUEUE_MAX_SIZE | 2048 | Maximum queue size in megabytes. | + + +## S3 and Object Storage +| Environment Variable | Default Value | Description | +| -------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ZO_S3_SERVER_URL | - | No | default for aws s3 & leave it empty, but for `minIO`, `gcs` one should configure it. | +| ZO_S3_REGION_NAME | - | No | region name | +| ZO_S3_ACCESS_KEY | - | No | access key | +| ZO_S3_SECRET_KEY | - | No | secret key | +| ZO_S3_BUCKET_NAME | - | No | bucket name | +| ZO_S3_BUCKET_PREFIX | - | No | you can store data in a sub directory, like: `openobserve/` | +| ZO_S3_PROVIDER | s3 | No | s3 provider name, like: aws, gcs, gcp, oss, minio, swift | +| ZO_S3_FEATURE_FORCE_HOSTED_STYLE | false | No | feature: `force_hosted_style`, default enable for provider `minio` and `swift`. | +| AWS_EC2_METADATA_DISABLED | false | No | feature, default enable for `swift`. | +| ZO_S3_FEATURE_HTTP1_ONLY | false | No | feature | +| ZO_S3_FEATURE_HTTP2_ONLY | false | No | feature | +| ZO_S3_FEATURE_BULK_DELETE | false | No | Enables bulk deletion of streams in object stores that support stream deletion. If your object store supports stream delete, you can enable this variable. AWS S3 and Azure ObjectStore are known to support it. When set to **true**, OpenObserve issues a single operation to delete all files under the stream’s storage prefix, reducing deletion time and API usage. | + +| ZO_S3_ACCOUNTS | - | Comma-separated list of account identifiers. | +| ZO_S3_STREAM_STRATEGY | - | Stream to account selection strategy. Empty uses the default account. Other values are file_hash, stream_hash, and explicit mappings in the form stream1:account1. | +| ZO_S3_CONNECT_TIMEOUT | 10 | Connect timeout in seconds. | +| ZO_S3_REQUEST_TIMEOUT | 3600 | Request timeout in seconds. | +| ZO_S3_ALLOW_INVALID_CERTIFICATES | false | Allows invalid TLS certificates. | +| ZO_S3_SYNC_TO_CACHE_INTERVAL | 600 | Interval to sync object storage state to cache in seconds. | +| ZO_S3_MAX_RETRIES | 10 | Maximum number of retries for S3 operations. | +| ZO_S3_MAX_IDLE_PER_HOST | 0 | Maximum idle connections per host. | +| ZO_S3_CONNECTION_KEEPALIVE_TIMEOUT | 20 | Keepalive timeout in seconds for S3 connections. | +| ZO_S3_MULTI_PART_UPLOAD_SIZE | 100 | File size threshold for switching to multi part upload in megabytes. | +| ZO_S3_FEATURE_HTTP1_ONLY | false | Uses HTTP 1 only for S3 client connections. | +| ZO_S3_FEATURE_HTTP2_ONLY | false | Uses HTTP 2 only for S3 client connections. | + +## SNS +| Environment Variable | Default Value | Description | +| --------------------------- | ------------- | ----------------------------- | +| ZO_SNS_ENDPOINT | - | SNS endpoint URL. | +| ZO_SNS_CONNECT_TIMEOUT | 10 | Connect timeout in seconds. | +| ZO_SNS_OPERATION_TIMEOUT | 30 | Operation timeout in seconds. | + +## Real User Monitoring (RUM) +| Environment Variable | Default Value | Description | +| --------------------------------- | ------------- | ------------------------------------ | +| ZO_RUM_ENABLED | false | Enables Real User Monitoring. | +| ZO_RUM_CLIENT_TOKEN | - | Client token used by the RUM SDK. | +| ZO_RUM_APPLICATION_ID | - | RUM application identifier. | +| ZO_RUM_SITE | - | RUM site or domain. | +| ZO_RUM_SERVICE | - | Service name reported by RUM. | +| ZO_RUM_ENV | - | Environment name reported by RUM. | +| ZO_RUM_VERSION | - | Version string reported by RUM. | +| ZO_RUM_ORGANIZATION_IDENTIFIER | - | Organization identifier used by RUM. | +| ZO_RUM_API_VERSION | - | API version for RUM. | +| ZO_RUM_INSECURE_HTTP | false | Allows HTTP for RUM endpoints. | + + +## Pipeline +| Environment Variable | Default Value | Description | +| ------------------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| ZO_PIPELINE_REMOTE_STREAM_WAL_DIR | - | Directory for remote stream WAL files. Used to separate remote WAL from local WAL. | +| ZO_PIPELINE_REMOTE_STREAM_CONCURRENT_COUNT | 30 | Concurrent send count for remote stream WAL. | +| ZO_PIPELINE_OFFSET_FLUSH_INTERVAL | 10 | Interval to flush the sent offset for remote stream WAL in seconds. | +| ZO_PIPELINE_REMOTE_REQUEST_TIMEOUT | 600 | Request timeout for pipeline exporters in seconds. | +| ZO_PIPELINE_REMOTE_REQUEST_MAX_RETRY_TIME | 86400 | Maximum total retry time for pipeline exporters in seconds. | +| ZO_PIPELINE_WAL_SIZE_LIMIT | 0 | Data size limit for the pipeline WAL directory in MB. When set to zero the default is 50 percent of available local volume space. | +| ZO_PIPELINE_MAX_CONNECTIONS | 1024 | Maximum number of HTTP connections for the pipeline exporter client. | +| ZO_PIPELINE_BATCH_ENABLED | false | Enables batching of entries before sending HTTP requests. | +| ZO_PIPELINE_BATCH_SIZE | 100 | Maximum number of entries per batch. | +| ZO_PIPELINE_BATCH_TIMEOUT_MS | 1000 | Maximum time to wait for a batch to fill up in milliseconds. | +| ZO_PIPELINE_BATCH_SIZE_BYTES | 10485760 | Maximum batch size in bytes. | +| ZO_PIPELINE_BATCH_RETRY_MAX_ATTEMPTS | 3 | Maximum number of retry attempts for batch flush. | +| ZO_PIPELINE_BATCH_RETRY_INITIAL_DELAY_MS | 1000 | Initial delay for batch flush retries in milliseconds. | +| ZO_PIPELINE_BATCH_RETRY_MAX_DELAY_MS | 30000 | Maximum delay for batch flush retries in milliseconds. | +| ZO_PIPELINE_USE_SHARED_HTTP_CLIENT | false | Uses shared HTTP client instances to improve connection pooling. | +| ZO_PIPELINE_REMOVE_FILE_AFTER_MAX_RETRY | true | Removes the WAL file after reaching the maximum retry count. | +| ZO_PIPELINE_MAX_RETRY_COUNT | 10 | Maximum number of retries for pipeline exporters. | +| ZO_PIPELINE_MAX_RETRY_TIME_IN_HOURS | 24 | Maximum retry time for pipeline exporters in hours. | +| ZO_PIPELINE_MAX_FILE_SIZE_ON_DISK_MB | 128 | Maximum file size on disk for pipeline files in megabytes. | +| ZO_PIPELINE_MAX_FILE_RETENTION_TIME_SECONDS | 600 | Maximum retention time for pipeline files in seconds. | + +## Encryption +| Environment Variable | Default Value | Description | +| --------------------------------- | ------------- | --------------------------------------- | +| ZO_MASTER_ENCRYPTION_ALGORITHM | - | Master encryption algorithm identifier. | +| ZO_MASTER_ENCRYPTION_KEY | - | Master encryption key material. | + +## Health Check +| Environment Variable | Default Value | Description | +| -------------------------------- | ------------- | ------------------------------------------------------------------------------- | +| ZO_HEALTH_CHECK_ENABLED | true | Enables node health checks. | +| ZO_HEALTH_CHECK_TIMEOUT | 5 | Health check timeout in seconds. | +| ZO_HEALTH_CHECK_FAILED_TIMES | 3 | Removes the node from the consistent hash after this many consecutive failures. | + +## Search Group Resource Allocation +| Environment Variable | Default Value | Description | +| ------------------------------------------ | ------------- | -------------------------------------------------- | +| O2_SEARCH_GROUP_LONG_MAX_CPU | 0.8 | The percentage of CPU allocated to long queries | +| O2_SEARCH_GROUP_LONG_MAX_MEMORY | 0.8 | The percentage of memory allocated to long queries | +| O2_SEARCH_GROUP_LONG_MAX_CONCURRENCY | 2 | Maximum number of concurrent long queries. | +| O2_SEARCH_GROUP_SHORT_MAX_CPU | 0.2 | Percentage of CPU allocated to short queries. | +| O2_SEARCH_GROUP_SHORT_MAX_CONCURRENCY | 4 | Maximum number of concurrent short queries. | +| O2_SEARCH_GROUP_SHORT_MAX_MEMORY | 0.2 | Percentage of memory allocated to short queries. | + +## Organization Management +| Environment Variable | Default Value | Description | +| --------------------------------------------------- | ------------- | --------------------------------------------------------------------------- | +| ZO_USE_STREAM_SETTINGS_FOR_PARTITIONS_ENABLED | false | Uses stream settings for partitions for all streams. | +| ZO_ADDITIONAL_REPORTING_ORGS | - | Additional organizations included in reporting. | +| ZO_CREATE_ORG_THROUGH_INGESTION | true | Allows automatic organization creation through ingestion for the root user. | +| ZO_ORG_INVITE_EXPIRY | 7 | Number of days an invite token remains valid. | + + +## Elasticsearch Compatibility +| Environment Variable | Default Value | Description | +| --------------------- | ------------- | ------------------------------------- | +| ZO_FAKE_ES_VERSION | - | Fake Elasticsearch version to report. | +| ZO_ES_VERSION | - | Elasticsearch version to report. | +| ZO_BULK_RESPONSE_INCLUDE_ERRORS_ONLY | false | When using _bulk API which is compatible with Elasticsearch do not respond with records that succeeded. This allows for higher performance by returing smaller amount of data. | + + +## Prometheus Integration +| Environment Variable | Default Value | Description | +| ----------------------------- | ------------- | ---------------------------------------------- | +| ZO_DEFAULT_SCRAPE_INTERVAL | 15 | Default Prometheus scrape interval in seconds. | +| ZO_PROMETHEUS_HA_CLUSTER | cluster | For Prometheus cluster deduplication. | +| ZO_PROMETHEUS_HA_REPLICA | __replica__ | For Prometheus cluster deduplication. | + +## Traces +| Environment Variable | Default Value | Description | +| ------------------------------------------- | ------------- | ----------------------------------------- | +| ZO_TRACES_SPAN_METRICS_ENABLED | false | Enables span metrics for traces. | +| ZO_TRACES_SPAN_METRICS_EXPORT_INTERVAL | 60 | Span metrics export interval in seconds. | +| ZO_TRACES_SPAN_METRICS_CHANNEL_BUFFER | 100000 | Buffer size for the span metrics channel. | +| ZO_TRACING_SEARCH_ENABLED | false | Enables tracing for search operations. | +| ZO_TRACING_ENABLED | false | No | enable it to send traces to remote trace server. | +| ZO_TRACING_HEADER_KEY | Authorization | No | remote trace server endpoint authentication header key. | +| ZO_TRACING_HEADER_VALUE | - / e.g. Basic gjdsgfksgkfjgdskfgsdlfglsjdg | No | remote trace server endpoint authentication header value. | +| ZO_TRACING_SEARCH_ENABLED | false | No | | +| OTEL_OTLP_HTTP_ENDPOINT | - / e.g. https://api.openobserve.ai/api/default | No | remote trace server endpoint. | + +## Tokio Console +| Environment Variable | Default Value | Description | +| -------------------------------- | ------------- | --------------------------------------------------- | +| ZO_TOKIO_CONSOLE_SERVER_ADDR | 0.0.0.0 | Address for the Tokio console server. | +| ZO_TOKIO_CONSOLE_SERVER_PORT | 6699 | Port for the Tokio console server | +| ZO_TOKIO_CONSOLE_RETENTION | 60 | Retention period in seconds for Tokio console data. | + +## Profiling +| Environment Variable | Default Value | Description | +| ---------------------------------- | ---------------------------------------------- | --------------------------------------------- | +| ZO_PROF_PPROF_ENABLED | false | Enables profiling with pprof-rs. | +| ZO_PROF_PPROF_PROTOBUF_ENABLED | false | Exports pprof-rs profiles in protobuf format. | +| ZO_PROF_PPROF_FLAMEGRAPH_PATH | - | Path to save flamegraph output. | +| ZO_PROF_PYROSCOPE_ENABLED | false | Enables profiling with pyroscope-rs. | +| ZO_PROF_PYROSCOPE_SERVER_URL | [http://localhost:4040](http://localhost:4040) | Pyroscope server URL. | +| ZO_PROF_PYROSCOPE_PROJECT_NAME | openobserve | Pyroscope project name. | + +## Tantivy Index +| Environment Variable | Default Value | Description | +| ----------------------------------------------------- | ------------- | ------------------------------------------------------------------------ | +| ZO_INVERTED_INDEX_RESULT_CACHE_ENABLED | false | Enables Tantivy result cache. | +| ZO_INVERTED_INDEX_OLD_FORMAT | false | Uses the old index format that generates the same stream name for index. | +| ZO_INVERTED_INDEX_CAMEL_CASE_TOKENIZER_DISABLED | false | Disables camel case tokenizer for inverted index. | +| ZO_INVERTED_INDEX_COUNT_OPTIMIZER_ENABLED | true | Enables inverted index count optimizer. | + + +## MaxMind GeoIP +| Environment Variable | Default Value | Description | +| -------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| ZO_MMDB_DISABLE_DOWNLOAD | true | By default, auto download of MMDB is disabled. To enable it, set this to false. | +| ZO_MMDB_DATA_DIR | ./data/openobserve/mmdb/ | Defines the local directory path where OpenObserve looks for MaxMind database files. | +| ZO_MMDB_UPDATE_DURATION_DAYS | 30 | Update interval for MMDB downloads in days. | +| ZO_MMDB_GEOLITE_CITYDB_URL | [https://geoip.zinclabs.dev/GeoLite2-City.mmdb](https://geoip.zinclabs.dev/GeoLite2-City.mmdb) | GeoLite City database URL. | +| ZO_MMDB_GEOLITE_ASNDB_URL | [https://geoip.zinclabs.dev/GeoLite2-ASN.mmdb](https://geoip.zinclabs.dev/GeoLite2-ASN.mmdb) | GeoLite ASN database URL. | +| ZO_MMDB_GEOLITE_CITYDB_SHA256_URL | [https://geoip.zinclabs.dev/GeoLite2-City.sha256](https://geoip.zinclabs.dev/GeoLite2-City.sha256) | GeoLite City database SHA-256 URL. | +| ZO_MMDB_GEOLITE_ASNDB_SHA256_URL | [https://geoip.zinclabs.dev/GeoLite2-ASN.sha256](https://geoip.zinclabs.dev/GeoLite2-ASN.sha256) | GeoLite ASN database SHA-256 URL. | + +## Meta Storage +| Environment Variable | Default Value | Description | +| ------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| ZO_META_STORE | - | Default is sqlite for local mode, postgres or mysql for cluster mode. and supported values are: sqlite, postgres, mysql. Note that sqlite is supported only for local mode. | +| ZO_META_TRANSACTION_LOCK_TIMEOUT | 600 | Timeout (in seconds) of transaction lock in meta table. | +| ZO_META_TRANSACTION_RETRIES | 3 | Maximum time the transaction in the meta table will be retried. | +| ZO_META_POSTGRES_DSN | - | If you enable postgres as meta store, you need configure the database source address, like this: postgres://postgres:12345678@localhost:5432/openobserve | +| ZO_META_MYSQL_DSN | - | set this if you want to use MySQL as metadata and filelist store. | +| ZO_META_CONNECTION_POOL_MIN_SIZE | - | Minimum number of connections created in the connection pool size for postgres, sqlite, and mysql. Defaults to cpu_limits | +| ZO_META_CONNECTION_POOL_MAX_SIZE | - | Maximum number of connections created in the connection pool size for postgres, sqlite, and mysql. Defaults to cpu_limits * 2 | + +> For local mode, OpenObserve use SQLite as the metadata store. +> For cluster mode, OpenObserve use PostgreSQL (recommended) or MySQL as the metadata store. + +## Bloom Filter +| Environment Variable | Default Value | Description | +| --------------------------------------- | ------------- | ------------------------------------------------------------------- | +| ZO_BLOOM_FILTER_ENABLED | true | Enable by default, but only enabled for trace_id field. | +| ZO_BLOOM_FILTER_DEFAULT_FIELDS | - | Add more fields support by bloom filter, will add UI setting later. | +| ZO_BLOOM_FILTER_DISABLED_ON_SEARCH | false | Disable bloom filter for search queries. | + +## Usage Reporting +| Environment Variable | Default Value | Description | +| ----------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| ZO_USAGE_REPORTING_ENABLED | false | Enable usage reporting. This will start capturing how much data has been ingested across each org/stream. You can use this info to enable charge back for internal teams. | +| ZO_USAGE_ORG | meta | To which org the usage data should be sent. | +| ZO_USAGE_BATCH_SIZE | 2000 | How many requests should be batched before flushing the usage data from memory to disk | +| ZO_USAGE_REPORTING_MODE | local | local mode means the usage will be reported only in the internal cluster of ZO_USAGE_ORG. remote mode means that the usage reporting will be ingested to the remote target. both ingests the usage reports both to internal and remote target. | +| ZO_USAGE_REPORTING_URL | [http://localhost:5080/api/_meta/usage/_json](http://localhost:5080/api/_meta/usage/_json) | In case of remote or both value of ZO_USAGE_REPORTING_MODE, this URL is used to post the usage reports to remote target. | +| ZO_USAGE_REPORTING_CREDS | - | The credentials required to send along with the post request to the ZO_USAGE_REPORTING_URL. E.g. - Basic cm9vdEBleGFtcGxlLmNvbTpDb21wbGV4UGFzcyMxMjM=. | +| ZO_USAGE_PUBLISH_INTERVAL | 600 | Duration in seconds after the last reporting usage will be published. + +## SMTP + +| Environment Variable | Default Value | Mandatory | Description | +| -------------------- | ------------- | --------- | --------------------------------------------------------------------------- | +| ZO_SMTP_ENABLED | `false` | No | Indicates if smtp configuration is present. | +| ZO_SMTP_HOST | `localhost` | No | The SMTP host to connect to. | +| ZO_SMTP_PORT | 25 | No | The SMTP port to connect to. | +| ZO_SMTP_USER_NAME | "" | No | SMTP user name. `Required` when using smtp. | +| ZO_SMTP_PASSWORD | "" | No | SMTP user password. `Required` when using smtp. | +| ZO_SMTP_REPLY_TO | "" | No | The user email whom people can reply to. | +| ZO_SMTP_FROM_EMAIL | "" | No | The user email that is going to send the email. `Required` when using smtp. | +| ZO_SMTP_ENCRYPTION | "" | No | Smtp encryption method. Possible values - `ssltls`, `starttls` and "" (in case of localhost smtp). | + + +## Streaming search + +| Environment Variable | Default Value | Mandatory | Description | +| -------------------------------- | ------------- | --------- | ------------------------------------------------------- | +| ZO_STREAMING_ENABLED | true | No | Enables streaming search. | +| ZO_STREAMING_RESPONSE_CHUNK_SIZE_MB | 1 | No | Size in megabytes for each chunk when streaming search responses. | + + +## Rate limiting + +| Environment Variable | Default Value | Mandatory | Description | +| -------------------------------- | ------------- | --------- | ------------------------------------------------------- | +| O2_RATE_LIMIT_ENABLED | false | No | Enables rate limiting. | +| O2_RATE_LIMIT_RULE_REFRESH_INTERVAL | 10 | No | Refresh interval for rate limit rules in seconds. | + + +## Quick mode + +| Environment Variable | Default Value | Mandatory | Description | +| -------------------------------- | ------------- | --------- | ------------------------------------------------------- | +| ZO_QUICK_MODE_ENABLED | false | No | Indicates if quick mode is enabled. | +| ZO_QUICK_MODE_NUM_FIELDS | 500 | No | The number of fields to consider for quick mode. | +| ZO_QUICK_MODE_STRATEGY | "" | No | Possible values - `first`, `last`, `both` | + + +## Miscellaneous +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_STARTING_EXPECT_QUERIER_NUM | 0 | The number of queriers expected to be running while caching enrichment tables. | +| ZO_QUERY_PARTITION_MIN_SECS | 600 | (seconds) | +| ZO_QUERY_THREAD_NUM | - | number of threads for searching in data files. | +| ZO_QUERY_TIMEOUT | 600 | Default timeout of query, unit: seconds | +| ZO_QUERY_INDEX_THREAD_NUM | 0 | Controls thread count for Tantivy index search. Set to 0 to use default: CPU cores × 4. Set a positive integer to override. 0 does not mean unlimited. | +| ZO_QUERY_OPTIMIZATION_NUM_FIELDS | 1000 | Field count threshold used by query optimizations. | +| ZO_QUERY_PARTITION_BY_SECS | 10 | Query partition size. Unit is seconds. | +| ZO_QUERY_GROUP_BASE_SPEED | 768 | Baseline throughput per core for group operations. Unit is MB per second per core. | +| ZO_MEMORY_CIRCUIT_BREAKER_ENABLED | false | Enables memory circuit breaker. | +| ZO_MEMORY_CIRCUIT_BREAKER_RATIO | 90 | Memory usage threshold percentage for circuit breaker. | +| ZO_RESTRICTED_ROUTES_ON_EMPTY_DATA | false | Redirects users to the ingestion page when no stream is found. | +| ZO_QUERY_ON_STREAM_SELECTION | true | Triggers search based on a button click event. | +| ZO_RESULT_CACHE_ENABLED | true | Enables result cache for query results. | +| ZO_USE_MULTIPLE_RESULT_CACHE | false | Uses multiple result caches for query results. | +| ZO_RESULT_CACHE_SELECTION_STRATEGY | overlap | Strategy for selecting result cache. Allowed values include both, overlap, duration. | +| ZO_ALIGN_PARTITIONS_FOR_INDEX | false | Uses large partitions for index across all streams. | +| ZO_TRACING_SEARCH_ENABLED | false | Enables tracing for search operations. | +| ZO_AGGREGATION_TOPK_ENABLED | true | Enables approx top-k aggregations. | +| ZO_FEATURE_FILELIST_DEDUP_ENABLED | false | Deprecated. Not used by the code. Will be removed. | +| ZO_FEATURE_QUERY_QUEUE_ENABLED | true | Enterprise edition must not enable this. In the open source edition, when enabled, the system processes only one search request at a time. | +| ZO_FEATURE_QUERY_INFER_SCHEMA | false | Deprecated. Not used by the code. Will be removed. | +| ZO_FEATURE_DISTINCT_EXTRA_FIELDS | - | Reserved for future use. Contact the maintainers for guidance. | + + +--- + + + +!!! Note "Note" + The following environment variables are available only in the Enterprise edition. + + +## Super-Cluster + +| Environment Variable | Default Value | Mandatory | Description | +| ---------------------------- | ------------- | --------- | ----------------------------------------------- | +| O2_SUPER_CLUSTER_ENABLED | `false` | No | Indicates if super cluster is enabled. | +| O2_SUPER_CLUSTER_REGION | default | No | Region of super cluster. | +| O2_SUPER_CLUSTER_PUBLIC_ADDR | "" | No | Public address of super cluster. | +| O2_SUPER_CLUSTER_PUBLIC_PORT | "" | No | Public port of super cluster (in case of gRPC). | +| O2_SUPER_CLUSTER_GRPC_TOKEN | "" | No | gRPC token. | + +## Search-Group + +| Environment Variable | Default Value | Mandatory | Description | +| --------------------------------------- | ------------- | --------- | ------------------- | +| O2_SEARCH_GROUP_LONG_MAX_CPU | `80%` | No | | +| O2_SEARCH_GROUP_LONG_MAX_MEMORY | `80%` | No | | +| O2_SEARCH_GROUP_LONG_MAX_CONCURRENCY | `2` | No | | +| O2_SEARCH_GROUP_SHORT_MAX_CPU | `20%` | No | | +| O2_SEARCH_GROUP_SHORT_MAX_CONCURRENCY | `4` | No | | +| O2_SEARCH_GROUP_SHORT_MAX_MEMORY | `20%` | No | | +| O2_SEARCH_GROUP_BASE_SPEED | `1024` | No | Base speed in MB. | +| O2_SEARCH_GROUP_BASE_SECS | `10` | No | Base speed in secs. | + +## OpenFGA + +| Environment Variable | Default Value | Mandatory | Description | +| ---------------------------------- | ------------------------------ | --------- | ---------------------------------------------------------------------------- | +| O2_OPENFGA_ENABLED | `false` | No | Indicates if openfga is enabled. | +| O2_OPENFGA_BASE_URL | `http://127.0.0.1:8080/stores` | No | The base URL of openfga stores server. **Required** when openfga is enabled. | +| O2_OPENFGA_STORE_NAME | `openobserve` | No | OpenFGA store name. **Required** when openfga is enabled. | +| O2_MAP_GROUP_TO_ROLE | `false` | No | If true, the group claims are mapped into roles in the default org. | +| O2_OPENFGA_PAGE_SIZE | `100` | No | The page size used for openfga queries. | +| O2_OPENFGA_LIST_ONLY_PERMITTED | `false` | No | If `true`, openobserve only lists resources that have `GET` permission. | +| O2_MAP_GROUP_TO_ROLE_SKIP_CREATION | `true` | No | Used with `O2_MAP_GROUP_TO_ROLE`. Skips creating the roles mapped from group claims assuming they already exists. | + +## DEX + +| Environment Variable | Default Value | Mandatory | Description | +| --------------------------- | --------------------------- | --------- | ------------------------------------------------------------------- | +| O2_DEX_ENABLED | false | No | Enables SSO in OpenObserve using Dex. | +| O2_DEX_CLIENT_ID | - | No | Client id of static client. **Required** when dex is enabled. | +| O2_DEX_CLIENT_SECRET | - | No | Client secret of static client. **Required** when dex is enabled. | +| O2_DEX_BASE_URL | `http://127.0.0.1:5556/dex` | No | URL of the Dex identity provider. **Required** when dex is enabled. | +| O2_CALLBACK_URL | - | No | Set this value to `/web/cb`, after successful token received from dex, user will be redirected to this page. **Required** when dex is enabled. | +| O2_DEX_REDIRECT_URL | - | No | Set this value to `/config/redirect`, Should match to redirect uri specified in dex. **Required** when dex is enabled. | +| O2_DEX_SCOPES | openid profile email groups offline_access | No | scopes to be fetched from dex. | +| O2_DEX_GROUP_ATTRIBUTE | ou | No | Maps user to OpenObserve organization. | +| O2_DEX_ROLE_ATTRIBUTE | cn | No | User's role in the organization. | +| O2_DEX_DEFAULT_ORG | default | No | Default organization for users not belonging to any group in ldap | +| O2_DEX_AUTH_EP_SUFFIX | `/auth` | No | Suffix for dex authentication endpoint | +| O2_DEX_TOKEN_EP_SUFFIX | `/token` | No | Suffix for dex token endpoint | +| O2_DEX_KEYS_EP_SUFFIX | `/keys` | No | Suffix for dex keys endpoint | +| O2_DEX_AUTH_EP_SUFFIX | `/auth` | No | Suffix for dex authentication endpoint | +| O2_DEX_NATIVE_LOGIN_ENABLED | `true` | No | Indicates if native dex login is enabled. | + + +## Other Enterprise Features + +| Environment Variable | Default Value | Mandatory | Description | +| ------------------------- | ------------- | --------- | --------------------------------------------------------------------------------------- | +| O2_AUDIT_ENABLED | `false` | No | Indicates if audit reporting is enabled. | +| O2_AUDIT_BATCH_SIZE | 500 | No | How many requests should be batched before flushing the audit data from memory to disk. | +| O2_CUSTOM_LOGO_TEXT | "" | No | Custom logo text that will appear along with the openobserve logo. | +| O2_CUSTOM_SLACK_URL | "" | No | Custom slack URL that will be used by the `Slack` menu on the openobserve UI. | +| O2_CUSTOM_DOCS_URL | "" | No | Custom docs URL that will be used by the `docs` tab on the openobserve UI. | +| O2_CUSTOM_HIDE_MENUS | "" | No | comma(',') separated menu items that should not be shown in the menu on openobserve UI. E.g. - `metrics,traces` | + + + + \ No newline at end of file From d72d3a63b324a4ff42e79083b6ff2d0981462751 Mon Sep 17 00:00:00 2001 From: Debashis Borgohain Date: Wed, 24 Sep 2025 17:11:24 +0530 Subject: [PATCH 3/4] document the deprecation of etcd --- docs/operator-guide/etcd.md | 8 ++++++-- docs/operator-guide/etcd_restore.md | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/operator-guide/etcd.md b/docs/operator-guide/etcd.md index 8cca3300..f4363177 100644 --- a/docs/operator-guide/etcd.md +++ b/docs/operator-guide/etcd.md @@ -1,12 +1,16 @@ --- -title: Etcd Maintenance +title: Etcd Maintenance (Deprecated) weight: 4450 description: >- Learn how to maintain your etcd cluster with compaction, defragmentation, and space quotas to prevent data loss and ensure reliable performance. --- -# Etcd Maintenance +# Etcd Maintenance (Deprecated) + +!!! warning "Deprecation Notice" + Support for **etcd** has been deprecated in OpenObserve. + ## Overview diff --git a/docs/operator-guide/etcd_restore.md b/docs/operator-guide/etcd_restore.md index 6b1d0fea..a0c30630 100644 --- a/docs/operator-guide/etcd_restore.md +++ b/docs/operator-guide/etcd_restore.md @@ -3,7 +3,7 @@ description: >- Restore a broken etcd cluster in OpenObserve by restarting pods, resetting data, and rejoining members using CLI and updated Helm configs. --- -# Etcd Cluster Restore +# Etcd Cluster Restore (Deprecated) Many users ran into the case only one of the 3 pods of etcd cluster can works. The other 2 pods always restart and can't back to work. From 53bded174eaa9bab519039f391678b78f6463eef Mon Sep 17 00:00:00 2001 From: Debashis Borgohain Date: Thu, 25 Sep 2025 11:30:08 +0530 Subject: [PATCH 4/4] update the environment variables page --- docs/environment-variables.md | 402 +++++++++++++++++----------------- 1 file changed, 198 insertions(+), 204 deletions(-) diff --git a/docs/environment-variables.md b/docs/environment-variables.md index d42bcac7..9ba6481b 100644 --- a/docs/environment-variables.md +++ b/docs/environment-variables.md @@ -95,15 +95,15 @@ OpenObserve is configured using the following environment variables. ## Compaction and Data Retention | Environment Variable | Default Value | Description | |---------------------|---------------|-------------| -| ZO_COMPACT_ENABLED | true | enable compact for small files. | -| ZO_COMPACT_INTERVAL | 60 | interval at which job compacts small files into larger files. default is 60s, unit: second | -| ZO_COMPACT_MAX_FILE_SIZE | 256 | max file size for a single compacted file, after compaction all files will be below this value. default is 256MB, unit: MB | +| ZO_COMPACT_ENABLED | true | Enables compact for small files. | +| ZO_COMPACT_INTERVAL | 60 | The interval at which job compacts small files into larger files. default is 60s, unit: second | +| ZO_COMPACT_MAX_FILE_SIZE | 256 | Max file size for a single compacted file, after compaction all files will be below this value. Default is 256MB, unit: MB | | ZO_COMPACT_DATA_RETENTION_DAYS | 3650 | Data retention days, default is 10 years. Minimal 3. eg: 30, it means will auto delete the data older than 30 days. You also can set data retention for stream in the UI. | | ZO_COMPACT_SYNC_TO_DB_INTERVAL | 1800 | The interval time in seconds after which compactor sync cache to db is run. | | ZO_COMPACT_DELETE_FILES_DELAY_HOURS | 2 | The number of hours to delay to delete the pending deleted files by compactor. Value can not be less than 1. | -| ZO_COMPACT_DATA_RETENTION_HISTORY | false | If enabled this will move the file_list into file_list_history and not delete files from storage. | +| ZO_COMPACT_DATA_RETENTION_HISTORY | false | When enabled, this will move the file_list into file_list_history and not delete files from storage. | | ZO_COMPACT_BLOCKED_ORGS | | Use comma to split multiple orgs. Blocked organizations will not be able to ingest data | -| ZO_COMPACT_FAST_MODE | true | Enable fast mode compact, will use more memory but faster, disable it will reduce 50% memory | +| ZO_COMPACT_FAST_MODE | true |Enables fast compaction mode. Uses more memory but improves performance. Disabling reduces memory usage by about 50 percent. | | ZO_COMPACT_OLD_DATA_INTERVAL | 3600 | Interval to compact old data in seconds. | | ZO_COMPACT_STRATEGY | file_time | Compaction strategy. Allowed values are file_size, file_time, time_range. | | ZO_COMPACT_EXTENDED_DATA_RETENTION_DAYS | 3650 | Extended data retention period in days. | @@ -121,9 +121,8 @@ OpenObserve is configured using the following environment variables. ## UI and Web | Environment Variable | Default Value | Description | |---------------------|---------------|-------------| -| ZO_UI_ENABLED | true | default we enable embed UI, one can disable it. | | ZO_UI_SQL_BASE64_ENABLED | false | Enable base64 encoding for SQL in UI. | -| ZO_WEB_URL | - | UI access URL, eg: http://localhost:5080, used for redirect url and alert url. | +| ZO_WEB_URL | - | UI access URL. For example, http://localhost:5080 is used as redirect URL and alert URL. | | ZO_BASE_URI | - | If OpenObserve is hosted under a subpath, set the path prefix. Use this for deployments with a Kubernetes NGINX ingress or any reverse proxy that serves OpenObserve under a subpath such as www.example.com/openobserve. | | ZO_SWAGGER_ENABLED | true | Generate SWAGGER API documentation by default. | @@ -131,7 +130,7 @@ OpenObserve is configured using the following environment variables. | Environment Variable | Default Value | Description | | ------------------------------------ | ------------- | ------------------------------------------------- | | ZO_DASHBOARD_SHOW_SYMBOL_ENABLED | false | Shows the symbol selector in dashboards. | -| ZO_DASHBOARD_PLACEHOLDER | _o2_all_ | Placeholder stream name used in dashboards. | +| ZO_DASHBOARD_PLACEHOLDER | `_o2_all_` | Placeholder stream name used in dashboards. | | ZO_MIN_AUTO_REFRESH_INTERVAL | 5 | Minimum allowed auto refresh interval in seconds. | ## Payload Limits @@ -190,27 +189,27 @@ OpenObserve is configured using the following environment variables. | Environment Variable | Default Value | Description | |---------------------|---------------|-------------| | ZO_ALERT_SCHEDULE_INTERVAL | 10s | Defines how often the alert manager checks for scheduled jobs such as alerts, reports, or scheduled pipelines. The default value is 10 seconds. This means the alert manager fetches and processes alerts, reports, and pipelines every 10 seconds. | -| ZO_ALERT_SCHEDULE_TIMEOUT | 90 | No | The maximum expected time duration in seconds within which the processing of alert by the alert manager should be complete. If the processing of the alert is not complete within the timeframe, the alert will become available again for other alert managers to pick. | -| ZO_SCHEDULER_WATCH_INTERVAL | 30 | No | The scheduler frequently watches if there are any scheduled jobs which are in processing state for more than the `ZO_ALERT_SCHEDULE_TIMEOUT`/`ZO_REPORT_SCHEDULE_TIMEOUT`, if so it increases their `retries` field by 1 and marks them as available for processing again by alert managers. | -| ZO_ALERT_SCHEDULE_CONCURRENCY | 5 | No | The number of scheduled jobs the the alert manager will pull at a time from the scheduler for processing | -| ZO_CHROME_ENABLED | `false` | No | When `true`, it looks for chromium executable. Required for dashboard reports. | -| ZO_CHROME_PATH | - | No | If chrome is enabled, custom chrome executable path can be specified. If not specified, it looks for chrome executable in default locations. If still not found, it automatically downloads a good known version of chromium. | -| ZO_CHROME_CHECK_DEFAULT_PATH | `true` | No | If `false`, it skips default locations (e.g. CHROME env, usual chrome file path etc.) when looking for chrome executable. | -| ZO_CHROME_NO_SANDBOX | `false` | No | If true, it launches chromium in no-sandbox environment. | -| ZO_CHROME_SLEEP_SECS | 20 | No | Specify the number of timeout seconds the headless chrome will wait until all the dashboard data is loaded. | -| ZO_CHROME_WITH_HEAD | `false` | No | If `true`, it launches the chromium browser in non-headless mode. | -| ZO_CHROME_WINDOW_WIDTH | 1370 | No | Specifies the width of the headless chromium browser. | -| ZO_CHROME_WINDOW_HEIGHT | 730 | No | Specifies the height of the headless chromium browser. | -| ZO_CHROME_AUTO_DOWNLOAD | `false` | No | Only used by the report-server. If `true`, the report-server automatically downloads a good known version of chromium if chromium is not found in the system. **Note:** If auto download of chromium is desired, make sure that the system has all the required dependency libraries of chromium already installed. | -| ZO_SCHEDULER_MAX_RETRIES | 3 | No | The maximum number of times the scheduler will retry processing the alert/report. If exceeded, the scheduler will skip to the next trigger time of the alert/report. | -| ZO_SCHEDULER_CLEAN_INTERVAL | 30 | No | The interval in seconds after which the scheduler will clean up the completed scheduled jobs. | -| ZO_REPORT_USER_NAME | "" | No | The username that will be used by the headless chromium to login into openobserve and generate report. | -| ZO_REPORT_USER_PASSWORD | "" | No | The password that will be used by the headless chromium to login into openobserve and generate report. | -| ZO_ENABLE_EMBEDDED_REPORT_SERVER | `false` | No | If true, the alert manager (for which this ENV is enabled) spawns a new report-server running on PORT `5082` (default, can be changed through `ZO_REPORT_SERVER_HTTP_PORT`). | -| ZO_REPORT_SERVER_HTTP_PORT | `5082` | No | The port used by the newly spawned report-server. | -| ZO_REPORT_SERVER_HTTP_ADDR | `127.0.0.1` | No | The ip address used by the newly spawned report-server. | -| ZO_REPORT_SERVER_URL | `localhost:5082` | No | The report server server URL. E.g. - `https://report-server.example.com/api`. | -| ZO_REPORT_SERVER_SKIP_TLS_VERIFY | `false` | No | If `true`, it will skip tls verification while making request to report-server from alert manager. | +| ZO_ALERT_SCHEDULE_TIMEOUT | 90 | The maximum expected time duration in seconds within which the processing of alert by the alert manager should be complete. If the processing of the alert is not complete within the timeframe, the alert will become available again for other alert managers to pick. | +| ZO_SCHEDULER_WATCH_INTERVAL | 30 | The scheduler frequently watches if there are any scheduled jobs which are in processing state for more than the `ZO_ALERT_SCHEDULE_TIMEOUT`/`ZO_REPORT_SCHEDULE_TIMEOUT`, if so it increases their `retries` field by 1 and marks them as available for processing again by alert managers. | +| ZO_ALERT_SCHEDULE_CONCURRENCY | 5 | The number of scheduled jobs the the alert manager will pull at a time from the scheduler for processing | +| ZO_CHROME_ENABLED | false | When true, it looks for chromium executable. Required for dashboard reports. | +| ZO_CHROME_PATH | - | If chrome is enabled, custom chrome executable path can be specified. If not specified, it looks for chrome executable in default locations. If still not found, it automatically downloads a good known version of chromium. | +| ZO_CHROME_CHECK_DEFAULT_PATH | true | If false, it skips default locations (e.g. CHROME env, usual chrome file path etc.) when looking for chrome executable. | +| ZO_CHROME_NO_SANDBOX | false | If true, it launches chromium in no-sandbox environment. | +| ZO_CHROME_SLEEP_SECS | 20 | Specify the number of timeout seconds the headless chrome will wait until all the dashboard data is loaded. | +| ZO_CHROME_WITH_HEAD | false | If true, it launches the chromium browser in non-headless mode. | +| ZO_CHROME_WINDOW_WIDTH | 1370 | Specifies the width of the headless chromium browser. | +| ZO_CHROME_WINDOW_HEIGHT | 730 | Specifies the height of the headless chromium browser. | +| ZO_CHROME_AUTO_DOWNLOAD | false | Only used by the report-server. If true, the report-server automatically downloads a good known version of chromium if chromium is not found in the system. **Note:** If auto download of chromium is desired, make sure that the system has all the required dependency libraries of chromium already installed. | +| ZO_SCHEDULER_MAX_RETRIES | 3 | The maximum number of times the scheduler will retry processing the alert/report. If exceeded, the scheduler will skip to the next trigger time of the alert/report. | +| ZO_SCHEDULER_CLEAN_INTERVAL | 30 | The interval in seconds after which the scheduler will clean up the completed scheduled jobs. | +| ZO_REPORT_USER_NAME | | The username that will be used by the headless chromium to login into openobserve and generate report. | +| ZO_REPORT_USER_PASSWORD | | The password that will be used by the headless chromium to login into openobserve and generate report. | +| ZO_ENABLE_EMBEDDED_REPORT_SERVER | false | If true, the alert manager (for which this ENV is enabled) spawns a new report-server running on PORT `5082` (default, can be changed through `ZO_REPORT_SERVER_HTTP_PORT`). | +| ZO_REPORT_SERVER_HTTP_PORT | `5082` | The port used by the newly spawned report-server. | +| ZO_REPORT_SERVER_HTTP_ADDR | `127.0.0.1` | The ip address used by the newly spawned report-server. | +| ZO_REPORT_SERVER_URL | `localhost:5082` | The report server server URL. E.g. - `https://report-server.example.com/api`. | +| ZO_REPORT_SERVER_SKIP_TLS_VERIFY | false| If true, it will skip tls verification while making request to report-server from alert manager. | ## Enrichment Tables | Environment Variable | Default Value | Description | @@ -258,29 +257,30 @@ OpenObserve is configured using the following environment variables. ## Caching -| Environment Variable | Default Value | Mandatory | Description | -| -------------------------------------- | ------------------------- | --------- | ------------------------------------------------------------------------- | -| ZO_DATA_CACHE_DIR | ./data/openobserve/cache/ | No | local query cache storage directory, applicable only for cluster mode. | -| ZO_MEMORY_CACHE_ENABLED | true | No | enable in-memory caching for files, default is true, the latest files are cached for accelerated queries. | -| ZO_CACHE_LATEST_FILES_ENABLED | false | No | Enables or disables latest file caching.| -| ZO_CACHE_LATEST_FILES_PARQUET | true | No | Enables caching of latest parquet files.| -| ZO_CACHE_LATEST_FILES_INDEX | true | No | Enables caching of index files.| -| ZO_CACHE_LATEST_FILES_DELETE_MERGE_FILES | false | No | Controls whether merged files should be deleted from cache.| -| ZO_CACHE_LATEST_FILES_DOWNLOAD_FROM_NODE | false | Downloads latest files from a peer node instead of object storage. | -| ZO_CACHE_LATEST_FILES_DOWNLOAD_NODE_SIZE | 100 | Threshold size in megabytes for node to node download. | -| ZO_MEMORY_CACHE_SKIP_DISK_CHECK | false | Skips free disk space checks during cache operations. | -| ZO_DISK_RESULT_CACHE_MAX_SIZE | 0 | Maximum disk cache size for query results in megabytes. | -| ZO_DISK_AGGREGATION_CACHE_MAX_SIZE | 0 | Maximum disk cache size for aggregation results in megabytes. | -| ZO_DISK_CACHE_MULTI_DIR | - | Comma-separated list of disk cache directories. When set, OpenObserve uses multiple directories for the disk cache. For example, ZO_DISK_CACHE_MULTI_DIR: "ssdpvc1,ssdpvc2" | -| ZO_DISK_CACHE_GC_SIZE | 100 | Amount of data to release during disk cache garbage collection in megabytes. | -| ZO_DISK_CACHE_GC_INTERVAL | 60 | Interval to check whether the disk cache is full and to run garbage collection in seconds. | -| ZO_SCHEMA_CACHE_COMPRESS_ENABLED | - | Removed. No longer supported. | -| ZO_DISK_CACHE_BUCKET_NUM | 0 | No | Disk data cache bucket num, multiple bucket means multiple locker, default is 0 | -| ZO_DISK_CACHE_ENABLED | true | No | Enable in-disk caching for files, default is true, the latest files are cached for accelerated queries. when the memory cache is not enough will try to cache in local disk, you can consider the memory cache is first level, disk cache is second level. | -| ZO_DISK_CACHE_MAX_SIZE | - | No | Default 50% of the total free disk for in-disk cache, one can set it to desired amount unit: MB | -| ZO_DISK_CACHE_SKIP_SIZE | - | No | Default 80% of the total disk cache size, A query will skip disk cache if it need more than this value. one can set it to desired amount unit: MB | -| ZO_DISK_CACHE_RELEASE_SIZE | - | No | Default drop 1% entries from in-disk cache as cache is full, one can set it to desired amount unit: MB | -| ZO_DISK_CACHE_STRATEGY | lru | No | Disk data cache strategy, values are lru, time_lru, fifo | +| Environment Variable | Default Value | Description | +|---------------------|---------------|-------------| +| ZO_DATA_CACHE_DIR | ./data/openobserve/cache/ | local query cache storage directory, applicable only for cluster mode. | +| ZO_MEMORY_CACHE_ENABLED | true | enable in-memory caching for files, default is true, the latest files are cached for accelerated queries. | +| ZO_CACHE_LATEST_FILES_ENABLED | false | Enables or disables latest file caching. | +| ZO_CACHE_LATEST_FILES_PARQUET | true | Enables caching of latest parquet files. | +| ZO_CACHE_LATEST_FILES_INDEX | true | Enables caching of index files. | +| ZO_CACHE_LATEST_FILES_DELETE_MERGE_FILES | false | Controls whether merged files should be deleted from cache. | +| ZO_CACHE_LATEST_FILES_DOWNLOAD_FROM_NODE | false | Downloads latest files from a peer node instead of object storage. | +| ZO_CACHE_LATEST_FILES_DOWNLOAD_NODE_SIZE | 100 | Threshold size in megabytes for node to node download. | +| ZO_MEMORY_CACHE_SKIP_DISK_CHECK | false | Skips free disk space checks during cache operations. | +| ZO_DISK_RESULT_CACHE_MAX_SIZE | 0 | Maximum disk cache size for query results in megabytes. | +| ZO_DISK_AGGREGATION_CACHE_MAX_SIZE | 0 | Maximum disk cache size for aggregation results in megabytes. | +| ZO_DISK_CACHE_MULTI_DIR | - | Comma-separated list of disk cache directories. When set, OpenObserve uses multiple directories for the disk cache. For example, ZO_DISK_CACHE_MULTI_DIR: "ssdpvc1,ssdpvc2" | +| ZO_DISK_CACHE_GC_SIZE | 100 | Amount of data to release during disk cache garbage collection in megabytes. | +| ZO_DISK_CACHE_GC_INTERVAL | 60 | Interval to check whether the disk cache is full and to run garbage collection in seconds. | +| ZO_SCHEMA_CACHE_COMPRESS_ENABLED | - | Removed. No longer supported. | +| ZO_DISK_CACHE_BUCKET_NUM | 0 | Disk data cache bucket num, multiple bucket means multiple locker, default is 0 | +| ZO_DISK_CACHE_ENABLED | true | Enable in-disk caching for files, default is true, the latest files are cached for accelerated queries. when the memory cache is not enough will try to cache in local disk, you can consider the memory cache is first level, disk cache is second level. | +| ZO_DISK_CACHE_MAX_SIZE | - | Default 50% of the total free disk for in-disk cache, one can set it to desired amount unit: MB | +| ZO_DISK_CACHE_SKIP_SIZE | - | Default 80% of the total disk cache size, A query will skip disk cache if it need more than this value. one can set it to desired amount unit: MB | +| ZO_DISK_CACHE_RELEASE_SIZE | - | Default drop 1% entries from in-disk cache as cache is full, one can set it to desired amount unit: MB | +| ZO_DISK_CACHE_STRATEGY | lru | Disk data cache strategy, values are lru, time_lru, fifo | + ## HTTP TLS | Environment Variable | Default Value | Description | @@ -320,15 +320,15 @@ OpenObserve is configured using the following environment variables. ## NATS | Environment Variable | Default Value | Description | | -------------------------- | ------------- | ------------------------------------------------------------------------------------- | -| ZO_NATS_ADDR | `localhost:4222` | No | NATS server address - If not stated explicitly the `nats://` schema and port `4222` is assumed.| -| ZO_NATS_PREFIX | `o2_` | No | NATS prefix for openobserve. | -| ZO_NATS_USER | "" | No | NATS user name. | -| ZO_NATS_PASSWORD | "" | No | NATS user password. | -| ZO_NATS_REPLICAS | 3 | No | Number of replicas for NATS. | -| ZO_NATS_CONNECT_TIMEOUT | 5 | No | NATS connection timeout in seconds. | -| ZO_NATS_COMMAND_TIMEOUT | 10 | No | NATS command timeout in seconds. | -| ZO_NATS_LOCK_WAIT_TIMEOUT | 3600 | No | NATS lock wait timeout in seconds. | -| ZO_NATS_QUEUE_MAX_AGE | 60 | No | NATS queue maximum age in days. | +| ZO_NATS_ADDR | `localhost:4222` |NATS server address - If not stated explicitly the `nats://` schema and port `4222` is assumed.| +| ZO_NATS_PREFIX | `o2_` | NATS prefix for openobserve. | +| ZO_NATS_USER | - | NATS user name. | +| ZO_NATS_PASSWORD | - | NATS user password. | +| ZO_NATS_REPLICAS | 3 | Number of replicas for NATS. | +| ZO_NATS_CONNECT_TIMEOUT | 5 | NATS connection timeout in seconds. | +| ZO_NATS_COMMAND_TIMEOUT | 10 | NATS command timeout in seconds. | +| ZO_NATS_LOCK_WAIT_TIMEOUT | 3600 | NATS lock wait timeout in seconds. | +| ZO_NATS_QUEUE_MAX_AGE | 60 | NATS queue maximum age in days. | | ZO_NATS_HISTORY | 3 | Number of historical entries to keep in NATS key value buckets. | | ZO_NATS_DELIVER_POLICY | all | Starting point in the stream for message delivery. Allowed values are all, last, new. | | ZO_NATS_SUB_CAPACITY | 65535 | Maximum subscription capacity. | @@ -338,29 +338,26 @@ OpenObserve is configured using the following environment variables. ## S3 and Object Storage | Environment Variable | Default Value | Description | | -------------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| ZO_S3_SERVER_URL | - | No | default for aws s3 & leave it empty, but for `minIO`, `gcs` one should configure it. | -| ZO_S3_REGION_NAME | - | No | region name | -| ZO_S3_ACCESS_KEY | - | No | access key | -| ZO_S3_SECRET_KEY | - | No | secret key | -| ZO_S3_BUCKET_NAME | - | No | bucket name | -| ZO_S3_BUCKET_PREFIX | - | No | you can store data in a sub directory, like: `openobserve/` | -| ZO_S3_PROVIDER | s3 | No | s3 provider name, like: aws, gcs, gcp, oss, minio, swift | -| ZO_S3_FEATURE_FORCE_HOSTED_STYLE | false | No | feature: `force_hosted_style`, default enable for provider `minio` and `swift`. | -| AWS_EC2_METADATA_DISABLED | false | No | feature, default enable for `swift`. | -| ZO_S3_FEATURE_HTTP1_ONLY | false | No | feature | -| ZO_S3_FEATURE_HTTP2_ONLY | false | No | feature | -| ZO_S3_FEATURE_BULK_DELETE | false | No | Enables bulk deletion of streams in object stores that support stream deletion. If your object store supports stream delete, you can enable this variable. AWS S3 and Azure ObjectStore are known to support it. When set to **true**, OpenObserve issues a single operation to delete all files under the stream’s storage prefix, reducing deletion time and API usage. | - -| ZO_S3_ACCOUNTS | - | Comma-separated list of account identifiers. | +| ZO_S3_SERVER_URL | - | Default for aws s3 & leave it empty, but for `minIO`, `gcs` one should configure it. | +| ZO_S3_REGION_NAME | - | Region name | +| ZO_S3_ACCESS_KEY | - | Access key | +| ZO_S3_SECRET_KEY | - | Secret key | +| ZO_S3_BUCKET_NAME | - | Bucket name | +| ZO_S3_BUCKET_PREFIX | - | You can store data in a sub directory, like: `openobserve/` | +| ZO_S3_PROVIDER | s3 | S3 provider name, like: aws, gcs, gcp, oss, minio, swift | +| ZO_S3_FEATURE_FORCE_HOSTED_STYLE | false | Feature: `force_hosted_style`, default enable for provider `minio` and `swift`. | +| AWS_EC2_METADATA_DISABLED | false | Feature, default enable for `swift`. | +| ZO_S3_FEATURE_BULK_DELETE | false | Enables bulk deletion of streams in object stores that support stream deletion. If your object store supports stream delete, you can enable this variable. AWS S3 and Azure ObjectStore are known to support it. When set to **true**, OpenObserve issues a single operation to delete all files under the stream’s storage prefix, reducing deletion time and API usage. | +| ZO_S3_ACCOUNTS | - | Comma-separated list of account identifiers. | | ZO_S3_STREAM_STRATEGY | - | Stream to account selection strategy. Empty uses the default account. Other values are file_hash, stream_hash, and explicit mappings in the form stream1:account1. | -| ZO_S3_CONNECT_TIMEOUT | 10 | Connect timeout in seconds. | -| ZO_S3_REQUEST_TIMEOUT | 3600 | Request timeout in seconds. | -| ZO_S3_ALLOW_INVALID_CERTIFICATES | false | Allows invalid TLS certificates. | -| ZO_S3_SYNC_TO_CACHE_INTERVAL | 600 | Interval to sync object storage state to cache in seconds. | -| ZO_S3_MAX_RETRIES | 10 | Maximum number of retries for S3 operations. | -| ZO_S3_MAX_IDLE_PER_HOST | 0 | Maximum idle connections per host. | -| ZO_S3_CONNECTION_KEEPALIVE_TIMEOUT | 20 | Keepalive timeout in seconds for S3 connections. | -| ZO_S3_MULTI_PART_UPLOAD_SIZE | 100 | File size threshold for switching to multi part upload in megabytes. | +| ZO_S3_CONNECT_TIMEOUT | 10 | Connect timeout in seconds. | +| ZO_S3_REQUEST_TIMEOUT | 3600 | Request timeout in seconds. | +| ZO_S3_ALLOW_INVALID_CERTIFICATES | false | Allows invalid TLS certificates. | +| ZO_S3_SYNC_TO_CACHE_INTERVAL | 600 | Interval to sync object storage state to cache in seconds. | +| ZO_S3_MAX_RETRIES | 10 | Maximum number of retries for S3 operations. | +| ZO_S3_MAX_IDLE_PER_HOST | 0 | Maximum idle connections per host. | +| ZO_S3_CONNECTION_KEEPALIVE_TIMEOUT | 20 | Keepalive timeout in seconds for S3 connections. | +| ZO_S3_MULTI_PART_UPLOAD_SIZE | 100 | File size threshold for switching to multi part upload in megabytes. | | ZO_S3_FEATURE_HTTP1_ONLY | false | Uses HTTP 1 only for S3 client connections. | | ZO_S3_FEATURE_HTTP2_ONLY | false | Uses HTTP 2 only for S3 client connections. | @@ -455,7 +452,7 @@ OpenObserve is configured using the following environment variables. | ----------------------------- | ------------- | ---------------------------------------------- | | ZO_DEFAULT_SCRAPE_INTERVAL | 15 | Default Prometheus scrape interval in seconds. | | ZO_PROMETHEUS_HA_CLUSTER | cluster | For Prometheus cluster deduplication. | -| ZO_PROMETHEUS_HA_REPLICA | __replica__ | For Prometheus cluster deduplication. | +| ZO_PROMETHEUS_HA_REPLICA | `__replica__` | For Prometheus cluster deduplication. | ## Traces | Environment Variable | Default Value | Description | @@ -464,17 +461,17 @@ OpenObserve is configured using the following environment variables. | ZO_TRACES_SPAN_METRICS_EXPORT_INTERVAL | 60 | Span metrics export interval in seconds. | | ZO_TRACES_SPAN_METRICS_CHANNEL_BUFFER | 100000 | Buffer size for the span metrics channel. | | ZO_TRACING_SEARCH_ENABLED | false | Enables tracing for search operations. | -| ZO_TRACING_ENABLED | false | No | enable it to send traces to remote trace server. | -| ZO_TRACING_HEADER_KEY | Authorization | No | remote trace server endpoint authentication header key. | -| ZO_TRACING_HEADER_VALUE | - / e.g. Basic gjdsgfksgkfjgdskfgsdlfglsjdg | No | remote trace server endpoint authentication header value. | -| ZO_TRACING_SEARCH_ENABLED | false | No | | -| OTEL_OTLP_HTTP_ENDPOINT | - / e.g. https://api.openobserve.ai/api/default | No | remote trace server endpoint. | +| ZO_TRACING_ENABLED | false | enable it to send traces to remote trace server. | +| ZO_TRACING_HEADER_KEY | Authorization| Remote trace server endpoint authentication header key. | +| ZO_TRACING_HEADER_VALUE | - / e.g. Basic gjdsgfksgkfjgdskfgsdlfglsjdg | remote trace server endpoint authentication header value. | +| ZO_TRACING_SEARCH_ENABLED | false | Enables tracing for search operations. | +| OTEL_OTLP_HTTP_ENDPOINT | - / e.g. https://api.openobserve.ai/api/default | Remote trace server endpoint. | ## Tokio Console | Environment Variable | Default Value | Description | | -------------------------------- | ------------- | --------------------------------------------------- | | ZO_TOKIO_CONSOLE_SERVER_ADDR | 0.0.0.0 | Address for the Tokio console server. | -| ZO_TOKIO_CONSOLE_SERVER_PORT | 6699 | Port for the Tokio console server | +| ZO_TOKIO_CONSOLE_SERVER_PORT | 6699 | Port for the Tokio console server. | | ZO_TOKIO_CONSOLE_RETENTION | 60 | Retention period in seconds for Tokio console data. | ## Profiling @@ -516,7 +513,7 @@ OpenObserve is configured using the following environment variables. | ZO_META_POSTGRES_DSN | - | If you enable postgres as meta store, you need configure the database source address, like this: postgres://postgres:12345678@localhost:5432/openobserve | | ZO_META_MYSQL_DSN | - | set this if you want to use MySQL as metadata and filelist store. | | ZO_META_CONNECTION_POOL_MIN_SIZE | - | Minimum number of connections created in the connection pool size for postgres, sqlite, and mysql. Defaults to cpu_limits | -| ZO_META_CONNECTION_POOL_MAX_SIZE | - | Maximum number of connections created in the connection pool size for postgres, sqlite, and mysql. Defaults to cpu_limits * 2 | +| ZO_META_CONNECTION_POOL_MAX_SIZE | - | Maximum number of connections created in the connection pool size for postgres, sqlite, and mysql. Defaults to `cpu_limits * 2` | > For local mode, OpenObserve use SQLite as the metadata store. > For cluster mode, OpenObserve use PostgreSQL (recommended) or MySQL as the metadata store. @@ -531,59 +528,58 @@ OpenObserve is configured using the following environment variables. ## Usage Reporting | Environment Variable | Default Value | Description | | ----------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| ZO_USAGE_REPORTING_ENABLED | false | Enable usage reporting. This will start capturing how much data has been ingested across each org/stream. You can use this info to enable charge back for internal teams. | -| ZO_USAGE_ORG | meta | To which org the usage data should be sent. | -| ZO_USAGE_BATCH_SIZE | 2000 | How many requests should be batched before flushing the usage data from memory to disk | -| ZO_USAGE_REPORTING_MODE | local | local mode means the usage will be reported only in the internal cluster of ZO_USAGE_ORG. remote mode means that the usage reporting will be ingested to the remote target. both ingests the usage reports both to internal and remote target. | -| ZO_USAGE_REPORTING_URL | [http://localhost:5080/api/_meta/usage/_json](http://localhost:5080/api/_meta/usage/_json) | In case of remote or both value of ZO_USAGE_REPORTING_MODE, this URL is used to post the usage reports to remote target. | -| ZO_USAGE_REPORTING_CREDS | - | The credentials required to send along with the post request to the ZO_USAGE_REPORTING_URL. E.g. - Basic cm9vdEBleGFtcGxlLmNvbTpDb21wbGV4UGFzcyMxMjM=. | -| ZO_USAGE_PUBLISH_INTERVAL | 600 | Duration in seconds after the last reporting usage will be published. +| ZO_USAGE_REPORTING_ENABLED | false | Enable usage reporting. This will start capturing how much data has been ingested across each org/stream. You can use this info to enable charge back for internal teams. | +| ZO_USAGE_ORG | meta | To which org the usage data should be sent. | +| ZO_USAGE_BATCH_SIZE | 2000 | How many requests should be batched before flushing the usage data from memory to disk. | +| ZO_USAGE_REPORTING_MODE | local | Local mode means the usage will be reported only in the internal cluster of ZO_USAGE_ORG. remote mode means that the usage reporting will be ingested to the remote target. both ingests the usage reports both to internal and remote target. | +| ZO_USAGE_REPORTING_URL | [http://localhost:5080/api/_meta/usage/_json](http://localhost:5080/api/_meta/usage/_json) | In case of remote or both value of ZO_USAGE_REPORTING_MODE, this URL is used to post the usage reports to remote target. | +| ZO_USAGE_REPORTING_CREDS | - | The credentials required to send along with the post request to the ZO_USAGE_REPORTING_URL. E.g. - Basic cm9vdEBleGFtcGxlLmNvbTpDb21wbGV4UGFzcyMxMjM=. | +| ZO_USAGE_PUBLISH_INTERVAL | 600 | Duration in seconds after the last reporting usage will be published. | ## SMTP -| Environment Variable | Default Value | Mandatory | Description | -| -------------------- | ------------- | --------- | --------------------------------------------------------------------------- | -| ZO_SMTP_ENABLED | `false` | No | Indicates if smtp configuration is present. | -| ZO_SMTP_HOST | `localhost` | No | The SMTP host to connect to. | -| ZO_SMTP_PORT | 25 | No | The SMTP port to connect to. | -| ZO_SMTP_USER_NAME | "" | No | SMTP user name. `Required` when using smtp. | -| ZO_SMTP_PASSWORD | "" | No | SMTP user password. `Required` when using smtp. | -| ZO_SMTP_REPLY_TO | "" | No | The user email whom people can reply to. | -| ZO_SMTP_FROM_EMAIL | "" | No | The user email that is going to send the email. `Required` when using smtp. | -| ZO_SMTP_ENCRYPTION | "" | No | Smtp encryption method. Possible values - `ssltls`, `starttls` and "" (in case of localhost smtp). | +| Environment Variable | Default Value| Description | +| -------------------- | --------- | --------------------------------------------------------------------------- | +| ZO_SMTP_ENABLED | false | Indicates if smtp configuration is present. | +| ZO_SMTP_HOST | `localhost` | The SMTP host to connect to.| +| ZO_SMTP_PORT | 25 | The SMTP port to connect to. | +| ZO_SMTP_USER_NAME | | SMTP user name. `Required` when using smtp. | +| ZO_SMTP_PASSWORD | | SMTP user password. `Required` when using smtp. | +| ZO_SMTP_REPLY_TO | | The user email whom people can reply to. | +| ZO_SMTP_FROM_EMAIL | | The user email that is going to send the email. `Required` when using smtp. | +| ZO_SMTP_ENCRYPTION | | SMTP encryption method. Possible values are `ssltls`, `starttls` and "" (in case of localhost smtp). | ## Streaming search -| Environment Variable | Default Value | Mandatory | Description | -| -------------------------------- | ------------- | --------- | ------------------------------------------------------- | -| ZO_STREAMING_ENABLED | true | No | Enables streaming search. | -| ZO_STREAMING_RESPONSE_CHUNK_SIZE_MB | 1 | No | Size in megabytes for each chunk when streaming search responses. | +| Environment Variable | Default Value| Description | +| -------------------------------- | --------- | ------------------------------------------------------- | +| ZO_STREAMING_ENABLED | true | Enables streaming search. | +| ZO_STREAMING_RESPONSE_CHUNK_SIZE_MB | 1 | Size in megabytes for each chunk when streaming search responses. | ## Rate limiting -| Environment Variable | Default Value | Mandatory | Description | -| -------------------------------- | ------------- | --------- | ------------------------------------------------------- | -| O2_RATE_LIMIT_ENABLED | false | No | Enables rate limiting. | -| O2_RATE_LIMIT_RULE_REFRESH_INTERVAL | 10 | No | Refresh interval for rate limit rules in seconds. | +| Environment Variable | Default Value | Description | +| -------------------------------- | --------- | ------------------------------------------------------- | +| O2_RATE_LIMIT_ENABLED | false | Enables rate limiting. | +| O2_RATE_LIMIT_RULE_REFRESH_INTERVAL | 10 | Refresh interval for rate limit rules in seconds. | ## Quick mode -| Environment Variable | Default Value | Mandatory | Description | -| -------------------------------- | ------------- | --------- | ------------------------------------------------------- | -| ZO_QUICK_MODE_ENABLED | false | No | Indicates if quick mode is enabled. | -| ZO_QUICK_MODE_NUM_FIELDS | 500 | No | The number of fields to consider for quick mode. | -| ZO_QUICK_MODE_STRATEGY | "" | No | Possible values - `first`, `last`, `both` | +| Environment Variable | Default Value | Description | +| -------------------------------- | --------- | ------------------------------------------------------- | +| ZO_QUICK_MODE_ENABLED | false | Indicates if quick mode is enabled. | +| ZO_QUICK_MODE_NUM_FIELDS | 500 | The number of fields to consider for quick mode. | +| ZO_QUICK_MODE_STRATEGY | | Possible values are `first`, `last`, `both`. | ## Miscellaneous | Environment Variable | Default Value | Description | |---------------------|---------------|-------------| | ZO_STARTING_EXPECT_QUERIER_NUM | 0 | The number of queriers expected to be running while caching enrichment tables. | -| ZO_QUERY_PARTITION_MIN_SECS | 600 | (seconds) | -| ZO_QUERY_THREAD_NUM | - | number of threads for searching in data files. | +| ZO_QUERY_THREAD_NUM | - | The number of threads for searching in data files. | | ZO_QUERY_TIMEOUT | 600 | Default timeout of query, unit: seconds | | ZO_QUERY_INDEX_THREAD_NUM | 0 | Controls thread count for Tantivy index search. Set to 0 to use default: CPU cores × 4. Set a positive integer to override. 0 does not mean unlimited. | | ZO_QUERY_OPTIMIZATION_NUM_FIELDS | 1000 | Field count threshold used by query optimizations. | @@ -607,78 +603,76 @@ OpenObserve is configured using the following environment variables. --- - - -!!! Note "Note" - The following environment variables are available only in the Enterprise edition. - - ## Super-Cluster -| Environment Variable | Default Value | Mandatory | Description | -| ---------------------------- | ------------- | --------- | ----------------------------------------------- | -| O2_SUPER_CLUSTER_ENABLED | `false` | No | Indicates if super cluster is enabled. | -| O2_SUPER_CLUSTER_REGION | default | No | Region of super cluster. | -| O2_SUPER_CLUSTER_PUBLIC_ADDR | "" | No | Public address of super cluster. | -| O2_SUPER_CLUSTER_PUBLIC_PORT | "" | No | Public port of super cluster (in case of gRPC). | -| O2_SUPER_CLUSTER_GRPC_TOKEN | "" | No | gRPC token. | +> The following environment variables are available only in the Enterprise edition. -## Search-Group +| Environment Variable | Default Value | Description | +| ---------------------------- | ------------- | ----------------------------------------------- | +| O2_SUPER_CLUSTER_ENABLED | false | Indicates if super cluster is enabled. | +| O2_SUPER_CLUSTER_REGION | default | Region of super cluster. | +| O2_SUPER_CLUSTER_PUBLIC_ADDR | | Public address of super cluster. | +| O2_SUPER_CLUSTER_PUBLIC_PORT | | Public port of super cluster (in case of gRPC). | +| O2_SUPER_CLUSTER_GRPC_TOKEN | | gRPC token. | -| Environment Variable | Default Value | Mandatory | Description | -| --------------------------------------- | ------------- | --------- | ------------------- | -| O2_SEARCH_GROUP_LONG_MAX_CPU | `80%` | No | | -| O2_SEARCH_GROUP_LONG_MAX_MEMORY | `80%` | No | | -| O2_SEARCH_GROUP_LONG_MAX_CONCURRENCY | `2` | No | | -| O2_SEARCH_GROUP_SHORT_MAX_CPU | `20%` | No | | -| O2_SEARCH_GROUP_SHORT_MAX_CONCURRENCY | `4` | No | | -| O2_SEARCH_GROUP_SHORT_MAX_MEMORY | `20%` | No | | -| O2_SEARCH_GROUP_BASE_SPEED | `1024` | No | Base speed in MB. | -| O2_SEARCH_GROUP_BASE_SECS | `10` | No | Base speed in secs. | +## Search-Group +> The following environment variables are available only in the Enterprise edition. + +| Environment Variable | Default Value | Description | +| --------------------------------------- | ------------- | ------------------- | +| O2_SEARCH_GROUP_LONG_MAX_CPU | 80% | The percentage of CPU allocated to long queries. | +| O2_SEARCH_GROUP_LONG_MAX_MEMORY | 80% |The percentage of memory allocated to long queries. | +| O2_SEARCH_GROUP_LONG_MAX_CONCURRENCY | 2 |Maximum number of concurrent long queries.| +| O2_SEARCH_GROUP_SHORT_MAX_CPU | 20% |Percentage of CPU allocated to short queries.| +| O2_SEARCH_GROUP_SHORT_MAX_CONCURRENCY | 4 |Maximum number of concurrent short queries.| +| O2_SEARCH_GROUP_SHORT_MAX_MEMORY | 20% |Percentage of memory allocated to short queries.| +| O2_SEARCH_GROUP_BASE_SPEED | 1024 | Base speed in MB. | +| O2_SEARCH_GROUP_BASE_SECS | 10 | Base speed in secs. | ## OpenFGA - -| Environment Variable | Default Value | Mandatory | Description | -| ---------------------------------- | ------------------------------ | --------- | ---------------------------------------------------------------------------- | -| O2_OPENFGA_ENABLED | `false` | No | Indicates if openfga is enabled. | -| O2_OPENFGA_BASE_URL | `http://127.0.0.1:8080/stores` | No | The base URL of openfga stores server. **Required** when openfga is enabled. | -| O2_OPENFGA_STORE_NAME | `openobserve` | No | OpenFGA store name. **Required** when openfga is enabled. | -| O2_MAP_GROUP_TO_ROLE | `false` | No | If true, the group claims are mapped into roles in the default org. | -| O2_OPENFGA_PAGE_SIZE | `100` | No | The page size used for openfga queries. | -| O2_OPENFGA_LIST_ONLY_PERMITTED | `false` | No | If `true`, openobserve only lists resources that have `GET` permission. | -| O2_MAP_GROUP_TO_ROLE_SKIP_CREATION | `true` | No | Used with `O2_MAP_GROUP_TO_ROLE`. Skips creating the roles mapped from group claims assuming they already exists. | +> The following environment variables are available only in the Enterprise edition. + +| Environment Variable | Default Value | Description | +| ---------------------------------- | --------- | ---------------------------------------------------------------------------- | +| O2_OPENFGA_ENABLED | false| Indicates if openfga is enabled. | +| O2_OPENFGA_BASE_URL | `http://127.0.0.1:8080/stores` | The base URL of openfga stores server. **Required** when openfga is enabled. | +| O2_OPENFGA_STORE_NAME | `openobserve` | OpenFGA store name. **Required** when openfga is enabled. | +| O2_MAP_GROUP_TO_ROLE | false | If true, the group claims are mapped into roles in the default org. | +| O2_OPENFGA_PAGE_SIZE | `100`| The page size used for openfga queries. | +| O2_OPENFGA_LIST_ONLY_PERMITTED | false | If true, openobserve only lists resources that have `GET` permission. | +| O2_MAP_GROUP_TO_ROLE_SKIP_CREATION | true | Used with `O2_MAP_GROUP_TO_ROLE`. Skips creating the roles mapped from group claims assuming they already exists. | ## DEX - -| Environment Variable | Default Value | Mandatory | Description | -| --------------------------- | --------------------------- | --------- | ------------------------------------------------------------------- | -| O2_DEX_ENABLED | false | No | Enables SSO in OpenObserve using Dex. | -| O2_DEX_CLIENT_ID | - | No | Client id of static client. **Required** when dex is enabled. | -| O2_DEX_CLIENT_SECRET | - | No | Client secret of static client. **Required** when dex is enabled. | -| O2_DEX_BASE_URL | `http://127.0.0.1:5556/dex` | No | URL of the Dex identity provider. **Required** when dex is enabled. | -| O2_CALLBACK_URL | - | No | Set this value to `/web/cb`, after successful token received from dex, user will be redirected to this page. **Required** when dex is enabled. | -| O2_DEX_REDIRECT_URL | - | No | Set this value to `/config/redirect`, Should match to redirect uri specified in dex. **Required** when dex is enabled. | -| O2_DEX_SCOPES | openid profile email groups offline_access | No | scopes to be fetched from dex. | -| O2_DEX_GROUP_ATTRIBUTE | ou | No | Maps user to OpenObserve organization. | -| O2_DEX_ROLE_ATTRIBUTE | cn | No | User's role in the organization. | -| O2_DEX_DEFAULT_ORG | default | No | Default organization for users not belonging to any group in ldap | -| O2_DEX_AUTH_EP_SUFFIX | `/auth` | No | Suffix for dex authentication endpoint | -| O2_DEX_TOKEN_EP_SUFFIX | `/token` | No | Suffix for dex token endpoint | -| O2_DEX_KEYS_EP_SUFFIX | `/keys` | No | Suffix for dex keys endpoint | -| O2_DEX_AUTH_EP_SUFFIX | `/auth` | No | Suffix for dex authentication endpoint | -| O2_DEX_NATIVE_LOGIN_ENABLED | `true` | No | Indicates if native dex login is enabled. | +> The following environment variables are available only in the Enterprise edition. + +| Environment Variable | Default Value |Description | +| --------------------------- | --------------------------- | ------------------------------------------------------------------- | +| O2_DEX_ENABLED | false | Enables SSO in OpenObserve using Dex. | +| O2_DEX_CLIENT_ID | - | Client id of static client. **Required** when dex is enabled. | +| O2_DEX_CLIENT_SECRET | - | Client secret of static client. **Required** when dex is enabled. | +| O2_DEX_BASE_URL | `http://127.0.0.1:5556/dex` | URL of the Dex identity provider. **Required** when dex is enabled. | +| O2_CALLBACK_URL | - | Set this value to `/web/cb`, after successful token received from dex, user will be redirected to this page. **Required** when dex is enabled. | +| O2_DEX_REDIRECT_URL | - | Set this value to `/config/redirect`, Should match to redirect uri specified in dex. **Required** when dex is enabled. | +| O2_DEX_SCOPES | openid profile email groups offline_access | Scopes to be fetched from dex. | +| O2_DEX_GROUP_ATTRIBUTE | ou | Maps user to OpenObserve organization. | +| O2_DEX_ROLE_ATTRIBUTE | cn | User's role in the organization. | +| O2_DEX_DEFAULT_ORG | default | Default organization for users not belonging to any group in ldap. | +| O2_DEX_TOKEN_EP_SUFFIX | `/token` | Suffix for dex token endpoint.| +| O2_DEX_KEYS_EP_SUFFIX | `/keys` | Suffix for dex keys endpoint. | +| O2_DEX_AUTH_EP_SUFFIX | `/auth` | Suffix for dex authentication endpoint. | +| O2_DEX_NATIVE_LOGIN_ENABLED | true | Indicates if native dex login is enabled. | ## Other Enterprise Features -| Environment Variable | Default Value | Mandatory | Description | -| ------------------------- | ------------- | --------- | --------------------------------------------------------------------------------------- | -| O2_AUDIT_ENABLED | `false` | No | Indicates if audit reporting is enabled. | -| O2_AUDIT_BATCH_SIZE | 500 | No | How many requests should be batched before flushing the audit data from memory to disk. | -| O2_CUSTOM_LOGO_TEXT | "" | No | Custom logo text that will appear along with the openobserve logo. | -| O2_CUSTOM_SLACK_URL | "" | No | Custom slack URL that will be used by the `Slack` menu on the openobserve UI. | -| O2_CUSTOM_DOCS_URL | "" | No | Custom docs URL that will be used by the `docs` tab on the openobserve UI. | -| O2_CUSTOM_HIDE_MENUS | "" | No | comma(',') separated menu items that should not be shown in the menu on openobserve UI. E.g. - `metrics,traces` | +| Environment Variable | Default Value | Description | +| ------------------------- | ------------- | --------------------------------------------------------------------------------------- | +| O2_AUDIT_ENABLED | false | Indicates if audit reporting is enabled. | +| O2_AUDIT_BATCH_SIZE | 500 | How many requests should be batched before flushing the audit data from memory to disk. | +| O2_CUSTOM_LOGO_TEXT | | Custom logo text that will appear along with the openobserve logo. | +| O2_CUSTOM_SLACK_URL | | Custom slack URL that will be used by the `Slack` menu on the openobserve UI. | +| O2_CUSTOM_DOCS_URL | | Custom docs URL that will be used by the `docs` tab on the openobserve UI. | +| O2_CUSTOM_HIDE_MENUS | | Comma-separated menu items that should not be shown in the menu on openobserve UI. For example, `metrics,traces`. | @@ -750,7 +744,7 @@ OpenObserve is configured using the following environment variables. | ZO_COMPACT_DATA_RETENTION_HISTORY | false | No | If enabled this will move the `file_list` into `file_list_history` and not delete files from storage. | | ZO_COMPACT_BLOCKED_ORGS | "" | No | Use comma to split multiple orgs. Blocked organizations will not be able to ingest data | | ZO_COMPACT_FAST_MODE | true | No | Enable fast mode compact, will use more memory but faster, disable it will reduce 50% memory | -| ZO_TELEMETRY | true | No | Send anonymous telemetry info for improving OpenObserve. You can disable by set it to `false` | +| ZO_TELEMETRY | true | No | Send anonymous telemetry info for improving OpenObserve. You can disable by set it to false | | ZO_TELEMETRY_URL | https://e1.zinclabs.dev | No | OpenTelemetry report URL. You can report to your own server. | | ZO_HEARTBEAT_INTERVAL | 30 | No | OpenTelemetry report frequency. unit is: minutes, default is 30m | | ZO_PROMETHEUS_ENABLED | false | No | Enables prometheus metrics on /metrics endpoint | @@ -767,8 +761,8 @@ OpenObserve is configured using the following environment variables. | RUST_LOG | info | No | log level, default is info, supports: error, warn, info, debug, trace | | ZO_BASE_URI | "" | No | Change it in case you are hosting at a subpath e.g. www.example.com/openobserve | | ZO_BULK_RESPONSE_INCLUDE_ERRORS_ONLY | false | No | When using _bulk API which is compatible with Elasticsearch do not respond with records that succeeded. This allows for higher performance by returing smaller amount of data. | -| ZO_ALLOW_USER_DEFINED_SCHEMAS | false | No | If `true`, it allows user defined schemas for a stream. | -| ZO_SKIP_FORMAT_STREAM_NAME | false | No | If `true`, it skip formatting stream name while ingestion. | +| ZO_ALLOW_USER_DEFINED_SCHEMAS | false | No | If true, it allows user defined schemas for a stream. | +| ZO_SKIP_FORMAT_STREAM_NAME | false | No | If true, it skip formatting stream name while ingestion. | | ZO_CONCATENATED_SCHEMA_FIELD_NAME | _all | No | | | ZO_STARTING_EXPECT_QUERIER_NUM | 0 | No | The number of queriers expected to be running while caching enrichment tables. | | ZO_QUERY_OPTIMIZATION_NUM_FIELDS | 1000 | No | | @@ -784,8 +778,8 @@ OpenObserve is configured using the following environment variables. | ZO_ACTIX_REQ_TIMEOUT | 30 | No | Sets actix server client timeout in seconds for first request. | | ZO_ACTIX_KEEP_ALIVE | 30 | No | Sets actix server keep-alive preference in seconds. | | ZO_ACTIX_SHUTDOWN_TIMEOUT | | No | Sets timeout for graceful worker shutdown of actix workers. | -| ZO_COOKIE_SAME_SITE_LAX | true | No | If `true`, same site "lax" cookie is set by the server while authentication. | -| ZO_COOKIE_SECURE_ONLY | false | No | If `true`, secure flag is enabled for the cookie set by the server while authentication. | +| ZO_COOKIE_SAME_SITE_LAX | true | No | If true, same site "lax" cookie is set by the server while authentication. | +| ZO_COOKIE_SECURE_ONLY | false | No | If true, secure flag is enabled for the cookie set by the server while authentication. | | ZO_DISTINCT_VALUES_INTERVAL | | No | | | ZO_DISTINCT_VALUES_HOURLY | | No | | | ZO_INGEST_ALLOWED_UPTO | 5 | No | allow historical data ingest up to `now - 5 hours` data, default 5 hours, unit: hours | @@ -813,7 +807,7 @@ OpenObserve is configured using the following environment variables. | ZO_INGEST_ALLOWED_IN_FUTURE | 24 | No | Discards events dated beyond the specified number of future hours. By default, OpenObserve accepts data only if it is not timestamped more than 24 hours into the future.| | ZO_QUERY_INDEX_THREAD_NUM | 0 | No | Controls thread count for Tantivy index search. Set to `0` to use default: `CPU cores × 4`. Set a positive integer to override. `0` does not mean unlimited.| | ZO_SEARCH_INSPECTOR_ENABLED | false | No | Controls search inspector feature for detailed search operation tracing. When enabled, tracks search operations with `trace_id` and generates extensive logs for debugging. | -| ZO_UTF8_VIEW_ENABLED | true | No | When set to `true`, this environment variable activates DataFusion's StringView optimization in OpenObserve, which automatically converts UTF8 string fields to the more efficient UTF8View data type during query processing. | +| ZO_UTF8_VIEW_ENABLED | true | No | When set to true, this environment variable activates DataFusion's StringView optimization in OpenObserve, which automatically converts UTF8 string fields to the more efficient UTF8View data type during query processing. | > For local mode, OpenObserve use sqlite as the metadata store. @@ -859,24 +853,24 @@ OpenObserve is configured using the following environment variables. | Environment Variable | Default Value | Mandatory | Description | | ----------------------------------- | ----------------- | --------- | ----------- | -| ZO_CHROME_ENABLED | `false` | No | When `true`, it looks for chromium executable. Required for dashboard reports. | +| ZO_CHROME_ENABLED | false | No | When true, it looks for chromium executable. Required for dashboard reports. | | ZO_CHROME_PATH | - | No | If chrome is enabled, custom chrome executable path can be specified. If not specified, it looks for chrome executable in default locations. If still not found, it automatically downloads a good known version of chromium. | -| ZO_CHROME_CHECK_DEFAULT_PATH | `true` | No | If `false`, it skips default locations (e.g. CHROME env, usual chrome file path etc.) when looking for chrome executable. | -| ZO_CHROME_NO_SANDBOX | `false` | No | If true, it launches chromium in no-sandbox environment. | +| ZO_CHROME_CHECK_DEFAULT_PATH | true | No | If false, it skips default locations (e.g. CHROME env, usual chrome file path etc.) when looking for chrome executable. | +| ZO_CHROME_NO_SANDBOX | false | No | If true, it launches chromium in no-sandbox environment. | | ZO_CHROME_SLEEP_SECS | 20 | No | Specify the number of timeout seconds the headless chrome will wait until all the dashboard data is loaded. | -| ZO_CHROME_WITH_HEAD | `false` | No | If `true`, it launches the chromium browser in non-headless mode. | +| ZO_CHROME_WITH_HEAD | false | No | If true, it launches the chromium browser in non-headless mode. | | ZO_CHROME_WINDOW_WIDTH | 1370 | No | Specifies the width of the headless chromium browser. | | ZO_CHROME_WINDOW_HEIGHT | 730 | No | Specifies the height of the headless chromium browser. | -| ZO_CHROME_AUTO_DOWNLOAD | `false` | No | Only used by the report-server. If `true`, the report-server automatically downloads a good known version of chromium if chromium is not found in the system. **Note:** If auto download of chromium is desired, make sure that the system has all the required dependency libraries of chromium already installed. | +| ZO_CHROME_AUTO_DOWNLOAD | false | No | Only used by the report-server. If true, the report-server automatically downloads a good known version of chromium if chromium is not found in the system. **Note:** If auto download of chromium is desired, make sure that the system has all the required dependency libraries of chromium already installed. | | ZO_SCHEDULER_MAX_RETRIES | 3 | No | The maximum number of times the scheduler will retry processing the alert/report. If exceeded, the scheduler will skip to the next trigger time of the alert/report. | | ZO_SCHEDULER_CLEAN_INTERVAL | 30 | No | The interval in seconds after which the scheduler will clean up the completed scheduled jobs. | | ZO_REPORT_USER_NAME | "" | No | The username that will be used by the headless chromium to login into openobserve and generate report. | | ZO_REPORT_USER_PASSWORD | "" | No | The password that will be used by the headless chromium to login into openobserve and generate report. | -| ZO_ENABLE_EMBEDDED_REPORT_SERVER | `false` | No | If true, the alert manager (for which this ENV is enabled) spawns a new report-server running on PORT `5082` (default, can be changed through `ZO_REPORT_SERVER_HTTP_PORT`). | +| ZO_ENABLE_EMBEDDED_REPORT_SERVER | false | No | If true, the alert manager (for which this ENV is enabled) spawns a new report-server running on PORT `5082` (default, can be changed through `ZO_REPORT_SERVER_HTTP_PORT`). | | ZO_REPORT_SERVER_HTTP_PORT | `5082` | No | The port used by the newly spawned report-server. | | ZO_REPORT_SERVER_HTTP_ADDR | `127.0.0.1` | No | The ip address used by the newly spawned report-server. | | ZO_REPORT_SERVER_URL | `localhost:5082` | No | The report server server URL. E.g. - `https://report-server.example.com/api`. | -| ZO_REPORT_SERVER_SKIP_TLS_VERIFY | `false` | No | If `true`, it will skip tls verification while making request to report-server from alert manager. | +| ZO_REPORT_SERVER_SKIP_TLS_VERIFY | false | No | If true, it will skip tls verification while making request to report-server from alert manager. | **NOTE:** For report-server to work correctly, `ZO_WEB_URL`, `ZO_BASE_URI` (if any) and `ZO_REPORT_SERVER_URL` must be specified for every alert managers. @@ -966,7 +960,7 @@ OpenObserve is configured using the following environment variables. | Environment Variable | Default Value | Mandatory | Description | | -------------------- | ------------- | --------- | --------------------------------------------------------------------------- | -| ZO_SMTP_ENABLED | `false` | No | Indicates if smtp configuration is present. | +| ZO_SMTP_ENABLED | false | No | Indicates if smtp configuration is present. | | ZO_SMTP_HOST | `localhost` | No | The SMTP host to connect to. | | ZO_SMTP_PORT | 25 | No | The SMTP port to connect to. | | ZO_SMTP_USER_NAME | "" | No | SMTP user name. `Required` when using smtp. | @@ -1036,7 +1030,7 @@ Below are the Environment variables only available in the enterprise edition. | Environment Variable | Default Value | Mandatory | Description | | ------------------------- | ------------- | --------- | --------------------------------------------------------------------------------------- | -| O2_AUDIT_ENABLED | `false` | No | Indicates if audit reporting is enabled. | +| O2_AUDIT_ENABLED | false | No | Indicates if audit reporting is enabled. | | O2_AUDIT_BATCH_SIZE | 500 | No | How many requests should be batched before flushing the audit data from memory to disk. | | O2_CUSTOM_LOGO_TEXT | "" | No | Custom logo text that will appear along with the openobserve logo. | | O2_CUSTOM_SLACK_URL | "" | No | Custom slack URL that will be used by the `Slack` menu on the openobserve UI. | @@ -1047,7 +1041,7 @@ Below are the Environment variables only available in the enterprise edition. | Environment Variable | Default Value | Mandatory | Description | | ---------------------------- | ------------- | --------- | ----------------------------------------------- | -| O2_SUPER_CLUSTER_ENABLED | `false` | No | Indicates if super cluster is enabled. | +| O2_SUPER_CLUSTER_ENABLED | false | No | Indicates if super cluster is enabled. | | O2_SUPER_CLUSTER_REGION | default | No | Region of super cluster. | | O2_SUPER_CLUSTER_PUBLIC_ADDR | "" | No | Public address of super cluster. | | O2_SUPER_CLUSTER_PUBLIC_PORT | "" | No | Public port of super cluster (in case of gRPC). | @@ -1070,13 +1064,13 @@ Below are the Environment variables only available in the enterprise edition. | Environment Variable | Default Value | Mandatory | Description | | ---------------------------------- | ------------------------------ | --------- | ---------------------------------------------------------------------------- | -| O2_OPENFGA_ENABLED | `false` | No | Indicates if openfga is enabled. | +| O2_OPENFGA_ENABLED | false | No | Indicates if openfga is enabled. | | O2_OPENFGA_BASE_URL | `http://127.0.0.1:8080/stores` | No | The base URL of openfga stores server. **Required** when openfga is enabled. | | O2_OPENFGA_STORE_NAME | `openobserve` | No | OpenFGA store name. **Required** when openfga is enabled. | -| O2_MAP_GROUP_TO_ROLE | `false` | No | If true, the group claims are mapped into roles in the default org. | +| O2_MAP_GROUP_TO_ROLE | false | No | If true, the group claims are mapped into roles in the default org. | | O2_OPENFGA_PAGE_SIZE | `100` | No | The page size used for openfga queries. | -| O2_OPENFGA_LIST_ONLY_PERMITTED | `false` | No | If `true`, openobserve only lists resources that have `GET` permission. | -| O2_MAP_GROUP_TO_ROLE_SKIP_CREATION | `true` | No | Used with `O2_MAP_GROUP_TO_ROLE`. Skips creating the roles mapped from group claims assuming they already exists. | +| O2_OPENFGA_LIST_ONLY_PERMITTED | false | No | If true, openobserve only lists resources that have `GET` permission. | +| O2_MAP_GROUP_TO_ROLE_SKIP_CREATION | true | No | Used with `O2_MAP_GROUP_TO_ROLE`. Skips creating the roles mapped from group claims assuming they already exists. | ## DEX @@ -1096,7 +1090,7 @@ Below are the Environment variables only available in the enterprise edition. | O2_DEX_TOKEN_EP_SUFFIX | `/token` | No | Suffix for dex token endpoint | | O2_DEX_KEYS_EP_SUFFIX | `/keys` | No | Suffix for dex keys endpoint | | O2_DEX_AUTH_EP_SUFFIX | `/auth` | No | Suffix for dex authentication endpoint | -| O2_DEX_NATIVE_LOGIN_ENABLED | `true` | No | Indicates if native dex login is enabled. | +| O2_DEX_NATIVE_LOGIN_ENABLED | true | No | Indicates if native dex login is enabled. | --> \ No newline at end of file