菜单
开源

参数块

argument 是一个可选的配置块,用于为自定义组件指定参数化输入。argument 块必须指定一个标签,该标签决定了参数的名称。

argument 块只能在一个 declare的定义内部指定。

示例

alloy
argument "ARGUMENT_NAME" {}

参数

注意

为了清晰起见,本节中的“参数”指可以提供给 argument 块的参数。“模块参数”指为模块定义的参数,由 argument 块的标签决定。

支持以下参数:

名称类型描述默认值必需
commentstring参数的描述。false
defaultany参数的默认值。null
可选bool参数是否可以省略。false

默认情况下,所有模块参数都是必需的。可以使用 optional 参数将模块参数标记为可选。当 optionaltrue 时,模块参数的初始值由 default 指定。

导出的字段

以下字段被导出,可以被其他组件引用:

名称类型描述
valueany参数的当前值。

如果您使用自定义组件,您负责确定参数的值。自定义组件中的其他表达式可以使用 argument.ARGUMENT_NAME.value 来检索您提供的值。

示例

此示例创建了一个自定义组件,该组件自行收集进程指标并将其转发给自定义组件用户指定的参数:

alloy
declare "self_collect" {
  argument "metrics_output" {
    optional = false
    comment  = "Where to send collected metrics."
  }

  prometheus.scrape "selfmonitor" {
    targets = [{
      __address__ = "127.0.0.1:12345",
    }]

    forward_to = [argument.metrics_output.value]
  }
}