# configuration options for pmproxy, pmseries and associated APIs
# uncomment/edit lines as required

#####################################################################
## general settings for the pmproxy(1) daemon
#####################################################################
[pmproxy]

# settings related to TLS certificates and keys
#certificates = /etc/pki/tls/certs/pcp.crt
#private_key = /etc/pki/tls/private/pcp.key
#authority = # PEM format file of acceptable client CAs
#cipher_list = # (TLSv2) colon-separated cipher list to be used
#cipher_suites = # (TLSv3) colon-separated cipher suites to be used

# maximum pending socket opens
#maxpending = 128

# delay in seconds for TCP keep-alive (zero to disable)
#keepalive = 45

# buffer size for chunked transfer encoding (bytes, default pagesize)
#chunksize = 4096

# support PCP protocol proxying
pcp.enabled = true

# serve the PCP REST APIs (HTTP)
http.enabled = true

# support Redis protocol proxying
redis.enabled = true

# support SSL/TLS protocol wrapping
secure.enabled = true

#####################################################################
## settings related to redis-server connections
#####################################################################
[redis]

# allow completely disabling any/all connection attempts across
# all of the pmproxy functionality (when this is set to false).
enabled = true

# connection spec(s) - could be any individual cluster host and
# every host in the cluster will be automatically discovered --
# alternately use comma-separated hostspecs (non-cluster setup).
servers = localhost:6379

# authentication with username and password is only supported in
# Redis 6+ (with ACL support), for versions prior to 6 only the
# password authentication is supported (leave the username value
# empty).  Commented or empty values disable authentication.
#username =
#password =

#####################################################################
## settings related to automatically discovered archives
#####################################################################
[discover]

# propogate archives from pmlogger(1) into Redis for querying
enabled = true

# comma-separated metrics name (globs) to skip during discovery
exclude.metrics = proc.*,acct.*

# comma-separated list of instance domains to skip during discovery
exclude.indoms = 3.9,3.40,79.7

#####################################################################
## settings for metric and indom help text searching via RediSearch
#####################################################################
[pmsearch]

# allow REST API queries and indexing of metric and indom help text
enabled = true

# default number of query results in a batch (paginated)
count = 10

#####################################################################
## settings for fast, scalable time series quering via Redis
#####################################################################
[pmseries]

# allow REST API queries of fast, scalable time series
enabled = true

# number of elements from scan calls (https://redis.io/commands/scan)
cursor.count = 256

# seconds to expire in-core series (https://redis.io/commands/expire)
# all metric values of a series (a series represents a specific metric
# and host combination) will be removed if there was no update to this
# series in the specified amount of time (in seconds)
stream.expire = 86400

# limit number of elements in series (https://redis.io/commands/xadd)
# number of metric values per series (per metric and host)
# this should be retention_time/logging_interval
stream.maxlen = 8640

#####################################################################
