Caution

Grafana Agent has reached End-of-Life (EOL) on November 1, 2025. Agent is no longer receiving vendor support and will no longer receive security or bug fixes. Current users of Agent Static mode, Agent Flow mode, and Agent Operator should proceed with migrating to Grafana Alloy. If you have already migrated to Alloy, no further action is required. Read more about why we recommend migrating to Grafana Alloy.

Open source

export block

export is an optional configuration block used to specify an emitted value of a custom component. export blocks must be given a label which determine the name of the export.

The export block may only be specified inside the definition of a declare block.

Note

In classic modules, the export block is valid as a top-level block in a classic module. Classic modules are deprecated and scheduled to be removed in the release after v0.40.

Example

Alloy
export "ARGUMENT_NAME" {
  value = ARGUMENT_VALUE
}

Arguments

The following arguments are supported:

NameTypeDescriptionDefaultRequired
valueanyValue to export.yes

The value argument determines what the value of the export is. To expose an exported field of another component, set value to an expression that references that exported value.

Exported fields

The export block doesn’t export any fields.

Example

This example creates a custom component where the output of discovering Kubernetes pods and nodes are exposed to the user:

Alloy
declare "pods_and_nodes" {
  discovery.kubernetes "pods" {
    role = "pod"
  }

  discovery.kubernetes "nodes" {
    role = "nodes"
  }

  export "kubernetes_resources" {
    value = concat(
      discovery.kubernetes.pods.targets,
      discovery.kubernetes.nodes.targets,
    )
  }
}