values.yaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. # Default values for opentelemetry-collector.
  2. # This is a YAML-formatted file.
  3. # Declare variables to be passed into your templates.
  4. nameOverride: ""
  5. fullnameOverride: ""
  6. # Valid values are "daemonset", "deployment", and "statefulset".
  7. mode: "daemonset"
  8. # Handles basic configuration of components that
  9. # also require k8s modifications to work correctly.
  10. # .Values.config can be used to modify/add to a preset
  11. # component configuration, but CANNOT be used to remove
  12. # preset configuration. If you require removal of any
  13. # sections of a preset configuration, you cannot use
  14. # the preset. Instead, configure the component manually in
  15. # .Values.config and use the other fields supplied in the
  16. # values.yaml to configure k8s as necessary.
  17. presets:
  18. # Configures the collector to collect logs.
  19. # Adds the filelog receiver to the logs pipeline
  20. # and adds the necessary volumes and volume mounts.
  21. # Best used with mode = daemonset.
  22. logsCollection:
  23. enabled: false
  24. includeCollectorLogs: false
  25. # Enabling this writes checkpoints in /var/lib/otelcol/ host directory.
  26. # Note this changes collector's user to root, so that it can write to host directory.
  27. storeCheckpoints: false
  28. # Configures the collector to collect host metrics.
  29. # Adds the hostmetrics receiver to the metrics pipeline
  30. # and adds the necessary volumes and volume mounts.
  31. # Best used with mode = daemonset.
  32. hostMetrics:
  33. enabled: false
  34. # Configures the Kubernetes Processor to add Kubernetes metadata.
  35. # Adds the k8sattributes processor to all the pipelines
  36. # and adds the necessary rules to ClusteRole.
  37. # Best used with mode = daemonset.
  38. kubernetesAttributes:
  39. enabled: false
  40. # Configures the Kubernetes Cluster Receiver to collect cluster-level metrics.
  41. # Adds the k8s_cluster receiver to the metrics pipeline
  42. # and adds the necessary rules to ClusteRole.
  43. # Best used with mode = deployment or statefulset.
  44. clusterMetrics:
  45. enabled: false
  46. # Configures the collector to collect Kubelet metrics.
  47. # Adds the kubeletstats receiver to the metrics pipeline
  48. # and adds the necessary rules to ClusteRole.
  49. # Best used with mode = daemonset.
  50. kubeletMetrics:
  51. enabled: false
  52. configMap:
  53. # Specifies whether a configMap should be created (true by default)
  54. create: true
  55. # Base collector configuration.
  56. # Supports templating. To escape existing instances of {{ }}, use {{` <original content> `}}.
  57. # For example, {{ REDACTED_EMAIL }} becomes {{` {{ REDACTED_EMAIL }} `}}.
  58. config:
  59. exporters:
  60. otlphttp/uptrace:
  61. #endpoint: http://39.106.74.84:34318
  62. endpoint: http://uptrace.observe.svc.cluster.local:14318
  63. tls:
  64. insecure: true
  65. headers:
  66. # uptrace-dsn: 'http://project2_secret_token@39.106.74.84:34318/2'
  67. uptrace-dsn: 'http://project2_secret_token@uptrace.observe.svc.cluster.local:14318/2'
  68. logging: {}
  69. otlp:
  70. endpoint: "tempo.observe.svc.cluster.local:4317"
  71. tls:
  72. insecure: true
  73. prometheus:
  74. endpoint: "0.0.0.0:8889"
  75. #namespace: default
  76. clickhouse:
  77. endpoint: "tcp://clickhouse-headless.observe.svc.cluster.local:9000?dial_timeout=10s&compress=lz4"
  78. database: otel
  79. username: default
  80. password: "cecf@cestong.com"
  81. ttl_days: 10
  82. #logs_table: otel_logs
  83. #traces_table: otel_traces
  84. #metrics_table: otel_metrics
  85. timeout: 5s
  86. retry_on_failure:
  87. enabled: true
  88. initial_interval: 5s
  89. max_interval: 30s
  90. max_elapsed_time: 300s
  91. kafka:
  92. brokers:
  93. - kafka-headless.observe.svc.cluster.local:9092
  94. # - kafka-0.kafka-headless.observe.svc.cluster.local:9092
  95. protocol_version: 2.0.0
  96. encoding: otlp_json
  97. topic: otel
  98. #kafka:
  99. #brokers:
  100. #- kafka-0.kafka-svc.kafka.svc.cluster.local:9092
  101. #topic: trace2
  102. #encoding: "json"
  103. extensions:
  104. # The health_check extension is mandatory for this chart.
  105. # Without the health_check extension the collector will fail the readiness and liveliness probes.
  106. # The health_check extension can be modified, but should never be removed.
  107. health_check: {}
  108. memory_ballast: {}
  109. processors:
  110. k8sattributes:
  111. extract:
  112. annotations:
  113. - from: pod
  114. key: workload
  115. tag_name: k8s.annotations.workload
  116. labels:
  117. - from: pod
  118. key: app
  119. tag_name: k8s.labels.app
  120. metadata:
  121. - k8s.pod.name
  122. - k8s.pod.start_time
  123. - k8s.pod.uid
  124. - k8s.namespace.name
  125. - k8s.node.name
  126. - container.image.name
  127. - container.image.tag
  128. pod_association:
  129. - sources:
  130. - from: connection
  131. - sources:
  132. - from: resource_attribute
  133. name: k8s.pod.ip
  134. - sources:
  135. - from: resource_attribute
  136. name: k8s.pod.uid
  137. - sources:
  138. - from: resource_attribute
  139. name: container.id
  140. batch:
  141. send_batch_max_size: 100
  142. send_batch_size: 100
  143. timeout: 10s
  144. # If set to null, will be overridden with values based on k8s resource limits
  145. memory_limiter: null
  146. receivers:
  147. jaeger:
  148. protocols:
  149. grpc:
  150. endpoint: ${MY_POD_IP}:14250
  151. thrift_http:
  152. endpoint: ${MY_POD_IP}:14268
  153. thrift_compact:
  154. endpoint: ${MY_POD_IP}:6831
  155. otlp:
  156. protocols:
  157. grpc:
  158. endpoint: ${MY_POD_IP}:4317
  159. http:
  160. endpoint: ${MY_POD_IP}:4318
  161. prometheus:
  162. config:
  163. scrape_configs:
  164. - job_name: opentelemetry-collector
  165. scrape_interval: 10s
  166. static_configs:
  167. - targets:
  168. - ${MY_POD_IP}:8888
  169. zipkin:
  170. endpoint: ${MY_POD_IP}:9411
  171. service:
  172. telemetry:
  173. metrics:
  174. address: ${MY_POD_IP}:8888
  175. logs:
  176. level: INFO
  177. extensions:
  178. - health_check
  179. - memory_ballast
  180. pipelines:
  181. logs:
  182. exporters:
  183. - clickhouse
  184. - otlphttp/uptrace
  185. processors:
  186. - memory_limiter
  187. - batch
  188. receivers:
  189. - otlp
  190. metrics:
  191. exporters:
  192. - clickhouse
  193. - prometheus
  194. - otlphttp/uptrace
  195. processors:
  196. - memory_limiter
  197. - batch
  198. receivers:
  199. - otlp
  200. - prometheus
  201. traces:
  202. exporters:
  203. - otlp
  204. - clickhouse
  205. - otlphttp/uptrace
  206. - kafka
  207. processors:
  208. - memory_limiter
  209. - batch
  210. - k8sattributes
  211. receivers:
  212. - otlp
  213. image:
  214. # If you want to use the core image `otel/opentelemetry-collector`, you also need to change `command.name` value to `otelcol`.
  215. #repository: otel/opentelemetry-collector-contrib
  216. repository: reg.cestong.com.cn/cecf/opentelemetry-collector-contrib
  217. pullPolicy: Always
  218. # Overrides the image tag whose default is the chart appVersion.
  219. tag: "latest"
  220. # When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value).
  221. digest: ""
  222. imagePullSecrets: []
  223. # OpenTelemetry Collector executable
  224. command:
  225. name: otelcontribcol
  226. extraArgs: []
  227. serviceAccount:
  228. # Specifies whether a service account should be created
  229. create: true
  230. # Annotations to add to the service account
  231. annotations: {}
  232. # The name of the service account to use.
  233. # If not set and create is true, a name is generated using the fullname template
  234. name: ""
  235. clusterRole:
  236. # Specifies whether a clusterRole should be created
  237. # Some presets also trigger the creation of a cluster role and cluster role binding.
  238. # If using one of those presets, this field is no-op.
  239. create: false
  240. # Annotations to add to the clusterRole
  241. # Can be used in combination with presets that create a cluster role.
  242. annotations: {}
  243. # The name of the clusterRole to use.
  244. # If not set a name is generated using the fullname template
  245. # Can be used in combination with presets that create a cluster role.
  246. name: ""
  247. # A set of rules as documented here : https://kubernetes.io/docs/reference/access-authn-authz/rbac/
  248. # Can be used in combination with presets that create a cluster role to add additional rules.
  249. rules: []
  250. # - apiGroups:
  251. # - ''
  252. # resources:
  253. # - 'pods'
  254. # - 'nodes'
  255. # verbs:
  256. # - 'get'
  257. # - 'list'
  258. # - 'watch'
  259. clusterRoleBinding:
  260. # Annotations to add to the clusterRoleBinding
  261. # Can be used in combination with presets that create a cluster role binding.
  262. annotations: {}
  263. # The name of the clusterRoleBinding to use.
  264. # If not set a name is generated using the fullname template
  265. # Can be used in combination with presets that create a cluster role binding.
  266. name: ""
  267. podSecurityContext: {}
  268. securityContext: {}
  269. nodeSelector: {}
  270. tolerations: []
  271. affinity: {}
  272. topologySpreadConstraints: {}
  273. # Allows for pod scheduler prioritisation
  274. priorityClassName: ""
  275. extraEnvs: []
  276. extraVolumes: []
  277. extraVolumeMounts: []
  278. # Configuration for ports
  279. # nodePort is also allowed
  280. ports:
  281. otlp:
  282. enabled: true
  283. containerPort: 4317
  284. servicePort: 4317
  285. #hostPort: 4317
  286. protocol: TCP
  287. nodePort: 30317
  288. appProtocol: grpc
  289. otlp-http:
  290. enabled: true
  291. containerPort: 4318
  292. servicePort: 4318
  293. #hostPort: 4318
  294. # nodePort: 30318
  295. protocol: TCP
  296. jaeger-compact:
  297. enabled: true
  298. containerPort: 6831
  299. servicePort: 6831
  300. #hostPort: 6831
  301. protocol: UDP
  302. jaeger-thrift:
  303. enabled: true
  304. containerPort: 14268
  305. servicePort: 14268
  306. #hostPort: 14268
  307. protocol: TCP
  308. jaeger-grpc:
  309. enabled: true
  310. containerPort: 14250
  311. servicePort: 14250
  312. #hostPort: 14250
  313. protocol: TCP
  314. prome:
  315. enabled: true
  316. containerPort: 8889
  317. servicePort: 8889
  318. protocol: TCP
  319. zipkin:
  320. enabled: true
  321. containerPort: 9411
  322. servicePort: 9411
  323. #hostPort: 9411
  324. protocol: TCP
  325. metrics:
  326. # The metrics port is disabled by default. However you need to enable the port
  327. # in order to use the ServiceMonitor (serviceMonitor.enabled) or PodMonitor (podMonitor.enabled).
  328. enabled: true
  329. containerPort: 8888
  330. servicePort: 8888
  331. protocol: TCP
  332. # Resource limits & requests. Update according to your own use case as these values might be too low for a typical deployment.
  333. resources:
  334. limits:
  335. cpu: 256m
  336. memory: 512Mi
  337. podAnnotations:
  338. prometheus.io/scrape: "true"
  339. prometheus.io/path: /metrics
  340. prometheus.io/port: "8889"
  341. podLabels: {}
  342. # Host networking requested for this pod. Use the host's network namespace.
  343. hostNetwork: false
  344. # Pod DNS policy ClusterFirst, ClusterFirstWithHostNet, None, Default, None
  345. dnsPolicy: ""
  346. # only used with deployment mode
  347. replicaCount: 1
  348. # only used with deployment mode
  349. revisionHistoryLimit: 10
  350. annotations: {}
  351. # List of extra sidecars to add
  352. extraContainers: []
  353. # extraContainers:
  354. # - name: test
  355. # command:
  356. # - cp
  357. # args:
  358. # - /bin/sleep
  359. # - /test/sleep
  360. # image: busybox:latest
  361. # volumeMounts:
  362. # - name: test
  363. # mountPath: /test
  364. # List of init container specs, e.g. for copying a binary to be executed as a lifecycle hook.
  365. # Another usage of init containers is e.g. initializing filesystem permissions to the OTLP Collector user `10001` in case you are using persistence and the volume is producing a permission denied error for the OTLP Collector container.
  366. initContainers: []
  367. # initContainers:
  368. # - name: test
  369. # image: busybox:latest
  370. # command:
  371. # - cp
  372. # args:
  373. # - /bin/sleep
  374. # - /test/sleep
  375. # volumeMounts:
  376. # - name: test
  377. # mountPath: /test
  378. # - name: init-fs
  379. # image: busybox:latest
  380. # command:
  381. # - sh
  382. # - '-c'
  383. # - 'chown -R 10001: /var/lib/storage/otc' # use the path given as per `extensions.file_storage.directory` & `extraVolumeMounts[x].mountPath`
  384. # volumeMounts:
  385. # - name: opentelemetry-collector-data # use the name of the volume used for persistence
  386. # mountPath: /var/lib/storage/otc # use the path given as per `extensions.file_storage.directory` & `extraVolumeMounts[x].mountPath`
  387. # Pod lifecycle policies.
  388. lifecycleHooks: {}
  389. # lifecycleHooks:
  390. # preStop:
  391. # exec:
  392. # command:
  393. # - /test/sleep
  394. # - "5"
  395. service:
  396. #type: ClusterIP
  397. type: NodePort
  398. # type: LoadBalancer
  399. # loadBalancerIP: 1.2.3.4
  400. # loadBalancerSourceRanges: []
  401. annotations: {}
  402. ingress:
  403. enabled: true
  404. annotations:
  405. nginx.ingress.kubernetes.io/cors-allow-origin: "http://otel-demo.cestong.com.cn,http://localhost:3000,http://localhost:1234"
  406. nginx.ingress.kubernetes.io/enable-cors: "true"
  407. nginx.ingress.kubernetes.io/cors-allow-headers: "*"
  408. nginx.ingress.kubernetes.io/cors-allow-methods: "*"
  409. nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
  410. ingressClassName: nginx
  411. hosts:
  412. - host: otel-collector.cestong.com.cn
  413. paths:
  414. - path: /
  415. pathType: Prefix
  416. port: 4318
  417. # tls:
  418. # - secretName: collector-tls
  419. # hosts:
  420. # - collector.example.com
  421. # Additional ingresses - only created if ingress.enabled is true
  422. # Useful for when differently annotated ingress services are required
  423. # Each additional ingress needs key "name" set to something unique
  424. additionalIngresses: []
  425. # - name: cloudwatch
  426. # ingressClassName: nginx
  427. # annotations: {}
  428. # hosts:
  429. # - host: collector.example.com
  430. # paths:
  431. # - path: /
  432. # pathType: Prefix
  433. # port: 4318
  434. # tls:
  435. # - secretName: collector-tls
  436. # hosts:
  437. # - collector.example.com
  438. podMonitor:
  439. # The pod monitor by default scrapes the metrics port.
  440. # The metrics port needs to be enabled as well.
  441. enabled: false
  442. metricsEndpoints:
  443. - port: metrics
  444. # interval: 15s
  445. # additional labels for the PodMonitor
  446. extraLabels: {}
  447. # release: kube-prometheus-stack
  448. serviceMonitor:
  449. # The service monitor by default scrapes the metrics port.
  450. # The metrics port needs to be enabled as well.
  451. enabled: false
  452. metricsEndpoints:
  453. - port: metrics
  454. # interval: 15s
  455. # additional labels for the ServiceMonitor
  456. extraLabels: {}
  457. # release: kube-prometheus-stack
  458. # PodDisruptionBudget is used only if deployment enabled
  459. podDisruptionBudget:
  460. enabled: false
  461. # minAvailable: 2
  462. # maxUnavailable: 1
  463. # autoscaling is used only if deployment enabled
  464. autoscaling:
  465. enabled: false
  466. minReplicas: 1
  467. maxReplicas: 10
  468. targetCPUUtilizationPercentage: 80
  469. # targetMemoryUtilizationPercentage: 80
  470. rollout:
  471. rollingUpdate: {}
  472. # When 'mode: daemonset', maxSurge cannot be used when hostPort is set for any of the ports
  473. # maxSurge: 25%
  474. # maxUnavailable: 0
  475. strategy: RollingUpdate
  476. prometheusRule:
  477. enabled: false
  478. groups: []
  479. # Create default rules for monitoring the collector
  480. defaultRules:
  481. enabled: false
  482. # additional labels for the PrometheusRule
  483. extraLabels: {}
  484. statefulset:
  485. # volumeClaimTemplates for a statefulset
  486. volumeClaimTemplates: []
  487. podManagementPolicy: "Parallel"