apiVersion: v1 kind: ConfigMap metadata: namespace: tracing labels: app: data-prepper name: data-prepper-config data: pipelines.yaml: | entry-pipeline: workers : 8 delay: "100" buffer: bounded_blocking: # buffer_size is the number of ExportTraceRequest from otel-collector the data prepper should hold in memeory. # We recommend to keep the same buffer_size for all pipelines. # Make sure you configure sufficient heap # default value is 512 buffer_size: 4096 # This is the maximum number of request each worker thread will process within the delay. # Default is 8. # Make sure buffer_size >= workers * batch_size batch_size: 512 source: otel_trace_source: health_check_service: true ssl: false prepper: - peer_forwarder: discovery_mode: "dns" domain_name: "data-prepper-headless" ssl: false sink: - pipeline: name: "raw-pipeline" - pipeline: name: "service-map-pipeline" raw-pipeline: workers : 8 buffer: bounded_blocking: # Configure the same value as in otel-trace-pipeline # Make sure you configure sufficient heap # default value is 512 buffer_size: 4096 # The raw prepper does bulk request to your elasticsearch sink, so configure the batch_size higher. # If you use the recommended otel-collector setup each ExportTraceRequest could contain max 50 spans. https://github.com/opendistro-for-elasticsearch/data-prepper/tree/v0.7.x/deployment/aws # With 64 as batch size each worker thread could process upto 3200 spans (64 * 50) batch_size: 512 source: pipeline: name: "entry-pipeline" prepper: - otel_trace_raw_prepper: sink: - opensearch: hosts: - "https://opensearch-arn.us-east-1.es.amazonaws.com" insecure: false aws_sigv4: true aws_region: "region-name" trace_analytics_raw: true service-map-pipeline: workers : 1 delay: "100" source: pipeline: name: "entry-pipeline" prepper: - service_map_stateful: buffer: bounded_blocking: # buffer_size is the number of ExportTraceRequest from otel-collector the data prepper should hold in memory. # We recommend to keep the same buffer_size for all pipelines. # Make sure you configure sufficient heap # default value is 512 buffer_size: 512 # This is the maximum number of request each worker thread will process within the delay. # Default is 8. # Make sure buffer_size >= workers * batch_size batch_size: 8 sink: - opensearch: hosts: - "https://opensearch-arn.us-east-1.es.amazonaws.com" insecure: false aws_sigv4: true aws_region: "region-name" trace_analytics_service_map: true data-prepper-config.yaml: | ssl: false --- apiVersion: v1 kind: Service metadata: namespace: tracing labels: app: data-prepper name: data-prepper-headless spec: clusterIP: None ports: - name: "21890" port: 21890 targetPort: 21890 selector: app: data-prepper --- apiVersion: v1 kind: Service metadata: namespace: tracing labels: app: data-prepper name: data-prepper-metrics spec: type: NodePort ports: - name: "4900" port: 4900 targetPort: 4900 selector: app: data-prepper --- apiVersion: apps/v1 kind: Deployment metadata: namespace: tracing labels: app: data-prepper name: data-prepper spec: replicas: 4 selector: matchLabels: app: data-prepper strategy: type: Recreate template: metadata: annotations: prometheus.io/scrape: "true" prometheus.io/port: "4900" prometheus.io/path: "/metrics" sidecar.istio.io/inject: "false" labels: app: data-prepper spec: containers: - args: - java - -jar - /usr/share/data-prepper/data-prepper.jar - /etc/data-prepper/pipelines.yaml - /etc/data-prepper/data-prepper-config.yaml - -Dlog4j.configurationFile=config/log4j2.properties image: amazon/opendistro-for-elasticsearch-data-prepper:1.1.0 imagePullPolicy: IfNotPresent name: data-prepper resources: limits: cpu: 1 memory: 2Gi requests: cpu: 200m memory: 400Mi ports: - containerPort: 21890 volumeMounts: - mountPath: /etc/data-prepper name: prepper-configmap-claim0 - mountPath: config name: prepper-log4j2 restartPolicy: Always volumes: - name: prepper-configmap-claim0 configMap: name: data-prepper-config - name: prepper-log4j2 configMap: name: data-prepper-log4j2 --- apiVersion: v1 kind: ConfigMap metadata: namespace: tracing labels: app: data-prepper name: data-prepper-log4j2 data: log4j2.properties: | status = error dest = err name = PropertiesConfig property.filename = log/data-prepper/data-prepper.log appender.console.type = Console appender.console.name = STDOUT appender.console.layout.type = PatternLayout appender.console.layout.pattern = %d{ISO8601} [%t] %-5p %40C - %m%n rootLogger.level = warn rootLogger.appenderRef.stdout.ref = STDOUT logger.pipeline.name = com.amazon.dataprepper.pipeline logger.pipeline.level = info logger.parser.name = com.amazon.dataprepper.parser logger.parser.level = info logger.plugins.name = com.amazon.dataprepper.plugins logger.plugins.level = info ---