Configuration
Reference
Odigos VM Agent reads it’s configuration from /etc/odigos-vmagent/agent.yaml
. This file controls the following aspects of the agent:
- Sources - list of systemd services to auto-instrument.
- Processors - modify telemetry data before sending it to the destination.
- Destinations - list of observability backends to send telemetry data to.
An example of the agent.yaml
file is shown below:
Sources
The sources
section of the agent.yaml
file contains the following fields:
systemd
- systemd sources configuration.services
- configuration of specific systemd services by name.service_name
- name of the systemd service. Do not include the.service
suffix if present (e.g.my-app
instead ofmy-app.service
).instrumentation_disabled
(optional) - by default all services in the config are auto-instrumented. Set tofalse
to disable that for a specific service.
ignored_service_names
- list of systemd services to ignore, useful for excluding os services likessh
,rsyslog
, etc.
Processors
The processors
section of the agent.yaml
file contains a list of OpenTelemetry Collector processors to include in the pipeline.
You can read more about it here.
The configuration is a list with the following characteristics:
- Each entry in the list will be included in the agent OpenTelemetry Collector pipeline. To disable a processor, remove it from the list or turn it into a comment.
- The processors will be included in the order they are defined in the list. If a processor depends on another, the dependent processor should be defined first.
For each processor, the following fields are configurable:
name
(optional): Allows you to attach a meaningful name to a processor for convenience. Odigos does not use or assume any meaning from this field.type
(require): The type of the processor. This is the name of the processor you want to use, as defined in the OpenTelemetry Collector (batch, attributes, etc).config
(optional): A field to pass configuration to the processor. The structure of this field is specific to each processor, and you can find the configuration options for each processor in the OpenTelemetry Collector Contrib codebase.signals
(required): An array with the signals that the processor will act on (TRACES
,METRICS
,LOGS
).
Destinations
The destinations
section of the agent.yaml
file contains an unordered list of observability backends to send telemetry data to.
Each destination has the following fields:
name
(optional): A name for the destination. This field is not used by Odigos and is only for your convenience.type
(required): The type of the destination.config
(required): A field with key-value pairs that are specific to the destination type.signals
(required): An array with the signals that the destination will export (TRACES
,METRICS
,LOGS
).