Classes
thanos
: This module manages Thanosthanos::bucket_web
: This class manages bucket web interface servicethanos::compact
: This class manages compact servicethanos::config
: This class manages configuration filesthanos::downsample
: This class manages downsample servicethanos::install
: This class install Thanos requirements and binaries.thanos::query
: This class manages query servicethanos::rule
: This class manages rule servicethanos::sidecar
: This class manages sidecar servicethanos::store
: This class manages store service
Defined types
thanos::config::index_cache
: Manage Index cache configuration file.thanos::config::storage
: Manage Storage configuration file.thanos::config::tracing
: Manage Tracing configuration file.thanos::resources::service
: This defined type create component's service.
Data types
Thanos::Index_cache_type
: Thanos index cache typeThanos::Log_level
: Thanos Log Level typeThanos::Storage_type
: Thanos Storage typeThanos::Tracing_type
: Thanos Tracing type
Init class of Thanos module. It can installes Thanos binaries and manages components as single Service.
include thanos
The following parameters are available in the thanos
class.
Data type: Pattern[/\d+\.\d+\.\d+/]
Thanos release. See https://github.com/thanos-io/thanos/releases
Data type: String
Operating system.
Default value: downcase($facts['kernel'])
Data type: Boolean
Whether to create a service to run Sidecar.
Default value: false
Data type: Boolean
Whether to create a service to run Query.
Default value: false
Data type: Boolean
Whether to create a service to run Rule.
Default value: false
Data type: Boolean
Whether to create a service to run Store.
Default value: false
Data type: Boolean
Whether to create a service to run Compact.
Default value: false
Data type: Boolean
Whether to create a service to run Downsample.
Default value: false
Data type: Boolean
Whether to create a service to run Bucket Web interface.
Default value: false
Data type: Enum['url', 'package', 'none']
Installation method: url or package (only url is supported currently).
Default value: 'url'
Data type: Enum['present', 'absent', 'latest']
If package, then use this for package ensure default 'latest'.
Default value: 'latest'
Data type: String
Thanos package name - not available yet.
Default value: 'thanos'
Data type: Stdlib::HTTPUrl
Base URL for thanos.
Default value: 'https://github.com/thanos-io/thanos/releases/download'
Data type: String
Extension of Thanos binaries archive.
Default value: 'tar.gz'
Data type: Optional[Stdlib::HTTPUrl]
Complete URL corresponding to the Thanos release, default to undef.
Default value: undef
Data type: Stdlib::Absolutepath
Base directory where Thanos is extracted.
Default value: '/opt'
Data type: Stdlib::Absolutepath
Directory where binaries are located.
Default value: '/usr/local/bin'
Data type: Stdlib::Absolutepath
Directory where configuration are located.
Default value: '/etc/thanos'
Data type: Boolean
Purge configuration directory.
Default value: true
Data type: Stdlib::Absolutepath
Data directory of TSDB.
Default value: '/data'
Data type: Boolean
Whether to create user for thanos or rely on external code for that.
Default value: true
Data type: Boolean
Whether to create user for thanos or rely on external code for that.
Default value: true
Data type: String
User running thanos.
Default value: 'thanos'
Data type: String
Group under which thanos is running.
Default value: 'thanos'
Data type: Stdlib::Absolutepath
if requested, we create a user for thanos. The default shell is false. It can be overwritten to any valid path.
Default value: '/bin/false'
Data type: Array[String]
Add other groups to the managed user.
Default value: []
Data type: Optional[String]
Custom command passed to the archive resource to extract the downloaded archive.
Default value: undef
Data type: Boolean
Whether to manage storage configuration file.
Default value: false
Data type: Stdlib::Absolutepath
Path to storage configuration file.
Default value: "${config_dir}/storage.yaml"
Data type: Hash[String, Data]
Storage configuration. type: one of ['S3', 'GCS', 'AZURE', 'SWIFT', 'COS', 'ALIYUNOSS', 'FILESYSTEM'] config: storage typed configuration in Hash[String, Data]
Default value: {}
Data type: Boolean
Whether to manage tracing configuration file
Default value: false
Data type: Optional[Stdlib::Absolutepath]
Path to tracing configuration file.
Default value: undef
Data type: Hash[String, Data]
Tracing configuration. type: one of ['JAEGER', 'STACKDRIVER', 'ELASTIC_APM', 'LIGHTSTEP'] config: tracing typed configuration in Hash[String, Data]
Default value: {}
Data type: Boolean
Whether to manage index cache configuration file
Default value: false
Data type: Optional[Stdlib::Absolutepath]
Path to index cache configuration file.
Default value: undef
Data type: Hash[String, Data]
Index cache configuration. type: one of ['IN-MEMORY', 'MEMCACHED'] config: index cache typed configuration in Hash[String, Data]
Default value: {}
This class install Web interface for remote storage bucket.
include thanos::bucket_web
The following parameters are available in the thanos::bucket_web
class.
Data type: Enum['present', 'absent']
State ensured from compact service.
Default value: 'present'
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
Path where binary is located.
Default value: $thanos::bin_path
Data type: Thanos::Log_level
Only log messages with the given severity or above. One of: [debug, info, warn, error, fatal]
Default value: 'info'
Data type: Enum['logfmt', 'json']
Output format of log messages. One of: [logfmt, json]
Default value: 'logfmt'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file with tracing configuration. See format details: https://thanos.io/tracing.md/#configuration
Default value: $thanos::tracing_config_file
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains object store configuration. See format details: https://thanos.io/storage.md/#configuration
Default value: $thanos::storage_config_file
Data type: String
Listen host:port for HTTP endpoints.
Default value: '0.0.0.0:10902'
Data type: String
Time to wait after an interrupt received for HTTP Server.
Default value: '2m'
Data type: String
Static prefix for all HTML links and redirect URLs in the bucket web UI interface. Actual endpoints are still served on / or the web.route-prefix. This allows thanos bucket web UI to be served behind a reverse proxy that strips a URL sub-path.
Default value: ''
Data type: String
Name of HTTP request header used for dynamic prefixing of UI links and redirects. This option is ignored if web.external-prefix argument is set. Security risk: enable this option only if a reverse proxy in front of thanos is resetting the header. The --web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a sub-path.
Default value: ''
Data type: String
Refresh interval to download metadata from remote storage
Default value: '30m'
Data type: String
Timeout to download metadata from remote storage
Default value: '5m'
Data type: String
Prometheus label to use as timeline title
Default value: ''
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
This class install Compact as service to continuously compacts blocks in an object store bucket.
include thanos::compact
The following parameters are available in the thanos::compact
class.
Data type: Enum['present', 'absent']
State ensured from compact service.
Default value: 'present'
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
Path where binary is located.
Default value: $thanos::bin_path
Data type: Thanos::Log_level
Only log messages with the given severity or above. One of: [debug, info, warn, error, fatal]
Default value: 'info'
Data type: Enum['logfmt', 'json']
Output format of log messages. One of: [logfmt, json]
Default value: 'logfmt'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file with tracing configuration. See format details: https://thanos.io/tracing.md/#configuration
Default value: $thanos::tracing_config_file
Data type: String
Listen host:port for HTTP endpoints.
Default value: '0.0.0.0:10902'
Data type: String
Time to wait after an interrupt received for HTTP Server.
Default value: '2m'
Data type: Optional[Stdlib::Absolutepath]
Data directory in which to cache blocks and process compactions.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains object store configuration. See format details: https://thanos.io/storage.md/#configuration
Default value: $thanos::storage_config_file
Data type: String
Minimum age of fresh (non-compacted) blocks before they are being processed. Malformed blocks older than the maximum of consistency-delay and 30m0s will be removed.
Default value: '30m'
Data type: String
How long to retain raw samples in bucket. 0d - disables this retention
Default value: '0d'
Data type: String
How long to retain samples of resolution 1 (5 minutes) in bucket. 0d - disables this retention
Default value: '0d'
Data type: String
How long to retain samples of resolution 2 (1 hour) in bucket. 0d - disables this retention
Default value: '0d'
Data type: Boolean
Do not exit after all compactions have been processed and wait for new work.
Default value: false
Data type: Boolean
Disables downsampling. This is not recommended as querying long time ranges without non-downsampled data is not efficient and useful e.g it is not possible to render all samples for a human eye anyway
Default value: false
Data type: Integer
Number of goroutines to use when syncing block metadata from object storage.
Default value: 20
Data type: Integer
Number of goroutines to use when compacting groups.
Default value: 1
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
Default value: undef
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
This class install and manage configuration files like object store and tracing.
include thanos::config
The following parameters are available in the thanos::config
class.
Data type: Boolean
Whether to manage storage configuration file.
Default value: $thanos::manage_storage_config
Data type: Optional[Stdlib::Absolutepath]
Path to storage configuration file.
Default value: $thanos::storage_config_file
Data type: Hash[String, Data]
Storage configuration. type: one of ['S3', 'GCS', 'AZURE', 'SWIFT', 'COS', 'ALIYUNOSS', 'FILESYSTEM'] config: storage typed configuration in Hash[String, Data]
Default value: $thanos::storage_config
Data type: Boolean
Whether to manage tracing configuration file
Default value: $thanos::manage_tracing_config
Data type: Optional[Stdlib::Absolutepath]
Path to tracing configuration file.
Default value: $thanos::tracing_config_file
Data type: Hash[String, Data]
Tracing configuration. type: one of ['JAEGER', 'STACKDRIVER', 'ELASTIC_APM', 'LIGHTSTEP'] config: tracing typed configuration in Hash[String, Data]
Default value: $thanos::tracing_config
Data type: Boolean
Whether to manage index cache configuration file
Default value: $thanos::manage_index_cache_config
Data type: Optional[Stdlib::Absolutepath]
Path to index cache configuration file.
Default value: $thanos::index_cache_config_file
Data type: Hash[String, Data]
Index cache configuration. type: one of ['IN-MEMORY', 'MEMCACHED'] config: index cache typed configuration in Hash[String, Data]
Default value: $thanos::index_cache_config
This class install Downsample as service continuously downsamples blocks in an object store bucket.
include thanos::downsample
The following parameters are available in the thanos::downsample
class.
Data type: Enum['present', 'absent']
State ensured from compact service.
Default value: 'present'
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
Path where binary is located.
Default value: $thanos::bin_path
Data type: Thanos::Log_level
Only log messages with the given severity or above. One of: [debug, info, warn, error, fatal]
Default value: 'info'
Data type: Enum['logfmt', 'json']
Output format of log messages. One of: [logfmt, json]
Default value: 'logfmt'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file with tracing configuration. See format details: https://thanos.io/tracing.md/#configuration
Default value: $thanos::tracing_config_file
Data type: String
Listen host:port for HTTP endpoints.
Default value: '0.0.0.0:10902'
Data type: String
Time to wait after an interrupt received for HTTP Server.
Default value: '2m'
Data type: Optional[Stdlib::Absolutepath]
Data directory in which to cache blocks and process downsamplings.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains object store configuration. See format details: https://thanos.io/storage.md/#configuration
Default value: $thanos::storage_config_file
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
This class install Thanos requirements and binaries.
include thanos::install
The following parameters are available in the thanos::install
class.
Data type: Pattern[/\d+\.\d+\.\d+/]
Thanos release. See https://github.com/thanos-io/thanos/releases
Default value: $thanos::version
Data type: String
Thanos package name - not available yet.
Default value: $thanos::package_name
Data type: String
Operating system.
Default value: $thanos::os
Data type: String
Architecture (amd64 or arm64).
Default value: $thanos::real_arch
Data type: Enum['present', 'absent', 'latest']
If package, then use this for package ensurel default 'latest'.
Default value: $thanos::package_ensure
Data type: Enum['url', 'package', 'none']
Installation method: url or package (only url is supported currently).
Default value: $thanos::install_method
Data type: String
Extension of Thanos binaries archive.
Default value: $thanos::download_extension
Data type: Stdlib::HTTPUrl
Complete URL corresponding to the Prometheus release, default to undef.
Default value: $thanos::real_download_url
Data type: Optional[String]
Custom command passed to the archive resource to extract the downloaded archive.
Default value: $thanos::extract_command
Data type: Stdlib::Absolutepath
Base directory where Thanos is extracted.
Default value: $thanos::base_dir
Data type: Stdlib::Absolutepath
Directory where binaries are located.
Default value: $thanos::bin_dir
Data type: Stdlib::Absolutepath
Directory where configuration are located.
Default value: $thanos::config_dir
Data type: Boolean
Purge configuration directory.
Default value: $thanos::purge_config_dir
Data type: Array[Type[Resource]]
Services to notify when binaries changed.
Default value: $thanos::notify_services
Data type: Boolean
Whether to create user for thanos or rely on external code for that.
Default value: $thanos::manage_user
Data type: Boolean
Whether to create user for thanos or rely on external code for that.
Default value: $thanos::manage_group
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
if requested, we create a user for thanos. The default shell is false. It can be overwritten to any valid path.
Default value: $thanos::usershell
Data type: Array[String]
Add other groups to the managed user.
Default value: $thanos::extra_groups
This class install Query as service query node exposing PromQL enabled Query API with data retrieved from multiple store nodes.
include thanos::query
The following parameters are available in the thanos::query
class.
Data type: Enum['present', 'absent']
State ensured from compact service.
Default value: 'present'
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
Path where binary is located.
Default value: $thanos::bin_path
Data type: Thanos::Log_level
Only log messages with the given severity or above. One of: [debug, info, warn, error, fatal]
Default value: 'info'
Data type: Enum['logfmt', 'json']
Output format of log messages. One of: [logfmt, json]
Default value: 'logfmt'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file with tracing configuration. See format details: https://thanos.io/tracing.md/#configuration
Default value: $thanos::tracing_config_file
Data type: String
Listen host:port for HTTP endpoints.
Default value: '0.0.0.0:10902'
Data type: String
Time to wait after an interrupt received for HTTP Server.
Default value: '2m'
Data type: String
Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components.
Default value: '0.0.0.0:10901'
Data type: String
Time to wait after an interrupt received for GRPC Server.
Default value: '2m'
Data type: Optional[Stdlib::Absolutepath]
TLS Certificate for gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS Key for the gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert)
Default value: undef
Data type: Boolean
Use TLS when talking to the gRPC server
Default value: false
Data type: Optional[Stdlib::Absolutepath]
TLS Certificates to use to identify this client to the server
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS Key for the client's certificate
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS CA Certificates to use to verify gRPC servers
Default value: undef
Data type: Optional[String]
Server name to verify the hostname on the returned gRPC certificates. See https://tools.ietf.org/html/rfc4366#section-3.1
Default value: undef
Data type: Optional[String]
Prefix for API and UI endpoints. This allows thanos UI to be served on a sub-path. This option is analogous to --web.route-prefix of Promethus.
Default value: undef
Data type: Optional[String]
Static prefix for all HTML links and redirect URLs in the UI query web interface. Actual endpoints are still served on / or the web.route-prefix. This allows thanos UI to be served behind a reverse proxy that strips a URL sub-path.
Default value: undef
Data type: Optional[String]
Name of HTTP request header used for dynamic prefixing of UI links and redirects. This option is ignored if web.external-prefix argument is set. Security risk: enable this option only if a reverse proxy in front of thanos is resetting the header. The --web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is served via Traefik reverse proxy with PathPrefixStrip option enabled, which sends the stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a sub-path.
Default value: undef
Data type: String
Maximum time to process query by query node.
Default value: '2m'
Data type: Integer
Maximum number of queries processed concurrently by query node.
Default value: 20
Data type: Optional[String]
Labels to treat as a replica indicator along which data is deduplicated. Still you will be able to query without deduplication using 'dedup=false' parameter.
Default value: undef
Data type: Array[String]
Query selector labels that will be exposed in info endpoint.
Default value: []
Data type: Array[String]
Addresses of statically configured store API servers. The scheme may be prefixed with 'dns+' or 'dnssrv+' to detect store API servers through respective DNS lookups.
Default value: []
Data type: Array[Stdlib::Absolutepath]
Path to files that contain addresses of store API servers. The path can be a glob pattern.
Default value: []
Data type: String
Refresh interval to re-read file SD files. It is used as a resync fallback.
Default value: '5m'
Data type: String
Interval between DNS resolutions.
Default value: '30s'
Data type: String
Timeout before an unhealthy store is cleaned from the store UI page.
Default value: '30s'
Data type: Boolean
Enable automatic adjustment (step / 5) to what source of data should be used in store gateways if no max_source_resolution param is specified.
Default value: false
Data type: Boolean
Enable partial response for queries if no partial_response param is specified. --no-query.partial-response for disabling.
Default value: false
Data type: String
Set default evaluation interval for sub queries.
Default value: '1m'
Data type: String
If a Store doesn't send any data in this specified duration then a Store will be ignored and partial data will be returned if it's enabled. 0 disables timeout.
Default value: '0ms'
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
This class install Rule as service ruler evaluating Prometheus rules against given Query nodes, exposing Store API and storing old blocks in bucket.
include thanos::rule
The following parameters are available in the thanos::rule
class.
Data type: Enum['present', 'absent']
State ensured from compact service.
Default value: 'present'
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
Path where binary is located.
Default value: $thanos::bin_path
Data type: Thanos::Log_level
Only log messages with the given severity or above. One of: [debug, info, warn, error, fatal]
Default value: 'info'
Data type: Enum['logfmt', 'json']
Output format of log messages. One of: [logfmt, json]
Default value: 'logfmt'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file with tracing configuration. See format details: https://thanos.io/tracing.md/#configuration
Default value: $thanos::tracing_config_file
Data type: String
Listen host:port for HTTP endpoints.
Default value: '0.0.0.0:10902'
Data type: String
Time to wait after an interrupt received for HTTP Server.
Default value: '2m'
Data type: String
Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components.
Default value: '0.0.0.0:10901'
Data type: String
Time to wait after an interrupt received for GRPC Server.
Default value: '2m'
Data type: Optional[Stdlib::Absolutepath]
TLS Certificate for gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS Key for the gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert)
Default value: undef
Data type: Array[String]
Labels to be applied to all generated metrics. Similar to external labels for Prometheus, used to identify ruler and its blocks as unique source.
Default value: []
Data type: Optional[Stdlib::Absolutepath]
Data directory.
Default value: undef
Data type: Array[Stdlib::Absolutepath]
Rule files that should be used by rule manager. Can be in glob format.
Default value: []
Data type: String
Minimum amount of time to wait before resending an alert to Alertmanager.
Default value: '1m'
Data type: String
The default evaluation interval to use.
Default value: '30s'
Data type: String
Block duration for TSDB block.
Default value: '2h'
Data type: String
Block retention time on local disk.
Default value: '48h'
Data type: Boolean
Compress the tsdb WAL.
Default value: false
Data type: Array[Stdlib::HTTPUrl]
Alertmanager replica URLs to push firing alerts. Ruler claims success if push to at least one alertmanager from discovered succeeds. The scheme may be prefixed with 'dns+' or 'dnssrv+' to detect Alertmanager IPs through respective DNS lookups. The port defaults to 9093 or the SRV record's value. The URL path is used as a prefix for the regular Alertmanager API path.
Default value: []
Data type: String
Timeout for sending alerts to alertmanager
Default value: '10s'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains alerting configuration. See format details: https://thanos.io/components/rule.md/#configuration. If defined, it takes precedence over the alertmanagers_url and alertmanagers_send_timeout options.
Default value: undef
Data type: String
Interval between DNS resolutions of Alertmanager hosts.
Default value: '30s'
Data type: Optional[Stdlib::HTTPUrl]
The external Thanos Query URL that would be set in all alerts 'Source' field
Default value: undef
Data type: Array[String]
Labels by name to drop before sending to alertmanager. This allows alert to be deduplicated on replica label. Similar Prometheus alert relabelling
Default value: []
Data type: Optional[String]
Prefix for API and UI endpoints. This allows thanos UI to be served on a sub-path. This option is analogous to --web.route-prefix of Prometheus.
Default value: undef
Data type: Optional[String]
Static prefix for all HTML links and redirect URLs in the UI query web interface. Actual endpoints are still served on / or the web.route-prefix. This allows thanos UI to be served behind a reverse proxy that strips a URL sub-path.
Default value: undef
Data type: Optional[String]
Name of HTTP request header used for dynamic prefixing of UI links and redirects. This option is ignored if web.external-prefix argument is set. Security risk: enable this option only if a reverse proxy in front of thanos is resetting the header. The --web.prefix-header=X-Forwarded-Prefix option can be useful, for example, if Thanos UI is served via Traefik reverse proxy with PathPrefixStrip option enabled, hich sends the stripped prefix value in X-Forwarded-Prefix header. This allows thanos UI to be served on a sub-path.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains object store configuration. See format details: https://thanos.io/storage.md/#configuration
Default value: undef
Data type: Array[String]
Addresses of statically configured query API servers. The scheme may be prefixed with 'dns+' or 'dnssrv+' to detect query API servers through respective DNS lookups.
Default value: []
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains query API servers configuration. See format details: https://thanos.io/components/rule.md/#configuration. If defined, it takes precedence over the queries and query.sd-files options.
Default value: undef
Data type: Array[Stdlib::Absolutepath]
Path to file that contain addresses of query peers. The path can be a glob pattern.
Default value: []
Data type: String
Refresh interval to re-read file SD files. (used as a fallback)
Default value: '5m'
Data type: String
Interval between DNS resolutions.
Default value: '30s'
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
This class install Sidecar as service sidecar for Prometheus server.
include thanos::sidecar
The following parameters are available in the thanos::sidecar
class.
Data type: Enum['present', 'absent']
State ensured from compact service.
Default value: 'present'
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
Path where binary is located.
Default value: $thanos::bin_path
Data type: Thanos::Log_level
Only log messages with the given severity or above. One of: [debug, info, warn, error, fatal]
Default value: 'info'
Data type: Enum['logfmt', 'json']
Output format of log messages. One of: [logfmt, json]
Default value: 'logfmt'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file with tracing configuration. See format details: https://thanos.io/tracing.md/#configuration
Default value: $thanos::tracing_config_file
Data type: String
Listen host:port for HTTP endpoints.
Default value: '0.0.0.0:10902'
Data type: String
Time to wait after an interrupt received for HTTP Server.
Default value: '2m'
Data type: String
Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components.
Default value: '0.0.0.0:10901'
Data type: String
Time to wait after an interrupt received for GRPC Server.
Default value: '2m'
Data type: Optional[Stdlib::Absolutepath]
TLS Certificate for gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS Key for the gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert)
Default value: undef
Data type: Stdlib::HTTPUrl
URL at which to reach Prometheus's API. For better performance use local network.
Default value: 'http://localhost:9090'
Data type: String
Maximum time to wait for the Prometheus instance to start up
Default value: '10m'
Data type: Optional[Integer]
Controls the http MaxIdleConns. Default is 0, which is unlimited
Default value: undef
Data type: Integer
Controls the http MaxIdleConnsPerHost
Default value: 100
Data type: Stdlib::Absolutepath
Data directory of TSDB.
Default value: $thanos::tsdb_path
Data type: Optional[Stdlib::Absolutepath]
Config file watched by the reloader.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Output file for environment variable substituted config file.
Default value: undef
Data type: Array[Stdlib::Absolutepath]
Rule directories for the reloader to refresh.
Default value: []
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains object store configuration. See format details: https://thanos.io/storage.md/#configuration
Default value: undef
Data type: Boolean
If true sidecar will try to upload compacted blocks as well. Useful for migration purposes. Works only if compaction is disabled on Prometheus. Do it once and then disable the flag when done.
Default value: false
Data type: Optional[String]
Start of time range limit to serve. Thanos sidecar will serve only metrics, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y.
Default value: undef
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
This class install Store as service store node giving access to blocks in a bucket provider. Now supported GCS, S3, Azure, Swift and Tencent COS..
include thanos::store
The following parameters are available in the thanos::store
class.
Data type: Enum['present', 'absent']
State ensured from compact service.
Default value: 'present'
Data type: String
User running thanos.
Default value: $thanos::user
Data type: String
Group under which thanos is running.
Default value: $thanos::group
Data type: Stdlib::Absolutepath
Path where binary is located.
Default value: $thanos::bin_path
Data type: Thanos::Log_level
Only log messages with the given severity or above. One of: [debug, info, warn, error, fatal]
Default value: 'info'
Data type: Enum['logfmt', 'json']
Output format of log messages. One of: [logfmt, json]
Default value: 'logfmt'
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file with tracing configuration. See format details: https://thanos.io/tracing.md/#configuration
Default value: $thanos::tracing_config_file
Data type: String
Listen host:port for HTTP endpoints.
Default value: '0.0.0.0:10902'
Data type: String
Time to wait after an interrupt received for HTTP Server.
Default value: '2m'
Data type: String
Listen ip:port address for gRPC endpoints (StoreAPI). Make sure this address is routable from other components.
Default value: '0.0.0.0:10901'
Data type: String
Time to wait after an interrupt received for GRPC Server.
Default value: '2m'
Data type: Optional[Stdlib::Absolutepath]
TLS Certificate for gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS Key for the gRPC server, leave blank to disable TLS
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
TLS CA to verify clients against. If no client CA is specified, there is no client verification on server side. (tls.NoClientCert)
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Data directory in which to cache remote blocks.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains index cache configuration. See format details: https://thanos.io/components/store.md/#index-cache
Default value: undef
Data type: String
Maximum size of items held in the index cache.
Default value: '250MB'
Data type: String
Maximum size of concurrently allocatable bytes for chunks.
Default value: '2GB'
Data type: Integer
Maximum amount of samples returned via a single Series call. 0 means no limit. NOTE: for efficiency we take 120 as the number of samples in chunk (it cannot be bigger than that), so the actual number of samples might be lower, even though the maximum could be hit.
Default value: 0
Data type: Integer
Maximum number of concurrent Series calls.
Default value: 20
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains object store configuration. See format details: https://thanos.io/storage.md/#configuration
Default value: $thanos::storage_config_file
Data type: String
Repeat interval for syncing the blocks between local and remote view.
Default value: '3m'
Data type: Integer
Number of goroutines to use when syncing blocks from object storage.
Default value: 20
Data type: Optional[String]
Start of time range limit to serve. Thanos Store will serve only metrics, which happened later than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y.
Default value: undef
Data type: Optional[String]
End of time range limit to serve. Thanos Store will serve only blocks, which happened eariler than this value. Option can be a constant time in RFC3339 format or time duration relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path to YAML file that contains relabeling configuration that allows selecting blocks. It follows native Prometheus relabel-config syntax. See format details: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
Default value: undef
Data type: String
Minimum age of all blocks before they are being read.
Default value: '30m'
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
Manage Index cache configuration file.
thanos::config::index_cache { '/etc/thanos/index_cache.yaml':
ensure => 'present',
type => 'IN-MEMORY',
config => {
max_size => 0,
max_item_size => 0,
},
}
The following parameters are available in the thanos::config::index_cache
defined type.
Data type: Enum['present', 'absent']
State ensured from configuration file.
Data type: Thanos::Index_cache_type
Type of Index cache. One of ['IN-MEMORY', 'MEMCACHED']
Data type: Hash[String, Data]
Configuration to typed index cache.
Manage Storage configuration file.
thanos::config::storage { '/etc/thanos/storage.yaml':
ensure => 'present',
type => 'FILESYSTEM',
config => {
directory => '/data',
},
}
The following parameters are available in the thanos::config::storage
defined type.
Data type: Enum['present', 'absent']
State ensured from configuration file.
Data type: Thanos::Storage_type
Type of Storage configurarion. One of ['S3', 'GCS', 'AZURE', 'SWIFT', 'COS', 'ALIYUNOSS', 'FILESYSTEM']
Data type: Hash[String, Data]
Configuration to typed storage.
Manage Tracing configuration file
thanos::config::tracing { '/etc/thanos/tracing.yaml':
ensure => 'present',
type => 'JAEGER',
config => {...},
}
The following parameters are available in the thanos::config::tracing
defined type.
Data type: Enum['present', 'absent']
State ensured from configuration file.
Data type: Thanos::Tracing_type
Type of Tracing configurarion. One of ['JAEGER', 'STACKDRIVER', 'ELASTIC_APM', 'LIGHTSTEP']
Data type: Hash[String, Data]
Configuration to typed tracing.
This defined type create component's service.
thanos::resources::service { 'component_name':
ensure => 'running',
bin_path => '/usr/local/bin/thanos',
}
The following parameters are available in the thanos::resources::service
defined type.
Data type: Variant[Stdlib::Ensure::Service, Enum['absent']]
State ensured from component service.
Data type: Stdlib::Absolutepath
Path where binary is located.
Data type: String
User running thanos.
Data type: String
Group under which thanos is running.
Data type: Hash
Parameters passed to the binary.
Default value: {}
Data type: Hash
Parameters passed to the binary, ressently released in latest version of Thanos.
Default value: {}
Thanos index cache type
Alias of Enum['IN-MEMORY', 'MEMCACHED']
Thanos Log Level type
Alias of Enum['debug', 'info', 'warn', 'error', 'fatal']
Thanos Storage type
Alias of Enum['S3', 'GCS', 'AZURE', 'SWIFT', 'COS', 'ALIYUNOSS', 'FILESYSTEM']
Thanos Tracing type
Alias of Enum['JAEGER', 'STACKDRIVER', 'ELASTIC_APM', 'LIGHTSTEP']