The Atatus Kubernetes Agent automatically discovers all namespaces and workloads upon installation. This guide outlines the various configuration options available to help you manage data collection, filter logs, and control pod scheduling across your cluster.
All configurations must be added to your atatus_values.yml file.
Configuration Options
Use the parameters below to customize the agent's behavior:
| Option | Description |
|---|---|
license_key |
Your Atatus Infrastructure license key. |
logs_enabled |
Set to true to enable log monitoring. |
cluster_name |
A descriptive name to identify your Kubernetes cluster in the Atatus dashboard. |
log_level |
The internal logging level for the Atatus agent (info, debug, warning, error). |
container_include |
Allowlist of specific namespaces to monitor. |
container_exclude |
Denylist of namespaces to exclude from monitoring. |
container_include_log_lines |
Include specific log lines that match the provided regular expressions. |
container_exclude_log_lines |
Exclude specific log lines that match the provided regular expressions. |
daemonset |
Configures parameters for the agent's DaemonSet deployment. |
tolerations |
Kubernetes tolerations allowing pods to be scheduled on nodes with matching taints. |
General Configuration Example
Here is a comprehensive example demonstrating how to construct your atatus_values.yaml file:
# atatus_values.yaml
atatus:
license_key: "lic_infra_*************"
logs_enabled: true
cluster_name: "my-production-cluster"
log_level: "info"
# Namespace filtering
container_include: kube:preprod kube:staging
container_exclude: kube:prod
# Log filtering
container_include_log_lines:
- '(?i)error'
container_exclude_log_lines:
- '(?i)healthcheck'
daemonset:
enabled: true
tolerations:
- operator: "Exists"
Include & Exclude Options:
Atatus supports configuring log and metric inclusion/exclusion based on Kubernetes namespaces. You must specify the namespaces in your YAML file using the kube: prefix.
- To monitor namespaces named
preprodandstaging:
container_include: kube:preprod kube:staging
- To exclude the namespace named
prod:
container_exclude: kube:prod
2. Log Line Filtering
You can reduce log volume by filtering container logs at the agent level. Use regular expressions to include or exclude specific log patterns.
- To include log lines that match the regular expression
(?i)error:
container_include_log_lines:
- '(?i)error'
- To exclude log lines that match the regular expression
(?i)healthcheck:
container_exclude_log_lines:
- '(?i)healthcheck'
3. Scheduling the Agent on Tainted Nodes
Kubernetes uses taints to restrict which pods can run on specific nodes (e.g., GPU or system nodes). To allow the Atatus Infrastructure Agent to run on tainted nodes, configure tolerations under the daemonset section in your atatus_values.yaml file.
To run the agent on every active node across your cluster, configure a wildcard toleration using the Exists operator:
daemonset:
enabled: true
tolerations:
- operator: "Exists"
Target Specific Node Pools
If you prefer to explicitly target specialized node pools instead of bypassing all taints, define selective tolerations.
daemonset:
enabled: true
tolerations:
# System node pools
- key: "CriticalAddonsOnly"
operator: "Exists"
# GPU nodes
- key: "sku"
operator: "Equal"
value: "gpu"
effect: "NoSchedule"
# Spot or preemptible nodes
- key: "node.kubernetes.io/instance-type"
operator: "Equal"
value: "spot"
effect: "NoSchedule"
# Windows nodes (if applicable)
- key: "node.kubernetes.io/os"
operator: "Equal"
value: "windows"
effect: "NoSchedule"
+1-415-800-4104