## Path:        System/Monitoring/Prometheus
## Description: Configuration of Prometheus - modular monitoring system

## Type:        string
## Default:     "/etc/prometheus/prometheus.yml"
#
# Prometheus configuration file path.
#
CONFIG_FILE="/etc/prometheus/prometheus.yml"

## Type:        list("debug", "info", "warn", "error")
## Default:     "info"
#
# Only log messages with the given severity or above.
#
LOG_LEVEL="info"

## Path:        System/Monitoring/Prometheus/Web
## Description: Configuration of Prometheus Web interface

## Type:        string
## Default:     "0.0.0.0:9090"
#
# Address to listen on for UI, API, and telemetry.
#
WEB_LISTEN_ADDRESS="0.0.0.0:9090"

## Type:        string
## Default:     "5m"
#
# Maximum duration before timing out read of the request, and closing
# idle connections.
#
WEB_READ_TIMEOUT="5m"

## Type:        integer
## Default:     512
#
# Maximum number of simultaneous connections.
#
WEB_MAX_CONNECTIONS=512

## Type:        string
## Default:     ""
#
# The URL under which Prometheus is externally reachable (for example,
# if Prometheus is served via a reverse proxy). Used for generating relative and
# absolute links back to Prometheus itself. If the URL has a path portion,
# it will be used to prefix all HTTP endpoints served by Prometheus. If omitted,
# relevant URL components will be derived automatically.
#
WEB_EXTERNAL_URL=""

## Type:        string
## Default:     ""
#
# Prefix for the internal routes of web endpoints.
# Defaults to path of --web.external-url.
#
WEB_ROUTE_PREFIX=""

## Type:        string
## Default:     "/srv/prometheus"
#
# Path to static asset directory, available at /user.
#
WEB_USER_ASSETS="/srv/prometheus"

## Type:        list("", "--web.enable-lifecycle")
## Default:     ""
#
# Enable shutdown and reload via HTTP request.
#
WEB_ENABLE_LIFECYCLE=""

## Type:        list("", "--web.enable-admin-api")
## Default:     ""
#
# Enable API endpoints for admin control actions.
#
WEB_ENABLE_ADMIN_API=""

## Type:        string
## Default:     ""
#
# Path to the console template directory, available at /consoles.
#
WEB_CONSOLE_TEMPLATES=""

## Type:        string
## Default:     ""
#
# Path to the console library directory.
#
WEB_CONSOLE_LIBRARIES=""

## Path:        System/Monitoring/Prometheus/Storage
## Description: Configuration of Prometheus storage

## Type:        string
## Default:     "/var/lib/prometheus"
#
# Base path for metrics storage.
#
STORAGE_TSDB_PATH="/var/lib/prometheus"

## Type:        string
## Default:     "15d"
#
# How long to retain samples in storage.
#
STORAGE_TSDB_RETENTION="15d"

## Type:        list("", "--storage.tsdb.no-lockfile")
## Default:     ""
#
# Do not create lockfile in data directory.
#
STORAGE_TSDB_NO_LOCKFILE=""

## Type:        string
## Default:     "1m"
#
# How long to wait flushing sample on shutdown or config reload.
#
STORAGE_REMOTE_FLUSH_DEADLINE="1m"

## Path:        System/Monitoring/Prometheus/Alertmanager
## Description: Configuration of Prometheus Alertmanager

## Type:        integer
## Default:     10000
#
# The capacity of the queue for pending Alertmanager notifications.
#
ALERTMANAGER_NOTIFICATION_QUEUE_CAPACITY=10000

## Type:        string
## Default:     "10s"
#
# Timeout for sending alerts to Alertmanager.
#
ALERTMANAGER_TIMEOUT="10s"

## Path:        System/Monitoring/Prometheus/Alertmanager
## Description: Prometheus query parameters

## Type:        string
## Default:     "5m"
#
# The delta difference allowed for retrieving metrics during
# expression evaluations.
#
QUERY_LOOKBACK_DELTA="5m"

## Type:        string
## Default:     "2m"
#
# Maximum time a query may take before being aborted.
#
QUERY_TIMEOUT="2m"

## Type:        integer
## Default:     20
#
# The delta difference allowed for retrieving metrics during
# expression evaluations.
#
QUERY_MAX_CONCURRENCY=20
