Skip to content

Commit

Permalink
feat(opentelemetry-collector): add Signoz as exporter
Browse files Browse the repository at this point in the history
Signed-off-by: Nicolas Lamirault <[email protected]>
  • Loading branch information
nlamirault committed Mar 3, 2025
1 parent d3e0145 commit 882a50b
Show file tree
Hide file tree
Showing 5 changed files with 109 additions and 59 deletions.
8 changes: 4 additions & 4 deletions gitops/argocd/charts/observability/signoz/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ appVersion: 1.0.0
dependencies:
- name: signoz
repository: https://charts.signoz.io
version: 0.72.0
- name: k8s-infra
repository: https://charts.signoz.io
version: 0.12.1
version: 0.73.0
# - name: k8s-infra
# repository: https://charts.signoz.io
# version: 0.12.1
28 changes: 14 additions & 14 deletions gitops/argocd/charts/observability/signoz/values-talos-homelab.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -248,17 +248,17 @@ signoz:
cpu: 200m
memory: 1Gi

k8s-infra:
clusterName: portefaix-talos-homelab
otelCollectorEndpoint: signoz-otel-collector.observability.svc.cluster.local:4317

otelDeployment:
nodeSelector:
kubernetes.io/arch: amd64

otelAgent:
# TODO: bump to Talos https://github.com/siderolabs/talos/releases/tag/v1.8.3
# See: https://github.com/siderolabs/talos/issues/9630
podSecurityContext:
runAsUser: 0
runAsGroup: 0
# k8s-infra:
# clusterName: portefaix-talos-homelab
# otelCollectorEndpoint: signoz-otel-collector.observability.svc.cluster.local:4317

# otelDeployment:
# nodeSelector:
# kubernetes.io/arch: amd64

# otelAgent:
# # TODO: bump to Talos https://github.com/siderolabs/talos/releases/tag/v1.8.3
# # See: https://github.com/siderolabs/talos/issues/9630
# podSecurityContext:
# runAsUser: 0
# runAsGroup: 0
26 changes: 13 additions & 13 deletions gitops/argocd/charts/observability/signoz/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,16 @@ signoz:
logsjson:
enabled: true

k8s-infra:
presets:
loggingExporter:
enabled: false
# Verbosity of the logging export: basic, normal, detailed
verbosity: basic
blacklist:
enabled: true
signozLogs: false
namespaces:
- test
- poc
pods: []
# k8s-infra:
# presets:
# loggingExporter:
# enabled: false
# # Verbosity of the logging export: basic, normal, detailed
# verbosity: basic
# blacklist:
# enabled: true
# signozLogs: false
# namespaces:
# - test
# - poc
# pods: []
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ opentelemetry-logs:
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: K8S_CLUSTER_NAME
value: "portefaix-talos-homelab"
- name: K8S_ENVIRONMENT_NAME
value: "homelab"
# - name: K8S_CLUSTER_NAME
# value: "portefaix-talos-homelab"
# - name: K8S_ENVIRONMENT_NAME
# value: "homelab"
# - name: OTEL_RESOURCE_ATTRIBUTES
# value: "k8s.cluster.name=$(K8S_CLUSTER_NAME),\
# k8s.pod.ip=$(KUBE_POD_IP),\
Expand All @@ -39,10 +39,10 @@ opentelemetry-metrics:
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: K8S_CLUSTER_NAME
value: "portefaix-talos-homelab"
- name: K8S_ENVIRONMENT_NAME
value: "homelab"
# - name: K8S_CLUSTER_NAME
# value: "portefaix-talos-homelab"
# - name: K8S_ENVIRONMENT_NAME
# value: "homelab"

opentelemetry-metrics-cluster:
extraEnvs:
Expand All @@ -57,12 +57,30 @@ opentelemetry-metrics-cluster:
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: K8S_CLUSTER_NAME
value: "portefaix-talos-homelab"
- name: K8S_ENVIRONMENT_NAME
value: "homelab"
# - name: K8S_CLUSTER_NAME
# value: "portefaix-talos-homelab"
# - name: K8S_ENVIRONMENT_NAME
# value: "homelab"

