# ------------------------------------------------------------------------------
# Akamai Cloud Pulse Collector Configuration File
#
# This file defines the configuration for receivers, processors, extensions, exporters, and service pipelines. Customize values as needed.
#
# Sections:
# - receivers:    From where the telemetry data comes from
# - processors:   How telemetry data is processed before export
# - exporters:    Where the telemetry data is to be sent
# - extensions:   Optional features like health checks
# - service:      Assembles all components in pipeline
# ------------------------------------------------------------------------------

receivers: # Source of telemetry data.
  # 
  # For detailed setup and parameter descriptions of akamaicloudpulsereceiver, refer to:
  # https://techdocs.akamai.com/cloud-computing/docs/export-metrics#receiver-configuration
  #
  # An Example receiver configuration for akamaicloudpulsereceiver is given below. Uncomment and modify them as needed.
  #
  # akamaicloudpulsereceiver: # receiver for collecting metrics from Akamai Cloud Pulse
  #   polling_interval: "5m"
  #   refresh_interval: "30m"
  #   PAT: "<your-PAT-token>"
  #   thread_pool_size: 80
  #   services:
      # - service_type: "dbaas/1"
      #   entity_ids : ["*"]
      #   PAT: "<your-PAT-token>"  
      #   metric_names: ["cpu_usage", "memory_usage", "disk_usage"]
      #   agg_function: "min"
      #   query_delay: "2m"
      #   group_by: ["entity_id"]
      # - service_type: "dbaas/2" # Same service_type with different configurations can be used with suffixes /2, /3, etc.
      #   metric_names: ["cpu_usage", "memory_usage", "disk_usage"]
      #   polling_interval: "1m"
      #   refresh_interval: "15m"
      #   regions: "us-ord"
      #   PAT: "<your-PAT-token>"  
      #   agg_function: "avg"
      #   query_delay: "2m"
      #   group_by: ["entity_id"]
      # - service_type: "nodebalancer"
      #   metric_names: ["nb_ingress_traffic_rate"]
      #   polling_interval: "5m"
      #   refresh_interval: "30m"
      #   PAT: "<your-PAT-token>"
      #   agg_function: "sum"
      #   regions: ["us-iad"]
      #   query_delay: "2m"
      #   group_by: ["entity_id"]

exporters:   # Sends telemetry data to external systems.
  otlphttp:  # Exporter to send telemetry data using OTLP over HTTP
    endpoint: "https://your-otel-ingest-endpoint.example.com" # Replace with your actual ingest endpoint

  prometheus: # Exporter that exposes metrics via an HTTP endpoint for Prometheus to scrape
    endpoint: "<bind_address>:<port>"  # Replace with actual address (e.g., "0.0.0.0:8889")

processors: # Modifies telemetry data before export.
extensions: # Adds optional functionality like healthcheck.

service:   # Assembles the pipeline and enables extensions.
  extensions: [] # Enables the health_check extension
  pipelines:
    metrics: # Defines the metrics data pipeline
      receivers: [] # Source of telemetry data. Add active receivers here, e.g.: receivers: [akamaicloudpulsereceiver]
      processors: []  # Data processors applied before export
      exporters: [otlphttp, prometheus]  # Destinations to send metrics
