permalink |
---|
/ |
local enterprise-metrics = import "github.com/grafana/jsonnet-libs/enterprise-metrics/main.libsonnet"
enterprise-metrics
produces Kubernetes manifests for a Grafana Enterprise Metrics cluster.
-
string _config.adminTokenSecretName
obj _config.commonArgs
bool _config.commonArgs.auth.multitenancy-enabled
bool _config.commonArgs.auth.type
string _config.commonArgs.cluster-name
string _config.commonArgs.instrumentation.distributor-client.address
string _config.commonArgs.instrumentation.enabled
string _config.commonArgs.memberlist.join
string _config.commonArgs.runtime-config.file
string _config.license.path
string _config.licenseSecretName
-
-
bool adminApi.args.admin-api.leader-election.enabled
string adminApi.args.admin-api.leader-election.ring.store
bool adminApi.args.auth.multitenancy-enabled
bool adminApi.args.auth.type
string adminApi.args.cluster-name
string adminApi.args.instrumentation.distributor-client.address
string adminApi.args.instrumentation.enabled
string adminApi.args.memberlist.join
string adminApi.args.runtime-config.file
-
-
-
string alertmanager.args.alertmanager-storage.s3.bucket-name
bool alertmanager.args.auth.multitenancy-enabled
bool alertmanager.args.auth.type
string alertmanager.args.cluster-name
string alertmanager.args.instrumentation.distributor-client.address
string alertmanager.args.instrumentation.enabled
string alertmanager.args.memberlist.join
string alertmanager.args.runtime-config.file
-
-
-
bool compactor.args.auth.multitenancy-enabled
bool compactor.args.auth.type
string compactor.args.cluster-name
string compactor.args.instrumentation.distributor-client.address
string compactor.args.instrumentation.enabled
string compactor.args.memberlist.join
string compactor.args.runtime-config.file
-
-
-
bool distributor.args.auth.multitenancy-enabled
bool distributor.args.auth.type
string distributor.args.cluster-name
string distributor.args.instrumentation.distributor-client.address
string distributor.args.instrumentation.enabled
string distributor.args.memberlist.join
string distributor.args.runtime-config.file
-
-
-
bool gateway.args.auth.multitenancy-enabled
bool gateway.args.auth.type
string gateway.args.cluster-name
string gateway.args.gateway.proxy.admin-api.url
string gateway.args.gateway.proxy.alertmanager.url
string gateway.args.gateway.proxy.compactor.url
string gateway.args.gateway.proxy.distributor.url
string gateway.args.gateway.proxy.ingester.url
string gateway.args.gateway.proxy.query-frontend.url
string gateway.args.gateway.proxy.ruler.url
string gateway.args.gateway.proxy.store-gateway.url
string gateway.args.instrumentation.distributor-client.address
string gateway.args.instrumentation.enabled
string gateway.args.memberlist.join
string gateway.args.runtime-config.file
-
-
-
-
bool overridesExporter.args.auth.multitenancy-enabled
bool overridesExporter.args.auth.type
string overridesExporter.args.cluster-name
string overridesExporter.args.instrumentation.distributor-client.address
string overridesExporter.args.instrumentation.enabled
string overridesExporter.args.memberlist.join
string overridesExporter.args.runtime-config.file
-
-
-
-
bool queryFrontend.args.auth.multitenancy-enabled
bool queryFrontend.args.auth.type
string queryFrontend.args.cluster-name
string queryFrontend.args.instrumentation.distributor-client.address
string queryFrontend.args.instrumentation.enabled
string queryFrontend.args.memberlist.join
string queryFrontend.args.runtime-config.file
-
-
-
bool queryScheduler.args.auth.multitenancy-enabled
bool queryScheduler.args.auth.type
string queryScheduler.args.cluster-name
string queryScheduler.args.instrumentation.distributor-client.address
string queryScheduler.args.instrumentation.enabled
string queryScheduler.args.memberlist.join
string queryScheduler.args.runtime-config.file
-
-
-
bool ruler.args.auth.multitenancy-enabled
bool ruler.args.auth.type
string ruler.args.cluster-name
string ruler.args.instrumentation.distributor-client.address
string ruler.args.instrumentation.enabled
string ruler.args.memberlist.join
string ruler.args.ruler-storage.s3.bucket-name
string ruler.args.runtime-config.file
-
-
-
bool storeGateway.args.auth.multitenancy-enabled
bool storeGateway.args.auth.type
string storeGateway.args.cluster-name
string storeGateway.args.instrumentation.distributor-client.address
string storeGateway.args.instrumentation.enabled
string storeGateway.args.memberlist.join
string storeGateway.args.runtime-config.file
-
-
_config
is used for consumer overrides and configuration. Similar to a Helm values.yaml file
*Default value: * gem-admin-token
When generating an admin token using the tokengen
target, the result is written to the Kubernetes
Secret adminTokenSecretName
.
There are two versions of the token in the Secret: token
is the raw token obtained from the tokengen
,
and grafana-token
is a base64 encoded version that can be used directly when provisioning Grafana
via configuration file.
To retrieve these tokens from Kubernetes using kubectl
:
$ kubectl get secret gem-admin-token -o jsonpath="{.data.token}" | base64 --decode ; echo
$ kubectl get secret gem-admin-token -o jsonpath="{.data.grafana-token}" | base64 --decode ; echo
commonArgs
is a convenience field that can be used to modify the container arguments of all modules as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
*Default value: * /etc/gem-license/license.jwt
license.path
configures where this component expects to find a Grafana Enterprise Metrics License.
*Default value: * gem-license
The admin-api expects a Grafana Enterprise Metrics license configured as 'license.jwt' in the
Kubernetes Secret with licenseSecretName
.
To create the Kubernetes Secret from a local 'license.jwt' file:
$ kubectl create secret generic gem-license -from-file=license.jwt
_images
contains fields for container images.
*Default value: * grafana/metrics-enterprise:v2.0.1
gem
is the Grafana Enterprise Metrics container image.
*Default value: * bitnami/kubectl
kubectl
is the image used for kubectl containers.
adminApi
has configuration for the admin-api.
args
is a convenience field that can be used to modify the admin-api container arguments as key value pairs.
*Default value: * true
admin-api.leader-election.enabled
enables leader election for to avoid inconsistent state with parallel writes when multiple replicas of the admin-api are running.
*Default value: * memberlist
admin-api.leader-election.ring.store
is the type of key-value store to use for admin-api leader election.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the admin-api container.
deployment
is the Kubernetes Deployment for the admin-api.
service
is the Kubernetes Service for the admin-api.
alertmanager
has configuration for the alertmanager. To disable the alertmanager, ensure the alertmanager object field is hidden
args
is a convenience field that can be used to modify the alertmanager container arguments as key-value pairs.
*Default value: * alertmanager
alertmanager-storage.s3.bucket-name
is the name of the bucket in which the alertmanager data will be stored.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the alertmanager container.
persistentVolumeClaim
is a convenience field that can be used to modify the alertmanager PersistentVolumeClaim.
service
is the Kubernetes Service for the alertmanager.
statefulSet
is the Kubernetes StatefulSet for the alertmanager.
compactor
has configuration for the compactor.
args
is a convenience field that can be used to modify the compactor container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the compactor container.
persistentVolumeClaim
is a convenience field that can be used to modify the compactor PersistentVolumeClaim.
service
is the Kubernetes Service for the compactor.
statefulSet
is the Kubernetes StatefulSet for the compactor.
distributor
has configuration for the distributor.
args
is a convenience field that can be used to modify the distributor container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the distributor container.
service
is the Kubernetes Service for the distributor.
deployment
is the Kubernetes Deployment for the distributor.
gateway
has configuration for the gateway.
args
is a convenience field that can be used to modify the gateway container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * http://admin-api
`gateway.proxy.admin-api.url is the upstream URL of the admin-api.
*Default value: * http://alertmanager
`gateway.proxy.alertmanager.url is the upstream URL of the alertmanager.
*Default value: * http://compactor
`gateway.proxy.compactor.url is the upstream URL of the compactor.
*Default value: * dns:///distributor:9095
`gateway.proxy.distributor.url is the upstream URL of the distributor.
*Default value: * http://ingester
`gateway.proxy.ingester.url is the upstream URL of the ingester.
*Default value: * http://query-frontend
`gateway.proxy.query-frontend.url is the upstream URL of the query-frontend.
*Default value: * http://ruler
`gateway.proxy.ruler.url is the upstream URL of the ruler.
*Default value: * http://store-gateway
`gateway.proxy.store-gateway.url is the upstream URL of the store-gateway.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the gateway container.
deployment
is the Kubernetes Deployment for the gateway.
service
is the Kubernetes Service for the gateway.
gossipRing
is used by microservices to discover other memberlist members.
service
is the Kubernetes Service for the gossip ring.
ingester
has configuration for the ingester.
args
is a convenience field that can be used to modify the ingester container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the ingester container.
persistentVolumeClaim
is a convenience field that can be used to modify the ingester PersistentVolumeClaim. It is recommended to use a fast storage class.
podDisruptionBudget
is the Kubernetes PodDisruptionBudget for the ingester.
service
is the Kubernetes Service for the ingester.
statefulSet
is the Kubernetes StatefulSet for the ingester.
memcached
has configuration for GEM caches.
chunks
is a cache for time series chunks.
frontend
is a cache for query-frontend query results.
metadata
is cache for object store metadata used by the queriers and store-gateways.
queries
is a cache for index queries used by the store-gateways.
overridesExporter
has configuration for the overrides-exporter.
args
is a convenience field that can be used to modify the overrides-exporter container arguments as key value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the overrides-exporter container.
deployment
is the Kubernetes Deployment for the overrides-exporter.
service
is the Kubernetes Service for the overrides-exporter.
querier
has configuration for the querier.
args
is a convenience field that can be used to modify the querier container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the querier container.
deployment
is the Kubernetes Deployment for the querier.
service
is the Kubernetes Service for the querier.
queryFrontend
has configuration for the query-frontend.
args
is a convenience field that can be used to modify the query-frontend container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the query-frontend container.
deployment
is the Kubernetes Deployment for the query-frontend.
discoveryService
is a headless Kubernetes Service used by queriers to discover query-frontend addresses.
service
is the Kubernetes Service for the query-frontend.
queryScheduler
has configuration for the query-scheduler.
args
is a convenience field that can be used to modify the query-scheduler container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the query-scheduler container.
deployment
is the Kubernetes Deployment for the query-scheduler.
discoveryService
is a headless Kubernetes Service used by queriers to discover query-scheduler addresses.
service
is the Kubernetes Service for the query-scheduler.
ruler
has configuration for the ruler.
args
is a convenience field that can be used to modify the ruler container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
*Default value: * ruler
ruler-storage.s3.bucket-name
is the name of the bucket in which the ruler data will be stored.
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the ruler container.
deployment
is the Kubernetes Deployment for the ruler.
service
is the Kubernetes Service for the ruler.
runtime
has configuration for runtime overrides.
config
is a convenience field for modifying the runtime configuration.
configMap
is the Kubernetes ConfigMap containing the runtime configuration.
overrides
are per tenant runtime limits overrides.
Each field should be keyed by tenant ID and have an object value containing the specific overrides.
For example:
{
tenantId: {
max_global_series_per_user: 150000,
max_global_series_per_metric: 20000,
ingestion_rate: 10000,
ingestion_burst_size: 200000,
ruler_max_rules_per_rule_group: 20,
ruler_max_rule_groups_per_tenant: 35,
},
}
storeGateway
has configuration for the store-gateway.
args
is a convenience field that can be used to modify the store-gateway container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field that can be used to modify the store-gateway container.
persistentVolumeClaim
is a convenience field that can be used to modify the store-gateway PersistentVolumeClaim.
podDisruptionBudget
is the Kubernetes PodDisruptionBudget for the store-gateway.
service
is the Kubernetes Service for the store-gateway.
statefulSet
is the Kubernetes StatefulSet for the store-gateway.
tokengen
has configuration for tokengen.
By default the tokengen object is hidden as it is a one-off task. To deploy the tokengen job, unhide the tokengen object field.
args
is convenience field for modifying the tokegen container arguments as key-value pairs.
*Default value: * true
auth.multitenancy-enabled
enables multitenancy
*Default value: * enterprise
auth.type
configures the type of authentication in use.
enterprise
uses Grafana Enterprise token authentication.
default
uses Cortex authentication.
cluster-name
is the cluster name associated with your Grafana Enterprise Metrics license.
*Default value: * dns:///distributor:9095
instrumentation.distributor-client.address
specifies the gRPGC listen address of the distributor service to which the self-monitoring metrics are pushed. Must be a DNS address (dns:///
) to enable client side load balancing.
*Default value: * true
instrumentation.enabled
enables self-monitoring metrics recorded under the system instance
*Default value: * gossip-ring
memberlist.join
is an address used to find memberlist peers for ring gossip
runtime-config.file
provides a reloadable runtime configuration file for some specific configuration.
container
is a convenience field for modifying the tokengen container.
By default, the container runs GEM with the tokengen target and writes the token to a file.
createSecretContainer
creates a Kubernetes Secret from a token file.
job
is the Kubernetes Job for tokengen
role
is the Kubernetes Role for tokengen
roleBinding
is the Kubernetes RoleBinding for tokengen
serviceAccount
is the Kubernetes ServiceAccount for tokengen
util
contains utility functions for working with the GEM Jsonnet library
mapModules(fn)
mapModules
applies the function fn to each module in the GEM cluster
modules
is an array of the names of all modules in the cluster