Collect StatsD metrics (legacy)


StatsD is a network daemon (originally written by Etsy) that listens for metrics (such as counters, timers, and gauges) sent over User Datagram Protocol (UDP). Its primary job is to aggregate these metrics periodically and then pass them along to a backend service for storage and visualization.

📘

Note

To view all available Agent Chart versions, run: helm search repo observe --versions | grep observe/agent. If you're currently using Agent Chart versions 0.38 through 0.42, upgrade to version 0.43 or later.

  1. After the Observe Agent is up and running, create a statsd-values.yaml file.

    agent:
      config:
        forwarder:
          receivers:
            statsd:
              endpoint: ${env:MY_POD_IP}:8125
              aggregation_interval: 60s 
              transport: "udp"
              is_monotonic_counter: true
              enable_metric_type: true
          processors:
            attributes/debug_source_statsd_metrics:
              actions:
              - action: insert
                key: debug_source
                value: statsd
          service:
            pipelines:
              metrics/custom-statsd:
                receivers: [statsd]
                processors: [memory_limiter, k8sattributes, deltatocumulative/observe, batch, resourcedetection/cloud, resource/observe_common, attributes/debug_source_statsd_metrics]
                exporters: [prometheusremotewrite/observe]
    
    forwarder:
      ports:
        statsd:
          enabled: true
          containerPort: 8125
          servicePort: 8125
          protocol: UDP
    1. Redeploy the Observe Agent.

    Run the following command to redeploy the Observe Agent in the observe namespace.

    helm upgrade --reuse-values observe-agent observe/agent -n observe --values statsd-values.yaml
    1. Restart tbe pods.

    Run the following commands to restart the pods with the updated configuration.

    kubectl rollout restart deployment -n observe
    kubectl rollout restart daemonset -n observe

    Run the following command to make sure the Observe Agent has been redeployed successfully.

    kubectl get pods -o wide -n observe
    1. Once the Observe Agent is up and running on a Kubernetes cluster, you can configure your application running on the same Kubernetes cluster to send statsd metrics to the Observe Agent.
    STATSD_HOST=observe-agent-forwarder.observe.svc.cluster.local
    STATSD_PORT=8125
    STATSD_PREFIX=myapp
    1. Explore your statsd metrics using the Metrics Explorer