This repository provides service-specific receiver configs for each supported
service type. Use them as a reference to construct your own
OpenTelemetry Collector config.yaml and start collecting metrics
from your Akamai Cloud infrastructure.
aclp-collector/
├── configs/
│ ├── lke-enterprise/ # Linode Kubernetes Engine (Enterprise)
│ ├── logs/ # Stream Audit Logs
│ ├── managed-databases/ # Managed database metrics
│ ├── nodebalancer/ # NodeBalancer metrics
│ └── objectstorage/ # Object storage metrics
├── config.yaml # Sample full config — use as a reference
├── .gitignore
├── LICENSE
└── README.md
Each subfolder inside configs/ contains receiver configs for a specific
Akamai Cloud(Linode) service. To start collecting metrics, construct your aclp-collector config by combining the following:
- The akamaicloudpulsereceiver block from the service-specific config in this repo
- Your own processors, exporters, and service pipeline based on your observability backend and requirements
The config.yaml at the root of this repo is a fully working reference example.
It shows how the receiver, processors, exporters, and pipeline fit together.
Use it as a starting point and replace the akamaicloudpulsereceiver block in the receiver section with one or more
service configuration you need.
1. Clone the repo
git clone https://github.com/linode/aclp-collector.git
cd aclp-collector2. Pick a service config
Browse the configs/ folder and choose the receiver config that matches the service you want to monitor. For example, for managed databases:
configs/managed-databases/dbaas-config-1.yaml
3. Construct your collector config
Copy the akamaicloudpulsereceiver block from the chosen service config into receiver section of your own
config.yaml. Add your processors, exporters, and service pipeline.
Use config.yaml in this repo as a reference for the full structure.
4. Set environment variables
We recommend that all sensitive values be read from environment variables and never hardcoded in the config files for example:
export OTEL_PAT="your-personal-access-token"
export OTEL_EXPORTER_ENDPOINT="https://your-backend:4317"5. Run the collector
Commands to run the collector are mentioned in techdocs.
For example run your aclp-collector binary using,
./aclp-collector --config=<path/to/config.yaml>Each subfolder contains one or more receiver configs for that service type.
| Service | Folder | Available configs |
|---|---|---|
| LKE Enterprise | configs/lke-enterprise/ |
lke-config-1.yaml, lke-config-2.yaml, lke-config-3.yaml |
| Logs | configs/logs/ |
logs-config-1.yaml, logs-config-2.yaml, logs-config-3.yaml |
| Managed databases | configs/managed-databases/ |
dbaas-config-1.yaml, dbaas-config-2.yaml, dbaas-config-3.yaml |
| NodeBalancer | configs/nodebalancer/ |
nodebalancer-config-1.yaml, nodebalancer-config-2.yaml, nodebalancer-config-3.yaml |
| Object storage | configs/objectstorage/ |
objectstorage-config-1.yaml, objectstorage-config-2.yaml, objectstorage-config-3.yaml |
Where multiple configs exist for a service, they follow this pattern:
| Tier | Description |
|---|---|
config-1 |
Minimal metrics. Low overhead, good starting point |
config-2 |
Config with multiple instances of same service-type to provide additional filters. Recommended for most deployments |
config-3 |
Multiple instances of akamaicloudpulsereceiver — recommended when hitting rate limits or when you need metrics from multiple users in your account |
All service configs in this repo follow the same structure. Example configuration:
akamaicloudpulsereceiver:
polling_interval: "1m" # How often metrics are scraped
refresh_interval: "30m" # How often the entity list is refreshed
PAT: "${OTEL_PAT}" # Personal Access Token
thread_pool_size: 80 # Concurrent polling threads
services:
- service_type: "dbaas" # Akamai Cloud service type
entity_ids: ["*"] # "*" scrapes all entities; or specify IDs
metric_names:
- "memory_usage"
- "disk_usage"
agg_function: "avg" # Aggregation: min, max, avg
query_delay: "2m" # Delay before querying to allow metric propagation
group_by: ["entity_id"] # Dimensions to group metrics byBefore deploying, validate that your constructed config is well-formed. If there are any issues, the collector will terminate on startup with an error.
Apache 2.0 — see LICENSE.