You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rundeck 4.11社区版聚合日志过滤变量全局变量填充异常

Rundeck 4.11社区版聚合日志过滤变量问题

我们当前运行Rundeck 4.11社区版,在使用聚合日志过滤变量时遇到以下问题:

场景示例

  • Job1针对3个节点执行命令步骤(开启「失败继续运行」),每个节点返回一行标准输出;
  • Job1配置日志过滤器捕获上一步所有输出,配置如下:
Regex: ^(.*)$     Name: output
  • Job1通过全局变量步骤设置可导出变量:
all_output=${data.output*}
  • Job2通过「引用节点」方式调用Job1,随后执行本地命令打印该全局变量:
echo "${export.all_output}"

预期行为

无论Job1的执行状态如何,输出所有节点返回内容的逗号分隔全量列表。

实际行为

  • 当Job1步骤1在所有节点均成功/均失败时,可正常输出全量内容;
  • 当Job1步骤1部分节点失败、部分成功时,仅捕获失败节点的输出;
  • 当Rundeck无法连接至少一个节点时,变量未展开(直接显示${export.all_output})或展开后为空。

可见全局日志过滤器及data.output*的使用依赖步骤/作业状态,无法纯粹捕获日志过滤器所采集的全部内容。

可复现问题的Job配置

以下配置会在每个节点随机返回成功或失败状态,仅捕获失败节点数据,修改节点过滤器即可在自身环境运行:

- defaultTab: nodes
  description: ''
  executionEnabled: true
  group: aggregate
  id: 0d50e127-7017-4319-8b56-3fd56080e5a3
  loglevel: INFO
  name: test
  nodeFilterEditable: false
  nodefilters:
    dispatch:
      excludePrecedence: true
      keepgoing: true
      rankOrder: ascending
      successOnEmptyNodeFilter: false
      threadcount: '1'
    filter: 'tags: linux'
  nodesSelectedByDefault: true
  plugins:
    ExecutionLifecycle: null
  scheduleEnabled: true
  sequence:
    commands:
    - exec: ((RANDOM % 2)) && { echo "${node.name} OK"; exit 0; } || { echo "${node.name}
        NOT OK"; exit 1;  }
      plugins:
        LogFilter:
        - config:
            invalidKeyPattern: \s|\$|\{|\}|\\
            logData: 'false'
            name: full_command_output
            regex: ^(.*)$
            replaceFilteredResult: 'false'
          type: key-value-data
    - configuration:
        export: aggregated_output
        group: export
        value: ${data.full_command_output*;}
      nodeStep: false
      type: export-var
    keepgoing: true
    strategy: node-first
  uuid: 0d50e127-7017-4319-8b56-3fd56080e5a3

- defaultTab: nodes
  description: ''
  executionEnabled: true
  group: aggregate
  id: d888974d-7dee-4d55-9afa-fa529a0d968b
  loglevel: INFO
  name: aggtest
  nodeFilterEditable: false
  nodefilters:
    dispatch:
      excludePrecedence: true
      keepgoing: false
      rankOrder: ascending
      successOnEmptyNodeFilter: false
      threadcount: '1'
    filter: MyServer
  nodesSelectedByDefault: true
  plugins:
    ExecutionLifecycle: null
  scheduleEnabled: true
  sequence:
    commands:
    - jobref:
        childNodes: true
        group: aggregate
        name: test
        nodeStep: 'true'
        uuid: 0d50e127-7017-4319-8b56-3fd56080e5a3
    - configuration:
        command: 'echo ''''''Aggregated Output: ${export.aggregated_output}'''''''
      nodeStep: true
      type: localexec
    keepgoing: true
    strategy: node-first
  uuid: d888974d-7dee-4d55-9afa-fa529a0d968b

内容的提问来源于stack exchange,提问作者user3733812

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:43:28