281 lines
7.1 KiB
YAML
281 lines
7.1 KiB
YAML
global:
|
|
domain: "coralogixsg.com"
|
|
defaultApplicationName: "default"
|
|
defaultSubsystemName: "nodes"
|
|
|
|
# Old endpoint based configuration,
|
|
# please use domain instead.
|
|
traces:
|
|
endpoint: ""
|
|
metrics:
|
|
endpoint: ""
|
|
logs:
|
|
endpoint: ""
|
|
|
|
# set distribution to openshift for openshift clusters
|
|
distribution: ""
|
|
|
|
# Opentelemetry collector configuration
|
|
dedicatedValue: false
|
|
schedulerName: default-scheduler
|
|
|
|
labels:
|
|
bu: "demand"
|
|
team: "sre"
|
|
service: "opentelemetry-demand-prd"
|
|
env: "prd"
|
|
priority: "p0"
|
|
type: "opentelemetry"
|
|
arch: "any"
|
|
runpod: "ondemand"
|
|
|
|
externalSecret:
|
|
enabled: false
|
|
key: prd/admin/coralogix-keys
|
|
secretStoreRef:
|
|
name: vault-backend
|
|
|
|
image:
|
|
# If you want to use the core image `otel/opentelemetry-collector`, you also need to change `command.name` value to `otelcol`.
|
|
repository: asia-southeast1-docker.pkg.dev/meesho-devops-admin-0622/admin/sre/opentelemetry-collector-contrib
|
|
# repository: otel/opentelemetry-collector-contrib
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: "0.87.0"
|
|
# When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value).
|
|
digest: ""
|
|
mode: daemonset
|
|
rollout:
|
|
rollingUpdate:
|
|
# When 'mode: daemonset', maxSurge cannot be used when hostPort is set for any of the ports
|
|
# maxSurge: 25%
|
|
maxUnavailable: 1
|
|
strategy: RollingUpdate
|
|
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: ""
|
|
hostNetwork: true
|
|
dnsPolicy: "ClusterFirstWithHostNet"
|
|
fullnameOverride: opentelemetry-demand-prd
|
|
|
|
presets:
|
|
logsCollection:
|
|
enabled: false
|
|
storeCheckpoints: false
|
|
maxRecombineLogSize: 1048576
|
|
extraFilelogOperators: []
|
|
# - type: recombine
|
|
# combine_field: body
|
|
# source_identifier: attributes["log.file.path"]
|
|
# is_first_entry: body matches "^(YOUR-LOGS-REGEX)"
|
|
kubernetesAttributes:
|
|
enabled: false
|
|
hostMetrics:
|
|
enabled: false
|
|
kubeletMetrics:
|
|
enabled: false
|
|
|
|
extraEnvs:
|
|
- name: OTEL_RESOURCE_ATTRIBUTES
|
|
value: "k8s.node.name=$(K8S_NODE_NAME)"
|
|
- name: KUBE_NODE_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: spec.nodeName
|
|
config:
|
|
extensions: {}
|
|
# zpages:
|
|
# endpoint: localhost:55679
|
|
# pprof:
|
|
# endpoint: localhost:1777
|
|
exporters:
|
|
loadbalancing:
|
|
routing_key: "traceID"
|
|
protocol:
|
|
otlp:
|
|
timeout: 4s
|
|
tls:
|
|
insecure: true
|
|
sending_queue:
|
|
enabled: true
|
|
queue_size: 6000
|
|
num_consumers: 200
|
|
resolver:
|
|
dns:
|
|
hostname: opentelemetry-admin-prd.opentelemetry.svc.clusterset.local
|
|
# coralogix:
|
|
# timeout: "30s"
|
|
# private_key: "${CORALOGIX_PRIVATE_KEY}"
|
|
# domain: "{{.Values.global.domain}}"
|
|
# traces:
|
|
# endpoint: "{{ .Values.global.traces.endpoint }}"
|
|
# metrics:
|
|
# endpoint: "{{ .Values.global.metrics.endpoint }}"
|
|
# logs:
|
|
# endpoint: "{{ .Values.global.logs.endpoint }}"
|
|
# application_name_attributes:
|
|
# - "k8s.namespace.name"
|
|
# - "service.namespace"
|
|
# subsystem_name_attributes:
|
|
# - "k8s.deployment.name"
|
|
# - "k8s.statefulset.name"
|
|
# - "k8s.daemonset.name"
|
|
# - "k8s.cronjob.name"
|
|
# - "k8s.job.name"
|
|
# - "k8s.container.name"
|
|
# - "k8s.node.name"
|
|
# - "service.name"
|
|
# application_name: "{{.Values.global.defaultApplicationName }}"
|
|
# subsystem_name: "{{.Values.global.defaultSubsystemName }}"
|
|
processors:
|
|
k8sattributes:
|
|
filter:
|
|
node_from_env_var: KUBE_NODE_NAME
|
|
extract:
|
|
metadata:
|
|
- "k8s.namespace.name"
|
|
- "k8s.deployment.name"
|
|
- "k8s.statefulset.name"
|
|
- "k8s.daemonset.name"
|
|
- "k8s.cronjob.name"
|
|
- "k8s.job.name"
|
|
- "k8s.pod.name"
|
|
- "k8s.node.name"
|
|
memory_limiter: null # Will get the k8s resource limits
|
|
resourcedetection/env:
|
|
detectors: ["system","env"]
|
|
timeout: 2s
|
|
override: false
|
|
# spanmetrics:
|
|
# metrics_exporter: coralogix
|
|
# dimensions:
|
|
# - name: "k8s.deployment.name"
|
|
# - name: "k8s.statefulset.name"
|
|
# - name: "k8s.daemonset.name"
|
|
# - name: "k8s.cronjob.name"
|
|
# - name: "k8s.job.name"
|
|
# - name: "k8s.container.name"
|
|
# - name: "k8s.node.name"
|
|
# - name: "k8s.namespace.name"
|
|
receivers:
|
|
otlp:
|
|
protocols:
|
|
grpc:
|
|
endpoint: ${MY_POD_IP}:4317
|
|
http:
|
|
endpoint: ${MY_POD_IP}:4318
|
|
zipkin:
|
|
endpoint: ${MY_POD_IP}:9411
|
|
jaeger:
|
|
protocols:
|
|
grpc:
|
|
endpoint: ${MY_POD_IP}:14250
|
|
thrift_http:
|
|
endpoint: ${MY_POD_IP}:14268
|
|
thrift_compact:
|
|
endpoint: ${MY_POD_IP}:6831
|
|
thrift_binary:
|
|
endpoint: ${MY_POD_IP}:6832
|
|
prometheus:
|
|
config:
|
|
scrape_configs:
|
|
- job_name: opentelemetry-collector
|
|
scrape_interval: 30s
|
|
static_configs:
|
|
- targets:
|
|
- ${MY_POD_IP}:8888
|
|
service:
|
|
extensions:
|
|
# - zpages
|
|
# - pprof
|
|
- health_check
|
|
# - memory_ballast
|
|
telemetry:
|
|
metrics:
|
|
address: ${env:MY_POD_IP}:8888
|
|
pipelines:
|
|
traces:
|
|
exporters:
|
|
- loadbalancing
|
|
processors:
|
|
- memory_limiter
|
|
# - spanmetrics
|
|
- batch
|
|
receivers:
|
|
- otlp
|
|
metrics: null
|
|
logs: null
|
|
tolerations:
|
|
- operator: Exists
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 200Mi
|
|
limits:
|
|
cpu: 1
|
|
memory: 2G
|
|
|
|
ports:
|
|
jaeger-binary:
|
|
enabled: true
|
|
containerPort: 6832
|
|
servicePort: 6832
|
|
hostPort: 6832
|
|
protocol: TCP
|
|
# In order to enable podMonitor, following part must be enabled in order to expose the required port:
|
|
# metrics:
|
|
# enabled: true
|
|
|
|
# podMonitor:
|
|
# enabled: true
|
|
|
|
# prometheusRule:
|
|
# enabled: true
|
|
# defaultRules:
|
|
# enabled: true
|
|
|
|
# Annotations to be added to pod
|
|
podAnnotations:
|
|
otel.io/path: "/metrics"
|
|
otel.io/scrape: "true"
|
|
otel.io/port: "8888"
|
|
|
|
affinity:
|
|
nodeAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
nodeSelectorTerms:
|
|
- matchExpressions:
|
|
- key: p-demand-contour-ext
|
|
operator: NotIn
|
|
values:
|
|
- dedicated
|
|
- key: p-demand-contour-int-0
|
|
operator: NotIn
|
|
values:
|
|
- dedicated
|
|
- key: p-demand-contour-int-1
|
|
operator: NotIn
|
|
values:
|
|
- dedicated
|
|
- key: p-demand-contour-int
|
|
operator: NotIn
|
|
values:
|
|
- dedicated
|
|
- key: node_pool
|
|
operator: NotIn
|
|
values:
|
|
- np-demand-default-prd-ase1
|
|
- key: dedicated
|
|
operator: NotIn
|
|
values:
|
|
- vmstorage
|
|
- vmselect
|
|
- vmagent
|
|
- vminsert |