Created
July 27, 2022 11:55
-
-
Save ksponomarev/51cbedc57dcb395786097d88cb6c517e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -- SigNoz chart full name override | |
fullnameOverride: "" | |
# Clickhouse default values | |
clickhouse: | |
# -- Cloud service being deployed on (example: `aws`, `azure`, `gcp`, `hcloud`, `other`). | |
# Based on the cloud, storage class for the persistent volume is selected. | |
# When set to 'aws' or 'gcp', new expandible storage class is created. | |
# When set to something else or not set, the default storage class (if any) from the k8s cluster is selected. | |
cloud: other | |
zookeeper: | |
# | |
# Please DO NOT override this value. | |
# This chart installs Zookeeper separately. | |
# Only if you know what you are doing, proceed with overriding. | |
# | |
# -- Whether to install zookeeper. If false, `clickhouse.externalZookeeper` must be set. | |
enabled: true | |
# -- Name override for clickhouse | |
nameOverride: "" | |
# -- Fullname override for clickhouse | |
fullnameOverride: "" | |
# -- Whether to install clickhouse. If false, `clickhouse.host` must be set | |
enabled: false | |
# -- Which namespace to install clickhouse and the `clickhouse-operator` to (defaults to namespace chart is installed to) | |
namespace: | |
# -- Clickhouse cluster | |
cluster: cluster | |
# -- Clickhouse database (SigNoz Metrics) | |
database: signoz_metrics | |
# -- Clickhouse trace database (SigNoz Traces) | |
traceDatabase: signoz_traces | |
# -- Clickhouse user | |
user: admin | |
# -- Clickhouse password | |
password: 27ff0399-0d3a-4bd8-919d-17c2181e6fb9 | |
# -- Clickhouse image | |
image: | |
# -- Clickhouse image registry to use. | |
registry: docker.io | |
# -- Clickhouse image repository to use. | |
repository: clickhouse/clickhouse-server | |
# -- Clickhouse image tag to use (example: `21.8`). | |
# SigNoz is not always tested with latest version of ClickHouse. | |
# Only if you know what you are doing, proceed with overriding. | |
tag: 22.4.5-alpine | |
# -- Clickhouse image pull policy. | |
pullPolicy: IfNotPresent | |
# Clickhouse service | |
service: | |
# -- Service Type: LoadBalancer (allows external access) or NodePort (more secure, no extra cost) | |
type: ClusterIP | |
# -- Clickhouse HTTP port | |
httpPort: 8123 | |
# -- Clickhouse TCP port | |
tcpPort: 9000 | |
# -- Whether to use TLS connection connecting to ClickHouse | |
secure: false | |
# -- Whether to verify TLS certificate on connection to ClickHouse | |
verify: false | |
# -- URL for zookeeper. | |
externalZookeeper: {} | |
# servers: | |
# - host: signoz-signoz-zookeeper | |
# port: 2181 | |
# -- Toleration labels for clickhouse pod assignment | |
tolerations: [] | |
# -- Affinity settings for clickhouse pod | |
affinity: {} | |
# -- Clickhouse resource requests/limits. See more at http://kubernetes.io/docs/user-guide/compute-resources/ | |
resources: {} | |
# limits: | |
# cpu: 4000m | |
# memory: 16Gi | |
# requests: | |
# cpu: 1000m | |
# memory: 5Gi | |
# -- Security context for Clickhouse node | |
securityContext: | |
enabled: true | |
runAsUser: 101 | |
runAsGroup: 101 | |
fsGroup: 101 | |
# -- Service Type: LoadBalancer (allows external access) or NodePort (more secure, no extra cost) | |
serviceType: ClusterIP | |
# -- If enabled, operator will prefer k8s nodes with tag `clickhouse:true` | |
useNodeSelector: false | |
# -- An allowlist of IP addresses or network masks the ClickHouse user is | |
# allowed to access from. By default anything within a private network will be | |
# allowed. This should suffice for most use case although to expose to other | |
# networks you will need to update this setting. | |
# | |
allowedNetworkIps: | |
- "10.0.0.0/8" | |
- "172.16.0.0/12" | |
- "192.168.0.0/16" | |
persistence: | |
# -- Enable data persistence using PVC. | |
enabled: true | |
# -- Use a manually managed Persistent Volume and Claim. | |
# If defined, PVC must be created manually before volume will be bound. | |
# | |
existingClaim: "" | |
# -- Persistent Volume Storage Class to use. | |
# If defined, `storageClassName: <storageClass>`. | |
# If set to `storageClassName: ""`, disables dynamic provisioning. | |
# If undefined (the default) or set to `null`, no storageClassName spec is | |
# set, choosing the default provisioneralertmanager | |
# | |
storageClass: null | |
# -- Persistent Volume size | |
size: 20Gi | |
# -- Clickhouse user profile configuration. | |
# You can use this to override profile settings, for example `default/max_memory_usage: 40000000000` | |
# For the full list of settings, see: | |
# - https://clickhouse.com/docs/en/operations/settings/settings-profiles/ | |
# - https://clickhouse.com/docs/en/operations/settings/settings/ | |
# | |
profiles: {} | |
# -- Default user profile configuration for Clickhouse. !!! Please DO NOT override this !!! | |
defaultProfiles: | |
default/allow_experimental_window_functions: "1" | |
default/allow_nondeterministic_mutations: "1" | |
# -- Clickhouse cluster layout. (Experimental, use at own risk) | |
# For a full list of options, see https://github.com/Altinity/clickhouse-operator/blob/master/docs/custom_resource_explained.md | |
# section on clusters and layouts. | |
# | |
layout: | |
shardsCount: 1 | |
replicasCount: 1 | |
# -- ClickHouse settings configuration. | |
# You can use this to override settings, for example `prometheus/port: 9363` | |
# For the full list of settings, see: | |
# - https://clickhouse.com/docs/en/operations/settings/settings/ | |
# | |
settings: {} | |
# Uncomment those lines if you want to enable the built-in Prometheus HTTP endpoint in ClickHouse. | |
# prometheus/endpoint: /metrics | |
# prometheus/port: 9363 | |
# prometheus/metrics: true | |
# prometheus/events: true | |
# prometheus/asynchronous_metrics: true | |
# -- Default settings configuration for ClickHouse. !!! Please DO NOT override this !!! | |
defaultSettings: | |
format_schema_path: /etc/clickhouse-server/config.d/ | |
# -- ClickHouse pod(s) annotation. | |
podAnnotations: {} | |
# Cold storage configuration | |
coldStorage: | |
# -- Whether to enable S3 cold storage | |
enabled: false | |
# -- Reserve free space on default disk (in bytes) | |
defaultKeepFreeSpaceBytes: "10485760" | |
# -- AWS S3 endpoint | |
endpoint: https://<bucket-name>.s3.amazonaws.com/data/ | |
# AWS role configuration - to use environment variables instead of passing access and secret keys | |
role: | |
# -- Whether to enable AWS IAM ARN role. | |
enabled: false | |
# -- Annotations to use by service account associated to Clickhouse instance | |
annotations: | |
# aws role arn | |
eks.amazonaws.com/role-arn: arn:aws:iam::******:role/***** | |
# -- AWS Access Key | |
accessKey: <access_key_id> | |
# -- AWS Secret Access Key | |
secretAccess: <secret_access_key> | |
### | |
### | |
### ---- MISC ---- | |
### | |
### | |
# -- When the `installCustomStorageClass` is enabled with `cloud` set as `gcp` or `aws`, | |
# it creates custom storage class with volume expansion permission. | |
installCustomStorageClass: false | |
clickhouseOperator: | |
# -- ClickhouseOperator node selector | |
nodeSelector: {} | |
## External clickhouse configuration | |
## This is required when clickhouse.enabled is false | |
## | |
externalClickhouse: | |
# -- Host of the external cluster. | |
host: clickhouse.example.com | |
# -- Name of the external cluster to run DDL queries on. | |
cluster: cluster | |
# -- Database name for the external cluster | |
database: signoz_metrics | |
# -- Clickhouse trace database (SigNoz Traces) | |
traceDatabase: signoz_traces | |
# -- User name for the external cluster to connect to the external cluster as | |
user: "signoz" | |
# -- Password for the cluster. Ignored if existingClickhouse.existingSecret is set | |
password: "mypass" | |
# -- Name of an existing Kubernetes secret object containing the password | |
existingSecret: | |
# -- Name of the key pointing to the password in your Kubernetes secret | |
existingSecretPasswordKey: | |
# -- Whether to use TLS connection connecting to ClickHouse | |
secure: false | |
# -- Whether to verify TLS connection connecting to ClickHouse | |
verify: false | |
# -- HTTP port of Clickhouse | |
httpPort: 8123 | |
# -- TCP port of Clickhouse | |
tcpPort: 9000 | |
# Default values for query-service | |
queryService: | |
name: "query-service" | |
replicaCount: 1 | |
image: | |
registry: docker.io | |
repository: signoz/query-service | |
tag: 0.10.0 | |
pullPolicy: Always | |
imagePullSecrets: | |
- name: artifactory | |
serviceAccount: | |
# Specifies whether a service account should be created | |
create: true | |
# Annotations to add to the service account | |
annotations: {} | |
# The name of the service account to use. | |
# If not set and create is true, a name is generated using the fullname template | |
name: | |
initContainers: | |
init: | |
enabled: false | |
image: | |
registry: docker.io | |
repository: busybox | |
tag: 1.35 | |
pullPolicy: IfNotPresent | |
command: | |
delay: 5 | |
endpoint: /ping | |
waitMessage: "waiting for clickhouseDB" | |
doneMessage: "clickhouse ready, starting query service now" | |
configVars: | |
storage: clickhouse | |
# ClickHouse URL is set and applied internally. | |
# Don't override unless you know what you are doing. | |
goDebug: netdns=go | |
telemetryEnabled: true | |
deploymentType: kubernetes-helm | |
podSecurityContext: {} | |
# fsGroup: 2 | |
securityContext: {} | |
# readOnlyRootFilesystem: true | |
# allowPrivilegeEscalation: false | |
# runAsNonRoot: true | |
# runAsUser: 2 | |
# runAsGroup: 2 | |
service: | |
type: ClusterIP | |
port: 8080 | |
internalPort: 8085 | |
ingress: | |
enabled: false | |
className: "" | |
annotations: {} | |
hosts: | |
- host: chart-example.local | |
paths: [] | |
tls: [] | |
# - secretName: chart-example-tls | |
# hosts: | |
# - chart-example.local | |
# adjust the resource requests and limit as necessary | |
resources: | |
requests: | |
cpu: 200m | |
memory: 300Mi | |
limits: | |
cpu: 750m | |
memory: 1000Mi | |
nodeSelector: {} | |
tolerations: [] | |
affinity: {} | |
# Default values for frontend | |
frontend: | |
name: "frontend" | |
replicaCount: 1 | |
image: | |
registry: docker.io | |
repository: signoz/frontend | |
tag: 0.10.0 | |
pullPolicy: Always | |
imagePullSecrets: | |
- name: artifactory | |
serviceAccount: | |
# Specifies whether a service account should be created | |
create: true | |
# Annotations to add to the service account | |
annotations: {} | |
# The name of the service account to use. | |
# If not set and create is true, a name is generated using the fullname template | |
name: | |
initContainers: | |
init: | |
enabled: false | |
image: | |
registry: docker.io | |
repository: busybox | |
tag: 1.35 | |
pullPolicy: IfNotPresent | |
command: | |
delay: 5 | |
endpoint: /api/v1/version | |
waitMessage: "waiting for query-service" | |
doneMessage: "clickhouse ready, starting frontend now" | |
autoscaling: | |
enabled: false | |
minReplicas: 1 | |
maxReplicas: 11 | |
targetCPUUtilizationPercentage: 50 | |
targetMemoryUtilizationPercentage: 50 | |
behavior: {} | |
# scaleDown: | |
# stabilizationWindowSeconds: 300 | |
# policies: | |
# - type: Pods | |
# value: 1 | |
# periodSeconds: 180 | |
# scaleUp: | |
# stabilizationWindowSeconds: 300 | |
# policies: | |
# - type: Pods | |
# value: 2 | |
# periodSeconds: 60 | |
autoscalingTemplate: [] | |
keda: | |
enabled: false | |
pollingInterval: "30" # check 30sec periodically for metrics data | |
cooldownPeriod: "300" # once the load decreased, it will wait for 5 min and downscale | |
minReplicaCount: "1" # should be >= replicaCount specified in values.yaml | |
maxReplicaCount: "5" | |
triggers: | |
- type: memory | |
metadata: | |
type: Utilization | |
value: "80" # hpa make sure average Utilization <=80 by adding new pods | |
- type: cpu | |
metadata: | |
type: Utilization | |
value: "80" # hpa make sure average Utlization <=80 by adding new pods | |
configVars: {} | |
podSecurityContext: | |
fsGroup: 101 | |
securityContext: | |
# readOnlyRootFilesystem: true | |
allowPrivilegeEscalation: false | |
runAsNonRoot: true | |
runAsUser: 101 | |
runAsGroup: 101 | |
service: | |
type: ClusterIP | |
port: 3301 | |
ingress: | |
enabled: true | |
className: "" | |
annotations: {} | |
hosts: | |
- host: signoz.example.com | |
paths: | |
- path: / | |
pathType: ImplementationSpecific | |
tls: | |
- secretName: signoz.example.com | |
hosts: | |
- signoz.example.com | |
# adjust the resource requests and limit as necessary | |
resources: | |
requests: | |
cpu: 100m | |
memory: 100Mi | |
limits: | |
cpu: 200m | |
memory: 200Mi | |
nodeSelector: {} | |
tolerations: [] | |
affinity: {} | |
# Default values for Alertmanager | |
alertmanager: | |
name: "alertmanager" | |
replicaCount: 1 | |
image: | |
registry: docker.io | |
repository: signoz/alertmanager | |
pullPolicy: IfNotPresent | |
# Overrides the image tag whose default is the chart appVersion. | |
tag: 0.23.0-0.1 | |
command: [] | |
extraArgs: {} | |
imagePullSecrets: [] | |
service: | |
annotations: {} | |
type: ClusterIP | |
port: 9093 | |
# if you want to force a specific nodePort. Must be use with service.type=NodePort | |
# nodePort: | |
serviceAccount: | |
# Specifies whether a service account should be created | |
create: true | |
# Annotations to add to the service account | |
annotations: {} | |
# The name of the service account to use. | |
# If not set and create is true, a name is generated using the fullname template | |
name: | |
initContainers: | |
init: | |
enabled: true | |
image: | |
registry: docker.io | |
repository: busybox | |
tag: 1.35 | |
pullPolicy: IfNotPresent | |
command: | |
delay: 5 | |
endpoint: /api/v1/version | |
waitMessage: "waiting for query-service" | |
doneMessage: "clickhouse ready, starting alertmanager now" | |
podSecurityContext: | |
fsGroup: 65534 | |
dnsConfig: {} | |
# nameservers: | |
# - 1.2.3.4 | |
# searches: | |
# - ns1.svc.cluster-domain.example | |
# - my.dns.search.suffix | |
# options: | |
# - name: ndots | |
# value: "2" | |
# - name: edns0 | |
securityContext: | |
# capabilities: | |
# drop: | |
# - ALL | |
# readOnlyRootFilesystem: true | |
runAsUser: 65534 | |
runAsNonRoot: true | |
runAsGroup: 65534 | |
additionalPeers: [] | |
livenessProbe: | |
httpGet: | |
path: / | |
port: http | |
readinessProbe: | |
httpGet: | |
path: / | |
port: http | |
ingress: | |
enabled: false | |
className: "" | |
annotations: {} | |
# kubernetes.io/ingress.class: nginx | |
# kubernetes.io/tls-acme: "true" | |
hosts: | |
- host: alertmanager.domain.com | |
paths: | |
- path: / | |
pathType: ImplementationSpecific | |
tls: [] | |
# - secretName: chart-example-tls | |
# hosts: | |
# - alertmanager.domain.com | |
resources: | |
# adjust the resource requests and limit as necessary | |
requests: | |
cpu: 100m | |
memory: 100Mi | |
limits: | |
cpu: 200m | |
memory: 200Mi | |
nodeSelector: {} | |
tolerations: [] | |
affinity: {} | |
statefulSet: | |
annotations: {} | |
podAnnotations: {} | |
podLabels: {} | |
# Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | |
podDisruptionBudget: {} | |
# maxUnavailable: 1 | |
# minAvailable: 1 | |
persistence: | |
enabled: true | |
## Persistent Volume Storage Class | |
## If defined, storageClassName: <storageClass> | |
## If set to "-", storageClassName: "", which disables dynamic provisioning | |
## If undefined (the default) or set to null, no storageClassName spec is | |
## set, choosing the default provisioner. | |
## | |
# storageClass: "-" | |
accessModes: | |
- ReadWriteOnce | |
size: 100Mi | |
## Using the config, alertmanager.yml file is created. | |
## We no longer need the config file as query services | |
## delivers the required config. | |
# config: | |
# global: | |
# resolve_timeout: 1m | |
# slack_api_url: 'https://hooks.slack.com/services/xxx' | |
# templates: | |
# - '/etc/alertmanager/*.tmpl' | |
# receivers: | |
# - name: 'slack-notifications' | |
# slack_configs: | |
# - channel: '#alerts' | |
# send_resolved: true | |
# icon_url: https://avatars3.githubusercontent.com/u/3380462 | |
# title: '{{ template "slack.title" . }}' | |
# text: '{{ template "slack.text" . }}' | |
# route: | |
# receiver: 'slack-notifications' | |
## Templates are no longer needed as they are included | |
## from frontend placeholder while creating alert channels. | |
# templates: | |
# title.tmpl: |- | |
# {{ define "slack.title" }} | |
# [{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }} for {{ .CommonLabels.job }} | |
# {{- if gt (len .CommonLabels) (len .GroupLabels) -}} | |
# {{" "}}( | |
# {{- with .CommonLabels.Remove .GroupLabels.Names }} | |
# {{- range $index, $label := .SortedPairs -}} | |
# {{ if $index }}, {{ end }} | |
# {{- $label.Name }}="{{ $label.Value -}}" | |
# {{- end }} | |
# {{- end -}} | |
# ) | |
# {{- end }} | |
# {{ end }} | |
# text.tmpl: |- | |
# {{ define "slack.text" }} | |
# {{ range .Alerts -}} | |
# *Alert:* {{ .Labels.alertname }}{{ if .Labels.severity }} - `{{ .Labels.severity }}`{{ end }} | |
# *Summary:* {{ .Annotations.summary }} | |
# *Description:* {{ .Annotations.description }} | |
# *Details:* | |
# {{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}` | |
# {{ end }} | |
# {{ end }} | |
# {{ end }} | |
## Monitors ConfigMap changes and POSTs to a URL | |
## Ref: https://github.com/jimmidyson/configmap-reload | |
## | |
configmapReload: | |
## If false, the configmap-reload container will not be deployed | |
## | |
enabled: false | |
## configmap-reload container name | |
## | |
name: configmap-reload | |
## configmap-reload container image | |
## | |
image: | |
repository: jimmidyson/configmap-reload | |
tag: v0.5.0 | |
pullPolicy: IfNotPresent | |
# containerPort: 9533 | |
## configmap-reload resource requests and limits | |
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/ | |
## | |
resources: {} | |
# Default values for OtelCollector | |
otelCollector: | |
name: "otel-collector" | |
image: | |
registry: docker.io | |
repository: signoz/otelcollector | |
tag: 0.45.1-1.0 | |
pullPolicy: Always | |
serviceType: "ClusterIP" | |
imagePullSecrets: | |
- name: artifactory | |
serviceAccount: | |
# Specifies whether a service account should be created | |
create: true | |
# Annotations to add to the service account | |
annotations: {} | |
# The name of the service account to use. | |
# If not set and create is true, a name is generated using the fullname template | |
name: | |
minReadySeconds: 5 | |
progressDeadlineSeconds: 120 | |
replicaCount: 1 | |
ballastSizeMib: 683 | |
initContainers: | |
init: | |
enabled: false | |
image: | |
registry: docker.io | |
repository: busybox | |
tag: 1.35 | |
pullPolicy: IfNotPresent | |
command: | |
delay: 5 | |
endpoint: /ping | |
waitMessage: "waiting for clickhouseDB" | |
doneMessage: "clickhouse ready, starting otel collector now" | |
# ports used by the container | |
ports: | |
zPages: 55679 # Default endpoint for ZPages. | |
otelGrpcReceiver: 4317 # Default endpoint for OpenTelemetry gRPC receiver. | |
otelHttpReceiver: 4318 # Default endpoint for OpenTelemetry HTTP receiver. | |
otelGrpcLegacyReceiver: 55680 # Default endpoint for OpenTelemetry gRPC legacy receiver. | |
otelHttpLegacyReceiver: 55681 # Default endpoint for OpenTelemetry HTTP/1.0 legacy receiver. | |
jaegerGrpcReceiver: 14250 # Default endpoint for Jaeger GRPC receiver. | |
jaegerHttpReceiver: 14268 # Default endpoint for Jaeger HTTP receiver. | |
zipkinReceiver: 9411 # Default endpoint for Zipkin receiver. | |
queryingMetrics: 8888 # Default endpoint for querying metrics. | |
prometheusExportedMetrics: 8889 # Default endpoint for prometheus exported metrics. | |
## Configure liveness and readiness probes. | |
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes | |
## | |
livenessProbe: | |
enabled: false | |
port: 13133 | |
path: / | |
initialDelaySeconds: 5 | |
periodSeconds: 10 | |
timeoutSeconds: 5 | |
failureThreshold: 6 | |
successThreshold: 1 | |
readinessProbe: | |
enabled: false | |
port: 13133 | |
path: / | |
initialDelaySeconds: 5 | |
periodSeconds: 10 | |
timeoutSeconds: 5 | |
failureThreshold: 6 | |
successThreshold: 1 | |
## Custom liveness and readiness probes | |
customLivenessProbe: {} | |
customReadinessProbe: {} | |
ingress: | |
enabled: false | |
className: "" | |
annotations: {} | |
# kubernetes.io/ingress.class: nginx | |
# kubernetes.io/tls-acme: "true" | |
hosts: | |
- host: otelcollector.domain.com | |
paths: | |
- path: / | |
pathType: ImplementationSpecific | |
tls: [] | |
# - secretName: chart-example-tls | |
# hosts: | |
# - otelcollector.domain.com | |
# adjust the resource requests and limit as necessary | |
resources: | |
requests: | |
cpu: 200m | |
memory: 400Mi | |
limits: | |
cpu: 1000m | |
memory: 2Gi | |
nodeSelector: {} | |
tolerations: [] | |
affinity: {} | |
autoscaling: | |
enabled: false | |
minReplicas: 1 | |
maxReplicas: 11 | |
targetCPUUtilizationPercentage: 50 | |
targetMemoryUtilizationPercentage: 50 | |
behavior: {} | |
# scaleDown: | |
# stabilizationWindowSeconds: 300 | |
# policies: | |
# - type: Pods | |
# value: 1 | |
# periodSeconds: 180 | |
# scaleUp: | |
# stabilizationWindowSeconds: 300 | |
# policies: | |
# - type: Pods | |
# value: 2 | |
# periodSeconds: 60 | |
autoscalingTemplate: [] | |
keda: | |
enabled: false | |
pollingInterval: "30" # check 30sec periodically for metrics data | |
cooldownPeriod: "300" # once the load decreased, it will wait for 5 min and downscale | |
minReplicaCount: "1" # should be >= replicaCount specified in values.yaml | |
maxReplicaCount: "5" | |
triggers: | |
- type: memory | |
metadata: | |
type: Utilization | |
value: "80" # hpa make sure average Utilization <=80 by adding new pods | |
- type: cpu | |
metadata: | |
type: Utilization | |
value: "80" # hpa make sure average Utlization <=80 by adding new pods | |
# configurations to form the file in configmap | |
config: | |
receivers: | |
otlp/spanmetrics: | |
protocols: | |
grpc: | |
endpoint: localhost:12345 | |
otlp: | |
protocols: | |
grpc: | |
endpoint: 0.0.0.0:4317 | |
http: | |
endpoint: 0.0.0.0:4318 | |
jaeger: | |
protocols: | |
grpc: | |
endpoint: 0.0.0.0:14250 | |
thrift_http: | |
endpoint: 0.0.0.0:14268 | |
hostmetrics: | |
collection_interval: 30s | |
scrapers: | |
cpu: {} | |
load: {} | |
memory: {} | |
disk: {} | |
filesystem: {} | |
network: {} | |
processors: | |
batch: | |
send_batch_size: 1000 | |
timeout: 10s | |
signozspanmetrics/prometheus: | |
metrics_exporter: prometheus | |
latency_histogram_buckets: [100us, 1ms, 2ms, 6ms, 10ms, 50ms, 100ms, 250ms, 500ms, 1000ms, 1400ms, 2000ms, 5s, 10s, 20s, 40s, 60s] | |
dimensions_cache_size: 10000 | |
dimensions: | |
- name: service.namespace | |
default: default | |
- name: deployment.environment | |
default: default | |
# memory_limiter: | |
# # 80% of maximum memory up to 2G | |
# limit_mib: 1500 | |
# # 25% of limit up to 2G | |
# spike_limit_mib: 512 | |
# check_interval: 5s | |
# | |
# # 50% of the maximum memory | |
# limit_percentage: 50 | |
# # 20% of max memory usage spike expected | |
# spike_limit_percentage: 20 | |
# queued_retry: | |
# num_workers: 4 | |
# queue_size: 100 | |
# retry_on_failure: true | |
extensions: | |
health_check: {} | |
zpages: {} | |
exporters: | |
clickhousetraces: | |
datasource: tcp://${CLICKHOUSE_HOST}:${CLICKHOUSE_PORT}/?database=${CLICKHOUSE_TRACE_DATABASE}&username=${CLICKHOUSE_USER}&password=${CLICKHOUSE_PASSWORD} | |
clickhousemetricswrite: | |
endpoint: tcp://${CLICKHOUSE_HOST}:${CLICKHOUSE_PORT}/?database=${CLICKHOUSE_DATABASE}&username=${CLICKHOUSE_USER}&password=${CLICKHOUSE_PASSWORD} | |
resource_to_telemetry_conversion: | |
enabled: true | |
prometheus: | |
endpoint: "0.0.0.0:8889" | |
service: | |
extensions: [health_check, zpages] | |
telemetry: | |
logs: | |
level: "debug" | |
pipelines: | |
traces: | |
receivers: [jaeger, otlp] | |
processors: [signozspanmetrics/prometheus, batch] | |
exporters: [clickhousetraces] | |
metrics: | |
receivers: [otlp, hostmetrics] | |
processors: [batch] | |
exporters: [clickhousemetricswrite] | |
metrics/spanmetrics: | |
receivers: [otlp/spanmetrics] | |
exporters: [prometheus] | |
# Default values for OtelCollectorMetrics | |
otelCollectorMetrics: | |
name: "otel-collector-metrics" | |
image: | |
registry: docker.io | |
repository: signoz/otelcollector | |
tag: 0.45.1-1.0 | |
pullPolicy: Always | |
imagePullSecrets: | |
- name: artifactory | |
serviceType: "ClusterIP" | |
serviceAccount: | |
# Specifies whether a service account should be created | |
create: true | |
# Annotations to add to the service account | |
annotations: {} | |
# The name of the service account to use. | |
# If not set and create is true, a name is generated using the fullname template | |
name: | |
minReadySeconds: 5 | |
progressDeadlineSeconds: 120 | |
replicaCount: 1 | |
ballastSizeMib: 683 | |
initContainers: | |
init: | |
enabled: false | |
image: | |
registry: docker.io | |
repository: busybox | |
tag: 1.35 | |
pullPolicy: IfNotPresent | |
command: | |
delay: 5 | |
endpoint: /ping | |
waitMessage: "waiting for clickhouseDB" | |
doneMessage: "clickhouse ready, starting otel collector metrics now" | |
# ports used by the container | |
ports: | |
zPages: 55679 # Default endpoint for ZPages. | |
otelGrpcReceiver: 4317 # Default endpoint for OpenTelemetry gRPC receiver. | |
otelHttpReceiver: 4318 # Default endpoint for OpenTelemetry HTTP receiver. | |
otelGrpcLegacyReceiver: 55680 # Default endpoint for OpenTelemetry gRPC legacy receiver. | |
otelHttpLegacyReceiver: 55681 # Default endpoint for OpenTelemetry HTTP/1.0 legacy receiver. | |
jaegerGrpcReceiver: 14250 # Default endpoint for Jaeger GRPC receiver. | |
jaegerHttpReceiver: 14268 # Default endpoint for Jaeger HTTP receiver. | |
zipkinReceiver: 9411 # Default endpoint for Zipkin receiver. | |
queryingMetrics: 8888 # Default endpoint for querying metrics. | |
## Configure liveness and readiness probes. | |
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes | |
## | |
livenessProbe: | |
enabled: false | |
port: 13133 | |
path: / | |
initialDelaySeconds: 5 | |
periodSeconds: 10 | |
timeoutSeconds: 5 | |
failureThreshold: 6 | |
successThreshold: 1 | |
readinessProbe: | |
enabled: false | |
port: 13133 | |
path: / | |
initialDelaySeconds: 5 | |
periodSeconds: 10 | |
timeoutSeconds: 5 | |
failureThreshold: 6 | |
successThreshold: 1 | |
## Custom liveness and readiness probes | |
customLivenessProbe: {} | |
customReadinessProbe: {} | |
ingress: | |
enabled: false | |
className: "" | |
annotations: {} | |
# kubernetes.io/ingress.class: nginx | |
# kubernetes.io/tls-acme: "true" | |
hosts: | |
- host: otelcollector-metrics.domain.com | |
paths: | |
- path: / | |
pathType: ImplementationSpecific | |
tls: [] | |
# - secretName: chart-example-tls | |
# hosts: | |
# - otelcollector-metrics.domain.com | |
# adjust the resource requests and limit as necessary | |
resources: | |
requests: | |
cpu: 200m | |
memory: 400Mi | |
limits: | |
cpu: 1000m | |
memory: 2Gi | |
nodeSelector: {} | |
tolerations: [] | |
affinity: {} | |
# configurations to form the file in configmap | |
config: | |
receivers: | |
otlp: | |
protocols: | |
grpc: | |
endpoint: 0.0.0.0:4317 | |
http: | |
endpoint: 0.0.0.0:4318 | |
# Data sources: metrics | |
prometheus: | |
config: | |
scrape_configs: | |
- job_name: otel-collector | |
scrape_interval: 30s | |
static_configs: | |
- targets: | |
# the following string is replaced with OTel service name using the helper template | |
- $OTEL_COLLECTOR_PROMETHEUS | |
processors: | |
batch: | |
send_batch_size: 1000 | |
timeout: 10s | |
# memory_limiter: | |
# # 80% of maximum memory up to 2G | |
# limit_mib: 1500 | |
# # 25% of limit up to 2G | |
# spike_limit_mib: 512 | |
# check_interval: 5s | |
# | |
# # 50% of the maximum memory | |
# limit_percentage: 50 | |
# # 20% of max memory usage spike expected | |
# spike_limit_percentage: 20 | |
# queued_retry: | |
# num_workers: 4 | |
# queue_size: 100 | |
# retry_on_failure: true | |
extensions: | |
health_check: {} | |
zpages: {} | |
exporters: | |
clickhousemetricswrite: | |
endpoint: tcp://${CLICKHOUSE_HOST}:${CLICKHOUSE_PORT}/?database=${CLICKHOUSE_DATABASE}&username=${CLICKHOUSE_USER}&password=${CLICKHOUSE_PASSWORD} | |
service: | |
extensions: [health_check, zpages] | |
telemetry: | |
logs: | |
level: "debug" | |
pipelines: | |
metrics: | |
receivers: [otlp, prometheus] | |
processors: [batch] | |
exporters: [clickhousemetricswrite] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment