跳转至

enterprise-logs-simple

Version: 1.0.0 Type: application AppVersion: v1.3.0

Grafana Enterprise Logs (Simple Scalable)

Homepage: https://grafana.com/products/enterprise/logs/

Deprecation warning

This chart is now deprecated and will no longer be updated. Grafana Enterprise Logs v1.4.0 is included in the loki-simple-scalable chart which implements Grafana Enterprise Logs as an option (enterprise.enabled: true).

Requirements

Kubernetes: ^1.10.0-0

Repository Name Version
https://grafana.github.io/helm-charts loki-simple-scalable ^0.3.0
https://helm.min.io/ minio 8.0.9

Values

Key Type Default Description
commonConfig object {"path_prefix":"/var/loki","replication_factor":3,"storage":{"s3":{"access_key_id":"enterprise-logs","bucketnames":"enterprise-logs-tsdb","endpoint":"{{ include \"enterprise-logs.minio\" . }}","insecure":true,"s3forcepathstyle":true,"secret_access_key":"supersecret"}}} Check https://grafana.com/docs/loki/latest/configuration/#common_config for more info on how to provide a common configuration
config string "auth:\n type: enterprise\n\nauth_enabled: true\n\nlicense:\n path: /etc/enterprise-logs/license/license.jwt\n\ncluster_name: {{ .Release.Name }}\n\n{{- if .Values.commonConfig}}\ncommon:\n{{- toYaml .Values.commonConfig | nindent 2}}\n{{- end}}\n\nserver:\n http_listen_port: 3100\n grpc_listen_port: 9095\n\nadmin_client:\n storage:\n # TODO: type should not be necessary\n type: s3\n s3:\n bucket_name: enterprise-logs-admin\n\ningester:\n max_chunk_age: '2h'\n\ningester_client:\n grpc_client_config:\n max_recv_msg_size: 104857600\n max_send_msg_size: 104857600\n\nlimits_config:\n enforce_metric_name: false\n reject_old_samples: true\n reject_old_samples_max_age: 168h\n max_cache_freshness_per_query: 10m\n\nmemberlist:\n join_members:\n - {{ include \"loki.fullname\" . }}-memberlist\n\nquerier:\n query_ingesters_within: 2h\n\n{{- if .Values.schemaConfig}}\nschema_config:\n{{- toYaml .Values.schemaConfig | nindent 2}}\n{{- end}}\n\n{{- if .Values.storageConfig}}\nstorage_config:\n{{- toYaml .Values.storageConfig | nindent 2}}\n{{- end}}\n\nruler:\n storage:\n s3:\n bucketnames: enterprise-logs-ruler\n enable_alertmanager_discovery: false\n enable_api: true\n enable_sharding: true\n" Grafana Enterprise Logs configuration file
externalConfigName string "enterprise-logs-config"
externalConfigVersion string "0"
externalLicenseName string "enterprise-logs-license"
externalLicenseVersion string "0"
fullnameOverride string nil Overrides the chart's computed fullname
image object {"pullPolicy":"IfNotPresent","pullSecrets":[],"registry":"docker.io","repository":"grafana/enterprise-logs","tag":"v1.3.0"} Definition of the Docker image for Grafana Enterprise Logs If the image block is overwritten in a custom values file, it is also required to update the values in the loki-simple-scalable.loki.image block. This can be done by copying the values, or like here, by using an anchor and a pointer.
image.pullPolicy string "IfNotPresent" Defines the policy how and when images are pulled
image.pullSecrets list [] Additional image pull secrets
image.repository string "grafana/enterprise-logs" The image repository to use
image.tag string "v1.3.0" The version of Grafana Enterprise Logs
license object {"contents":"NOTAVALIDLICENSE"} Grafana Enterprise Logs license In order to use Grafana Enterprise Logs features, you will need to provide the contents of your Grafana Enterprise Logs license, either by providing the contents of the license.jwt, or the name Kubernetes Secret that contains your license.jwt. To set the license contents, use the flag --set-file 'license.contents=./license.jwt'
loki-simple-scalable.gateway object {"enabled":true,"nginxConfig":{"file":"worker_processes 5; ## Default: 1\nerror_log /dev/stderr;\npid /tmp/nginx.pid;\nworker_rlimit_nofile 8192;\n\nevents {\n worker_connections 4096; ## Default: 1024\n}\n\nhttp {\n client_body_temp_path /tmp/client_temp;\n proxy_temp_path /tmp/proxy_temp_path;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n\n default_type application/octet-stream;\n log_format {{ .Values.gateway.nginxConfig.logFormat }}\n\n {{- if .Values.gateway.verboseLogging }}\n access_log /dev/stderr main;\n {{- else }}\n\n map $status $loggable {\n ~^[23] 0;\n default 1;\n }\n access_log /dev/stderr main if=$loggable;\n {{- end }}\n\n sendfile on;\n tcp_nopush on;\n resolver {{ .Values.global.dnsService }}.{{ .Values.global.dnsNamespace }}.svc.{{ .Values.global.clusterDomain }};\n\n {{- with .Values.gateway.nginxConfig.httpSnippet }}\n {{ . | nindent 2 }}\n {{- end }}\n\n server {\n listen 8080;\n\n {{- if .Values.gateway.basicAuth.enabled }}\n auth_basic \"Loki\";\n auth_basic_user_file /etc/nginx/secrets/.htpasswd;\n {{- end }}\n\n location = / {\n return 200 'OK';\n auth_basic off;\n }\n\n location = /api/prom/push {\n proxy_pass http://{{ include \"loki.writeFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location = /api/prom/tail {\n proxy_pass http://{{ include \"loki.readFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection \"upgrade\";\n }\n\n location ~ /api/prom/.* {\n proxy_pass http://{{ include \"loki.readFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location = /loki/api/v1/push {\n proxy_pass http://{{ include \"loki.writeFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location = /loki/api/v1/tail {\n proxy_pass http://{{ include \"loki.readFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection \"upgrade\";\n }\n\n location ~ /loki/api/.* {\n proxy_pass http://{{ include \"loki.readFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location ~ /admin/api/.* {\n proxy_pass http://{{ include \"loki.writeFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location ~ /compactor/.* {\n proxy_pass http://{{ include \"loki.readFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location ~ /distributor/.* {\n proxy_pass http://{{ include \"loki.writeFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location ~ /ring {\n proxy_pass http://{{ include \"loki.writeFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location ~ /ingester/.* {\n proxy_pass http://{{ include \"loki.writeFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location ~ /ruler/.* {\n proxy_pass http://{{ include \"loki.readFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n location ~ /scheduler/.* {\n proxy_pass http://{{ include \"loki.readFullname\" . }}.{{ .Release.Namespace }}.svc.{{ .Values.global.clusterDomain }}:3100$request_uri;\n }\n\n {{- with .Values.gateway.nginxConfig.serverSnippet }}\n {{ . | nindent 4 }}\n {{- end }}\n }\n}\n"}} Override gateway nginx.conf to include admin-api routes
loki-simple-scalable.loki.config string nil
loki-simple-scalable.loki.existingSecretForConfig string "enterprise-logs-config"
loki-simple-scalable.loki.image.pullPolicy string "IfNotPresent" Defines the policy how and when images are pulled
loki-simple-scalable.loki.image.pullSecrets list [] Additional image pull secrets
loki-simple-scalable.loki.image.registry string "docker.io"
loki-simple-scalable.loki.image.repository string "grafana/enterprise-logs" The image repository to use
loki-simple-scalable.loki.image.tag string "v1.3.0" The version of Grafana Enterprise Logs
loki-simple-scalable.nameOverride string "enterprise-logs" In order to have consistent Pod names for both pods from the enterprise-logs and loki-simple-scalable chart, we override the name of the child chart to match the name of the parent chart.
loki-simple-scalable.rbac.pspEnabled bool true If enabled, a PodSecurityPolicy is created
loki-simple-scalable.read object {"extraVolumeMounts":[{"mountPath":"/etc/enterprise-logs/license","name":"license"}],"extraVolumes":[{"name":"license","secret":{"secretName":"enterprise-logs-license"}}],"replicas":3} Configuration for the read target
loki-simple-scalable.read.extraVolumeMounts[0] object {"mountPath":"/etc/enterprise-logs/license","name":"license"} Mount the license volume
loki-simple-scalable.read.extraVolumes[0] object {"name":"license","secret":{"secretName":"enterprise-logs-license"}} Create license volume from license secret
loki-simple-scalable.serviceAccount object {"annotations":{},"automountServiceAccountToken":true,"create":true,"imagePullSecrets":[],"name":null} Definition of the ServiceAccount for containers
loki-simple-scalable.serviceAccount.annotations object {} Annotations for the service account
loki-simple-scalable.serviceAccount.automountServiceAccountToken bool true Set this toggle to false to opt out of automounting API credentials for the service account
loki-simple-scalable.serviceAccount.create bool true Specifies whether a ServiceAccount should be created
loki-simple-scalable.serviceAccount.imagePullSecrets list [] Image pull secrets for the service account
loki-simple-scalable.serviceAccount.name string nil The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template
loki-simple-scalable.write object {"extraVolumeMounts":[{"mountPath":"/etc/enterprise-logs/license","name":"license"}],"extraVolumes":[{"name":"license","secret":{"secretName":"enterprise-logs-license"}}],"replicas":3} Configuration for the write target
loki-simple-scalable.write.extraVolumeMounts[0] object {"mountPath":"/etc/enterprise-logs/license","name":"license"} Mount the license volume
loki-simple-scalable.write.extraVolumes[0] object {"name":"license","secret":{"secretName":"enterprise-logs-license"}} Create license volume from license secret
minio.accessKey string "enterprise-logs"
minio.buckets[0].name string "enterprise-logs-tsdb"
minio.buckets[0].policy string "none"
minio.buckets[0].purge bool false
minio.buckets[1].name string "enterprise-logs-admin"
minio.buckets[1].policy string "none"
minio.buckets[1].purge bool false
minio.buckets[2].name string "enterprise-logs-ruler"
minio.buckets[2].policy string "none"
minio.buckets[2].purge bool false
minio.enabled bool true
minio.persistence.size string "5Gi"
minio.resources.requests.cpu string "100m"
minio.resources.requests.memory string "128Mi"
minio.secretKey string "supersecret"
nameOverride string nil Overrides the chart's name
schemaConfig object {"configs":[{"from":"2020-09-07","index":{"period":"24h","prefix":"loki_index_"},"object_store":"filesystem","schema":"v11","store":"boltdb-shipper"}]} Check https://grafana.com/docs/loki/latest/configuration/#schema_config for more info on how to configure schemas
serviceAccount object {"create":true} Definition of the ServiceAccount for containers Any additional configuration of the ServiceAccount has to be done in loki-simple-scalable.serviceAccount.
serviceAccount.create bool true Specifies whether a ServiceAccount should be created If this value is changed to false, it also needs to be reflected in loki-simple-scalable.serviceAccount.create.
storageConfig object {} Check https://grafana.com/docs/loki/latest/configuration/#storage_config for more info on how to configure storages
structuredConfig object {} Uncomment to configure each storage individually boltdb_shipper: {} filesystem: {} azure: {} gcs: {} s3: {} -- Structured GEL configuration, takes precedence over loki.config, loki.schemaConfig, loki.storageConfig
tokengen object {"adminTokenSecret":"gel-admin-token","annotations":{},"enable":true,"env":[],"extraArgs":[],"extraVolumeMounts":[],"extraVolumes":[],"labels":{},"securityContext":{"fsGroup":10001,"runAsGroup":10001,"runAsNonRoot":true,"runAsUser":10001}} Configuration for tokengen target
tokengen.adminTokenSecret string "gel-admin-token" Name of the secret to store the admin token in
tokengen.annotations object {} Additional annotations for the tokengen Job
tokengen.enable bool true Whether the job should be part of the deployment
tokengen.env list [] Additional Kubernetes environment
tokengen.extraArgs list [] Additional CLI arguments for the tokengen target
tokengen.extraVolumeMounts list [] Additional volume mounts for Pods
tokengen.extraVolumes list [] Additional volumes for Pods
tokengen.labels object {} Additional labels for the tokengen Job
tokengen.securityContext object {"fsGroup":10001,"runAsGroup":10001,"runAsNonRoot":true,"runAsUser":10001} Run containers as user enterprise-logs(uid=10001)
useExternalConfig bool false External config.yaml A GEL configuration file may be provided as Kubernetes Secret outside of this Helm chart.
useExternalLicense bool false External license.jwt A GEL license file may be provided as Kubernetes Secret outside of this Helm chart.

Autogenerated from chart metadata using helm-docs v1.4.0