> ## Documentation Index
> Fetch the complete documentation index at: https://metoro.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ingestion Settings

> Control which telemetry leaves your clusters and how sensitive data is handled before it is stored

Metoro gives you granular control over what telemetry is sent from your clusters for ingestion. Ingestion settings let you drop logs and trace spans you do not need, reducing noise and ingestion costs, and redact sensitive data, all **before the data leaves your cluster**.

## How enforcement works

All ingestion settings share the same enforcement model:

1. You define rules, either in the Metoro UI or as Kubernetes custom resources.
2. The Metoro exporter running in each of your clusters fetches the active rule set about once a minute.
3. The exporter applies the rules to telemetry as it is collected, so matching data is dropped or redacted **inside your cluster, before it is sent to Metoro**.

Because enforcement happens at the source, excluded telemetry never leaves your infrastructure and never counts towards ingestion. Changes take effect within about a minute of saving, without restarting anything.

## Available controls

| Control                                                                        | Signals       | What it does                                                                                            | Managed via               |
| ------------------------------------------------------------------------------ | ------------- | ------------------------------------------------------------------------------------------------------- | ------------------------- |
| [Log Filters](/docs/ingestion-settings/log-filters)                                 | Logs          | Include or exclude log lines by any attribute value, including the log message                          | UI, or CRD (exclude only) |
| [Trace Filters](/docs/ingestion-settings/trace-filters)                             | Traces        | Include or exclude spans by attribute values                                                            | UI, or CRD (exclude only) |
| [Trace Redaction](/docs/ingestion-settings/trace-redaction)                         | Traces        | Replace sensitive data in span attributes with redacted placeholders                                    | UI                        |
| [Pod Annotations](/docs/ingestion-settings/pod-annotations)                         | Logs & Traces | Opt individual pods out of log or trace collection with `metoro.io/exclude-*` annotations               | Kubernetes annotations    |
| [CRD Managed Ingestion Rules](/docs/ingestion-settings/crd-managed-ingestion-rules) | Logs & Traces | Declare exclusion rules as `MetoroClusterIngestionRule` Kubernetes resources, rolled out through GitOps | Kubernetes                |

## Two ways to manage rules

**In the UI.** All controls can be configured from the [settings page](https://us-east.metoro.io/settings) under the **Data Ingestion Settings** tab. UI-managed filters support both include and exclude semantics, can be scoped to specific environments, and can be paused temporarily without deleting them.

**As Kubernetes custom resources.** Exclusion rules for logs and traces can also be declared as `MetoroClusterIngestionRule` custom resources and applied to a cluster like any other manifest; see [CRD Managed Ingestion Rules](/docs/ingestion-settings/crd-managed-ingestion-rules). This keeps ingestion filtering in version control and lets you roll it out through GitOps alongside the workloads it applies to.

In addition, individual workloads can opt themselves out of log or trace collection entirely with [pod annotations](/docs/ingestion-settings/pod-annotations), which is useful when the exclusion belongs in the workload's own manifests rather than in a central rule set.

The two compose: a record is dropped if **any** exclude rule matches it, whether the rule came from the UI or from a custom resource. Rules synced from Kubernetes appear in the UI with a **Managed** badge and are read-only there: the custom resource is the source of truth, so edit or delete the resource instead.
