Apache nifi 使用RouteOnAttribute处理器在ListenSyslog处理器上路由,写入属性';syslog.hostname';

Apache nifi 使用RouteOnAttribute处理器在ListenSyslog处理器上路由,写入属性';syslog.hostname';,apache-nifi,Apache Nifi,我已经成功创建了一个流,它使用处理器ListenSyslog和PutFile捕获syslog消息并将它们写入磁盘上的文件 但是,我希望能够使用RouteOnAttribute处理器使用syslog消息的源IP路由这些传入的syslog消息。ListenSyslog处理器信息页面列出了它写入的属性“syslog.hostname-syslog消息的主机名或IP地址”我想在RouteOnAttribute处理器中使用此属性 我不清楚如何从RouteOnAttribute处理器配置属性中访问Liste

我已经成功创建了一个流,它使用处理器ListenSyslog和PutFile捕获syslog消息并将它们写入磁盘上的文件

但是,我希望能够使用RouteOnAttribute处理器使用syslog消息的源IP路由这些传入的syslog消息。ListenSyslog处理器信息页面列出了它写入的属性“syslog.hostname-syslog消息的主机名或IP地址”我想在RouteOnAttribute处理器中使用此属性


我不清楚如何从RouteOnAttribute处理器配置属性中访问ListenSyslog处理器的写入属性以实现此目的。

可以使用以下语法访问每个属性:
${my_attribute}

在您的情况下:
${syslog.hostname}

如果要使用RouteOnAttribute处理器,我建议您查看表达式语言:


谢谢!我尝试使用表达式${syslog.hostname:contains('one_of_my_source_ips')}使用路由匹配if-any策略,但没有看到任何匹配。是否有一种方法(使用某些处理器)提取${syslog.hostname}的值并将这些值写入磁盘或文件,以便我可以创建传入源ip地址的列表?您可以使用LogMessage处理器,例如:${syslog.hostname},如果只是为了调试,当它们在队列中时,您可以查看流文件的属性。