Grafana Alloy is the new name for our distribution of the OTel collector. Grafana Agent has been deprecated and is in Long-Term Support (LTS) through October 31, 2025. Grafana Agent will reach an End-of-Life (EOL) on November 1, 2025. Read more about why we recommend migrating to Grafana Alloy.

This is documentation for the next version of Agent. For the latest stable release, go to the latest version.

Open source


The import.string block imports custom components from a string and exposes them to the importer. import.string blocks must be given a label that determines the namespace where custom components are exposed.


import.string "NAMESPACE" {
  content = CONTENT


The following arguments are supported:

contentsecret or stringThe contents of the module to import as a secret or string.yes

content is a string that contains the configuration of the module to import. content is typically loaded by using the exports of another component. For example,

  • local.file.LABEL.content
  • remote.http.LABEL.content
  • remote.s3.LABEL.content


This example imports a module from the content of a file stored in an S3 bucket and instantiates a custom component from the import that adds two numbers:

remote.s3 "module" {
  path = "s3://test-bucket/module.river"

import.string "math" {
  content = remote.s3.module.content

math.add "default" {
  a = 15
  b = 45