opentelemetry-traces:
extraEnvs:
- name: OTEL_RESOURCE_ATTRIBUTES
value: "k8s.pod.ip=$(MY_POD_IP)"
- name: K8S_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
# - name: K8S_NODE_NAME
# valueFrom:
# fieldRef:
# fieldPath: spec.nodeName
# - name: K8S_CLUSTER_NAME
# value: "portefaix-talos-homelab"
# - name: K8S_ENVIRONMENT_NAME
# value: "homelab"

opentelemetry-gateway:
extraEnvs:
- name: OTEL_RESOURCE_ATTRIBUTES
value: "k8s.pod.ip=$(MY_POD_IP)"
Expand All @@ -82,6 +100,7 @@ opentelemetry-traces:




# opentelemetry-collector:
# resources:
# limits:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,9 +163,9 @@ opentelemetry-logs:
log_statements:
- context: resource
statements:
- set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
- set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
- set(attributes["deployment.environment.name"], "${K8S_ENVIRONMENT_NAME}")
# - set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
# - set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
# - set(attributes["deployment.environment.name"], "${K8S_ENVIRONMENT_NAME}")
- set(attributes["loki.attribute.labels"], "node, deployment, namespace, container, pod, app")

# redaction/card-numbers:
Expand Down Expand Up @@ -497,13 +497,13 @@ opentelemetry-metrics:
name: k8s.namespace.name
- sources:
- from: connection
transform:
metric_statements:
- context: resource
statements:
- set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
- set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
- set(attributes["deployment.environment.name"], "${K8S_ENVIRONMENT_NAME}")
# transform:
# metric_statements:
# - context: resource
# statements:
# - set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
# - set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
# - set(attributes["deployment.environment.name"], "${K8S_ENVIRONMENT_NAME}")

exporters:
otlphttp/gateway:
Expand Down Expand Up @@ -939,12 +939,12 @@ opentelemetry-traces:
name: k8s.namespace.name
- sources:
- from: connection
transform:
trace_statements:
- context: resource
statements:
- set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
- set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
# transform:
# trace_statements:
# - context: resource
# statements:
# - set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
# - set(attributes["cluster"], "${K8S_CLUSTER_NAME}")

exporters:
otlphttp/gateway:
Expand Down Expand Up @@ -1083,6 +1083,31 @@ opentelemetry-gateway:
send_batch_max_size: 100
send_batch_size: 10
timeout: 10s
transform:
log_statements:
- context: resource
statements:
- set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
- set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
- set(attributes["deployment.environment.name"], "${K8S_ENVIRONMENT_NAME}")
# https://github.com/SigNoz/signoz/issues/6143
- set(attributes["deployment.environment"], "${K8S_ENVIRONMENT_NAME}")
metric_statements:
- context: resource
statements:
- set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
- set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
- set(attributes["deployment.environment.name"], "${K8S_ENVIRONMENT_NAME}")
# https://github.com/SigNoz/signoz/issues/6143
- set(attributes["deployment.environment"], "${K8S_ENVIRONMENT_NAME}")
trace_statements:
- context: resource
statements:
- set(attributes["k8s.cluster.name"], "${K8S_CLUSTER_NAME}")
- set(attributes["cluster"], "${K8S_CLUSTER_NAME}")
- set(attributes["deployment.environment.name"], "${K8S_ENVIRONMENT_NAME}")
# https://github.com/SigNoz/signoz/issues/6143
- set(attributes["deployment.environment"], "${K8S_ENVIRONMENT_NAME}")

extensions:
basicauth/grafana_cloud:
Expand Down Expand Up @@ -1170,6 +1195,9 @@ opentelemetry-gateway:
"Content-Type": "application/json"
"x-oneuptime-token": "${ONEUPTIME_TOKEN}"

# Endpoints in the cluster
# ---------------------------

otlphttp/loki:
endpoint: http://loki-gateway.logging.svc.cluster.local:80/otlp
# otlphttp/mimir:
Expand All @@ -1179,6 +1207,9 @@ opentelemetry-gateway:
tls:
insecure: true

otlphttp/signoz:
endpoint: http://signoz.observability.svc.cluster.local:80/otlp

service:
telemetry:
logs:
Expand Down

0 comments on commit 882a50b

Please sign in to comment.