196 lines
6.1 KiB
YAML
196 lines
6.1 KiB
YAML
apiVersion: helm.toolkit.fluxcd.io/v2
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: opentelemetry-collector
|
|
namespace: opentelemetry-collector
|
|
spec:
|
|
interval: 5m
|
|
timeout: 30m
|
|
dependsOn:
|
|
- name: openobserve
|
|
namespace: openobserve
|
|
install:
|
|
disableWait: true
|
|
remediation:
|
|
retries: 3
|
|
upgrade:
|
|
disableWait: true
|
|
remediation:
|
|
retries: 3
|
|
values:
|
|
mode: daemonset
|
|
fullnameOverride: otel-collector
|
|
serviceAccount:
|
|
create: true
|
|
name: openobserve-vault
|
|
podAnnotations:
|
|
vault.hashicorp.com/agent-init-first: "true"
|
|
vault.hashicorp.com/agent-inject: "true"
|
|
vault.hashicorp.com/agent-pre-populate-only: "true"
|
|
vault.hashicorp.com/auth-path: auth/kubernetes
|
|
vault.hashicorp.com/role: openobserve
|
|
vault.hashicorp.com/agent-inject-secret-openobserve-basic-auth: secrets/data/vault/apps/openobserve
|
|
vault.hashicorp.com/agent-inject-template-openobserve-basic-auth: |-
|
|
{{ "{{- with secret \"secrets/data/vault/apps/openobserve\" -}}" }}
|
|
Basic {{ "{{ index .Data.data \"OPENOBSERVE_BASIC_AUTH\" }}" }}
|
|
{{ "{{- end -}}" }}
|
|
tolerations:
|
|
- operator: Exists
|
|
rollout:
|
|
rollingUpdate:
|
|
maxUnavailable: 4
|
|
presets:
|
|
logsCollection:
|
|
enabled: true
|
|
includeCollectorLogs: false
|
|
kubernetesAttributes:
|
|
enabled: true
|
|
alternateConfig:
|
|
exporters:
|
|
otlphttp/openobserve:
|
|
endpoint: http://openobserve-web.openobserve.svc.cluster.local:5080/api/default
|
|
headers:
|
|
Authorization: ${file:/vault/secrets/openobserve-basic-auth}
|
|
retry_on_failure:
|
|
enabled: true
|
|
sending_queue:
|
|
enabled: true
|
|
num_consumers: 5
|
|
queue_size: 8192
|
|
tls:
|
|
insecure: true
|
|
extensions:
|
|
health_check:
|
|
endpoint: ${env:MY_POD_IP}:13133
|
|
processors:
|
|
batch:
|
|
send_batch_max_size: 2048
|
|
send_batch_size: 1024
|
|
timeout: 5s
|
|
filter/drop_timeouts:
|
|
logs:
|
|
exclude:
|
|
match_type: regexp
|
|
bodies:
|
|
- '^Timeouts: user.*'
|
|
k8sattributes: {}
|
|
resource:
|
|
attributes:
|
|
- action: insert
|
|
key: k8s.cluster.name
|
|
value: yc-k8s-test
|
|
- action: insert
|
|
key: deployment.environment
|
|
value: contour
|
|
- action: insert
|
|
key: host.name
|
|
from_attribute: k8s.node.name
|
|
transform/remove_body:
|
|
error_mode: ignore
|
|
trace_statements:
|
|
- delete_key(span.attributes, "body")
|
|
receivers:
|
|
filelog:
|
|
exclude:
|
|
- /var/log/pods/*/otel-collector/*.log
|
|
- /var/log/pods/*/otel-collector-*/*.log
|
|
- /var/log/pods/*/opentelemetry-collector-prod/*.log
|
|
- /var/log/pods/*/opentelemetry-collector-*/*.log
|
|
- /var/log/pods/kube-system_*/*/*.log
|
|
- /var/log/pods/istio-system_*/*/*.log
|
|
- /var/log/pods/*/*/istio-*/*.log
|
|
- /var/log/pods/*/istio-*/*.log
|
|
include:
|
|
- /var/log/pods/*/*/*.log
|
|
include_file_name: false
|
|
include_file_path: true
|
|
operators:
|
|
- id: container-parser
|
|
type: container
|
|
max_log_size: 102400
|
|
- id: json-body-parser
|
|
type: json_parser
|
|
parse_from: body
|
|
parse_to: attributes
|
|
if: 'body matches "^\\s*\\{"'
|
|
on_error: send_quiet
|
|
- id: json-msg-parser
|
|
type: json_parser
|
|
parse_from: attributes.msg
|
|
parse_to: attributes
|
|
if: 'attributes.msg != nil and attributes.msg matches "^\\s*\\{"'
|
|
on_error: send_quiet
|
|
- id: severity-from-level
|
|
type: severity_parser
|
|
parse_from: attributes.level
|
|
if: 'attributes.level != nil'
|
|
overwrite_text: true
|
|
on_error: send_quiet
|
|
- id: trace-from-json
|
|
type: trace_parser
|
|
trace_id:
|
|
parse_from: attributes.trace_id
|
|
span_id:
|
|
parse_from: attributes.span_id
|
|
if: 'attributes.trace_id != nil and attributes.span_id != nil'
|
|
on_error: send_quiet
|
|
- id: user-id-from-request
|
|
type: copy
|
|
from: attributes.request.user_id
|
|
to: attributes.user_id
|
|
if: 'attributes.request != nil and attributes.request.user_id != nil'
|
|
on_error: send_quiet
|
|
- id: company-id-from-request
|
|
type: copy
|
|
from: attributes.request.company_id
|
|
to: attributes.company_id
|
|
if: 'attributes.request != nil and attributes.request.company_id != nil'
|
|
on_error: send_quiet
|
|
- id: message-to-body
|
|
type: copy
|
|
from: attributes.message
|
|
to: body
|
|
if: 'attributes.message != nil'
|
|
on_error: send_quiet
|
|
retry_on_failure:
|
|
enabled: true
|
|
start_at: end
|
|
otlp:
|
|
protocols:
|
|
grpc:
|
|
endpoint: 0.0.0.0:4317
|
|
http:
|
|
endpoint: 0.0.0.0:4318
|
|
zipkin:
|
|
endpoint: 0.0.0.0:9411
|
|
service:
|
|
extensions:
|
|
- health_check
|
|
pipelines:
|
|
logs:
|
|
exporters:
|
|
- otlphttp/openobserve
|
|
processors:
|
|
- k8sattributes
|
|
- resource
|
|
- filter/drop_timeouts
|
|
- batch
|
|
receivers:
|
|
- filelog
|
|
traces:
|
|
exporters:
|
|
- otlphttp/openobserve
|
|
processors:
|
|
- k8sattributes
|
|
- resource
|
|
- transform/remove_body
|
|
- batch
|
|
receivers:
|
|
- otlp
|
|
- zipkin
|
|
telemetry:
|
|
logs:
|
|
level: info
|
|
metrics:
|
|
address: ${env:MY_POD_IP}:8888
|