TELEMETRY PIPELINE
Pipeline configuration files

Pipeline configuration files

In Chronosphere Telemetry Pipeline, the settings for each pipeline are stored inside a dedicated configuration file. These files must follow a standard format, but you can customize their contents to control how your pipeline gathers, modifies, and sends data.

When you modify a pipeline through the Telemetry Pipeline web interface, that pipeline's configuration file updates to reflect your changes, even if you didn't edit the file directly.

Format

Configuration files follow standard YAML conventions and use the .yaml file extension. Regardless of a pipeline's individual settings, all configuration files adhere to the same core format:

my-pipeline.yaml
pipeline:
  inputs:
    - Name: source1
      setting: value
      setting: value
      processors:
        <...>
    - Name: source2
      setting: value
      setting: value
      setting: value
      setting: value
      processors:
        <...>
  outputs:
    - Name: destination1
      setting: value
      processors:
        <...>
    - Name: destination2
      setting: value
      setting: value
      setting: value
      processors:
        <...>

Configuration files use two spaces per indent, not four.

Sections

All configuration files include a pipeline section, an inputs section, and an outputs section. Additionally, each input or output can contain an associated processors section.

Pipeline

The pipeline section is the top-level section in a configuration file. It's a parent to the inputs section and the outputs section.

Inputs

The inputs section is a sequence of mappings that contains one or more sources of telemetry data. Each mapping corresponds to a single source plugin, and includes key/value pairs to configure the settings for that plugin, plus an optional processors object.

Outputs

The outputs section is a sequence of mappings that contains one or more destinations for your telemetry data. Each mapping corresponds to a single destination plugin, and includes key/value pairs to configure the settings for that plugin, plus an optional processors object.

Processors

Each processors section is a child to one of the mappings within the inputs section or outputs section. These sections contain processing rules to modify the telemetry data passing through each input or output.

Because processing rules run separately for different types of telemetry data, a processors section is grouped into subsections for logs, metrics, and traces, where applicable. Each telemetry type subsection includes an actions object, which is a sequence of mappings that contains one or more processing rules and each rule's associated settings.

If an input or output doesn't have processing rules associated with a particular type of telemetry data, the subsection for that telemetry type is omitted.

These sections adhere to the following format:

my-pipeline.yaml
pipeline:
<...>
      processors:
        logs:
          - name: calyptia
            actions:
              - type: rule1
                opts:
                  setting: value
                  setting: value
                  setting: value
              - type: rule2
                opts:
                  setting: value
                  setting: value
        metrics:
        - name: calyptia
            actions:
              - type: rule1
                opts:
                  setting: value
                  setting: value
              - type: rule2
                opts:
                  setting: value
        traces:
        - name: calyptia
            actions:
              - type: rule1
                opts:
                  setting: value
                  setting: value
              - type: rule2
                opts:
                  setting: value
                  setting: value
                  setting: value