Prerequisites
- Create an Axiom account.
- Create a dataset in Axiom where you send your data.
- Create an API token in Axiom with permissions to ingest data to the dataset you have created.
Send Kubernetes Cluster logs to Axiom using Filebeat
Ingest logs from your Kubernetes cluster into Axiom using Filebeat. The following is an example of a DaemonSet configuration to ingest your data logs into Axiom.Configuration
Replace
AXIOM_DOMAIN with the base domain of your edge deployment. For more information, see Edge deployments.Replace API_TOKEN with the Axiom API token you have generated. For added security, store the API token in an environment variable.Replace DATASET_NAME with the name of the Axiom dataset where you send your data.kubectl apply -f daemonset.yaml
Send Kubernetes Cluster logs to Axiom using Vector
Collect logs from your Kubernetes cluster and send them directly to Axiom using the Vector daemonset.Configuration
Replace
AXIOM_DOMAIN with the base domain of your edge deployment. For more information, see Edge deployments.Replace API_TOKEN with the Axiom API token you have generated. For added security, store the API token in an environment variable.Replace DATASET_NAME with the name of the Axiom dataset where you send your data.kubectl apply -f daemonset.yaml
Send Kubernetes Cluster logs to Axiom using Fluent Bit
Collect logs from your Kubernetes cluster and send them directly to Axiom using Fluent Bit.Configuration
Replace
AXIOM_DOMAIN with the base domain of your edge deployment. For more information, see Edge deployments.Replace API_TOKEN with the Axiom API token you have generated. For added security, store the API token in an environment variable.Replace DATASET_NAME with the name of the Axiom dataset where you send your data.kubectl apply -f daemonset.yaml
Extract top-level fields from log body
To extract top-level fields from the log body, configure thefilelog receiver with operators to parse container log formats and JSON-structured log bodies.
Configure the following settings in your OpenTelemetry Collector configuration:
| Setting | Description |
|---|---|
| Receiver | Use filelog receiver targeting /var/log/pods/*/*/*.log |
| Container operator | Add the container operator to parse container log formats (Docker, CRI-O, Containerd) and extract the inner log message as the body |
| JSON parser operator | Add the json_parser operator to parse JSON-structured log bodies into structured fields |
| Transform processor | Optional: Use the transform processor to promote parsed JSON fields to top-level attributes instead of keeping them in the body |