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

# Configuration Overview

> How to configure the Odigos VM Agent: odictl TUI and YAML, and where to add sources, destinations, and actions.

Configuration defines where telemetry comes from (sources), where it is sent (destinations), and optional processing (actions). You can manage all of these using the VM Agent's interactive tool or YAML files.

## Configuration methods

You can configure the Odigos VM Agent in two ways:

* **[odictl](/vmagent/setup/configuration/odictl)** — A terminal user interface (TUI) that you use to add and manage sources, destinations, and actions interactively.
* **YAML** — Each configuration task (sources, destinations, actions) can be done via YAML; the pages linked below include a YAML tab with examples.

## Configuration tasks

<CardGroup cols={2}>
  <Card title="Add sources" icon="server" href="/vmagent/setup/configuration/add-sources">
    Instrument systemd services, Linux processes, or Docker containers so the VM Agent collects their telemetry.
  </Card>

  <Card title="Add destinations" icon="location-dot" href="/vmagent/setup/configuration/add-destinations">
    Define where telemetry is sent (for example, OTLP endpoints or supported backends). Destinations with the `LOGS` signal turn on application log export automatically.
  </Card>

  <Card title="Add actions" icon="wand-magic-sparkles" href="/vmagent/setup/configuration/actions/overview">
    Transform, filter, or enrich telemetry before it is sent to destinations.
  </Card>

  <Card title="Instrumentation rules" icon="list-check" href="/vmagent/setup/configuration/instrumentation-rules/overview">
    Control how telemetry is recorded from your sources (attributes, headers, payloads and custom instrumentation rules).
  </Card>

  <Card title="Continuous profiling" icon="gauge-high" href="/vmagent/instrumentations/profiling/overview">
    Enable eBPF CPU profiling on the collector and export OTLP Profiles to Pyroscope.
  </Card>

  <Card title="Connect to Odigos Central" icon="server" href="/central/adding-connections/vmagent">
    Connect this VM Agent host to Central for centralized visibility and management.
  </Card>
</CardGroup>

<Tip>
  Add a [destination](/vmagent/setup/configuration/add-destinations) first, then [sources](/vmagent/setup/configuration/add-sources), then [actions](/vmagent/setup/configuration/actions/overview) and [instrumentation rules](/vmagent/setup/configuration/instrumentation-rules/overview) as needed.
</Tip>

## Log collection

When a [destination](/vmagent/setup/configuration/add-destinations) is configured with the `LOGS` signal, the VM Agent automatically collects application logs from **instrumented** sources and exports them. How logs are collected depends on the source kind:

| Source kind | How the VM Agent collects logs                                      |
| ----------- | ------------------------------------------------------------------- |
| `process`   | Scans the process PID file descriptors for paths containing `*.log` |
| `docker`    | Streams Docker logs for the instrumented container                  |
| `systemd`   | Streams logs via `journalctl` for the service                       |

<Note>
  The odictl **Logs** panel shows live logs for the `odigos-vmagent` and `odigos-otelcol` services themselves. That is separate from application OpenTelemetry logs exported to your destination.
</Note>

For definitions of sources, destinations, and actions, see [Key concepts](/vmagent/overview#key-concepts) in the VM Agent overview.
