feat: add opentelemetry-collector helmfile setup
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
bases:
|
||||||
|
- ../envs/environments.yaml.gotmpl
|
||||||
|
|
||||||
|
repositories:
|
||||||
|
- name: open-telemetry
|
||||||
|
url: https://open-telemetry.github.io/opentelemetry-helm-charts
|
||||||
|
|
||||||
|
commonLabels:
|
||||||
|
tier: system
|
||||||
|
|
||||||
|
releases:
|
||||||
|
- name: manifests
|
||||||
|
namespace: otel
|
||||||
|
chart: manifests
|
||||||
|
condition: otel.enabled
|
||||||
|
missingFileHandler: Info
|
||||||
|
values:
|
||||||
|
- ../values/env.yaml
|
||||||
|
- ../values/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml
|
||||||
|
- ../values/opentelemtery-collector/env.yaml.gotmpl
|
||||||
|
- ../values/opentelemtery-collector/env-{{ requiredEnv "ARGOCD_ENV_CLUSTER_NAME" }}.yaml.gotmpl
|
||||||
|
hooks:
|
||||||
|
- events: [ prepare, cleanup ]
|
||||||
|
showlogs: true
|
||||||
|
command: ../bin/helmify
|
||||||
|
args:
|
||||||
|
- '{{`{{ if eq .Event.Name "prepare" }}build{{ else }}clean{{ end }}`}}'
|
||||||
|
- '{{`{{ .Release.Chart }}`}}'
|
||||||
|
- '{{`{{ .Environment.Name }}`}}'
|
||||||
|
- ../values/opentelemtery-collector/manifests
|
||||||
|
- manifests
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
otel:
|
||||||
|
enabled: true
|
||||||
|
autosync: false
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
otel:
|
||||||
|
enabled: true
|
||||||
|
autosync: false
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
{{- if .Values.clusterConfig.argo.enabled }}
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: opentelemetry-collector
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
namespace: otel
|
||||||
|
server: 'https://kubernetes.default.svc'
|
||||||
|
project: sys
|
||||||
|
syncPolicy:
|
||||||
|
# managedNamespaceMetadata:
|
||||||
|
# labels:
|
||||||
|
# component: aux
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
{{- if .Values.otel.autosync }}
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
{{- end }}
|
||||||
|
sources:
|
||||||
|
- repoURL: 'https://open-telemetry.github.io/opentelemetry-helm-charts'
|
||||||
|
targetRevision: 0.107.0
|
||||||
|
chart: opentelemetry-collector
|
||||||
|
helm:
|
||||||
|
valueFiles:
|
||||||
|
- $values/values/opentelemetry-collector/values.yaml
|
||||||
|
- repoURL: {{ .Values.clusterConfig.manifests }}
|
||||||
|
targetRevision: main
|
||||||
|
ref: values
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
mode: deployment
|
||||||
|
image:
|
||||||
|
repository: otel/opentelemetry-collector-k8s
|
||||||
|
service:
|
||||||
|
type: LoadBalancer
|
||||||
|
loadBalancerIP: 10.255.241.12
|
||||||
|
config:
|
||||||
|
receivers:
|
||||||
|
prometheus/collector:
|
||||||
|
config:
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: 'opentelemetry-collector'
|
||||||
|
static_configs:
|
||||||
|
- targets:
|
||||||
|
- ${env:MY_POD_IP}:8888
|
||||||
|
zipkin:
|
||||||
|
endpoint: ${env:MY_POD_IP}:9411
|
||||||
|
exporters:
|
||||||
|
otlp:
|
||||||
|
endpoint: "tempo.tempo.svc:4317"
|
||||||
|
tls:
|
||||||
|
insecure: true
|
||||||
|
otlphttp/metrics:
|
||||||
|
endpoint: http://prom-prometheus.prometheus:9090/api/v1/otlp
|
||||||
|
tls:
|
||||||
|
insecure: true
|
||||||
|
otlphttp/logs:
|
||||||
|
endpoint: http://loki-write-headless.loki:3100/otlp
|
||||||
|
tls:
|
||||||
|
insecure: true
|
||||||
|
debug/metrics:
|
||||||
|
verbosity: detailed
|
||||||
|
debug/traces:
|
||||||
|
verbosity: detailed
|
||||||
|
debug/logs:
|
||||||
|
verbosity: detailed
|
||||||
|
service:
|
||||||
|
telemetry:
|
||||||
|
logs:
|
||||||
|
level: "info"
|
||||||
|
pipelines:
|
||||||
|
traces:
|
||||||
|
receivers: [otlp,zipkin]
|
||||||
|
processors: [batch]
|
||||||
|
exporters: [otlp]
|
||||||
|
# exporters: [otlphttp/traces,debug/traces]
|
||||||
|
metrics:
|
||||||
|
receivers: [otlp,prometheus/collector]
|
||||||
|
processors: [batch]
|
||||||
|
exporters: [otlphttp/metrics]
|
||||||
|
# exporters: [otlphttp/metrics,debug/metrics]
|
||||||
|
logs:
|
||||||
|
receivers: [otlp]
|
||||||
|
processors: [batch]
|
||||||
|
exporters: [otlphttp/logs]
|
||||||
|
# exporters: [otlphttp/logs,debug/logs]
|
||||||
|
ports:
|
||||||
|
metrics:
|
||||||
|
enabled: true
|
||||||
|
# presets:
|
||||||
|
# logsCollection:
|
||||||
|
# enabled: true
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt-production
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
oceanbox.io/expose: internal
|
||||||
|
ingressClassName: nginx
|
||||||
|
hosts:
|
||||||
|
- host: opentelemetry-collector.adm.oceanbox.io
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
port: 4318
|
||||||
|
tls:
|
||||||
|
- secretName: collector-tls
|
||||||
|
hosts:
|
||||||
|
- opentelemetry-collector.adm.oceanbox.io
|
||||||
Reference in New Issue
Block a user