Configuration

SigNoz provides multiple methods to configure your installation. This document outlines the available configuration options and their usage. It also outlines some common use cases and how to achieve them.

Info

Follow Issue#6805 on Github for an update on the implementation status of configuration options.

Configuration Options

YAML Configuration Files (under development)

SigNoz accepts configuration through YAML files using the --config flag. You can specify multiple configuration files that will be merged during startup:

signoz --config base.yaml --config override.yaml

Precedence Rules

When multiple configuration files are specified:

  • Files are merged from right to left
  • Values in later files take precedence over earlier files
  • In the example above, settings in override.yaml will override any conflicting settings in base.yaml

Available Options

For a comprehensive list of all available configuration options, refer to our example configuration file. The file is continuously updated with new options as they are added.

Environment Variables

All configuration options can be specified or overridden using environment variables. This provides flexibility for different deployment scenarios and container-based environments.

Naming Convention

Environment variables in SigNoz follow a specific naming convention to ensure consistency and prevent conflicts:

  1. SIGNOZ Prefix

    • All environment variables must start with SIGNOZ_
  2. YAML Path Translation

    • YAML configuration paths are converted to uppercase
    • Dots (.) in YAML paths become underscores (_)
    • Example:
      web.enabled: true
      
      becomes:
      SIGNOZ_WEB_ENABLED=true
      
  3. Handling Underscores

    • Original underscores in YAML keys are converted to double underscores (__)
    • This prevents ambiguity between dots and underscores in the original configuration
    • Example:
      sqlstore.max_open_conns: 10
      
      becomes:
      SIGNOZ_SQLSTORE_MAX__OPEN__CONNS=10
      

Examples

YAML ConfigurationEnvironment Variable
web.enabled: trueSIGNOZ_WEB_ENABLED=true
sqlstore.max_open_conns: 10SIGNOZ_SQLSTORE_MAX__OPEN__CONNS=10

Environment variables take precedence over values specified in configuration files.

Was this page helpful?