即使是不成熟的尝试,也胜于胎死腹中的策略。

如何在logstash 中管道中解码base64的字符串

Logstash | 作者 shwtz | 发布于2021年03月08日 | 阅读数:3315

logstash读取kafka中的消息。
每个消息都是一个json字典,其中有一个key,file_content的值使用base64 encode了
写入es之前,需要先对file_content进行base64 decode。
如果不是用logstash,自己写个py工具,直接调用base64.b64decode就可以得到正常结果。
使用logstash尝试了cipher插件,cipher默认是base64的encoding,然后我配置模式为解码:decrypt,但是这个插件还需要填其他几个参数:
iv_random_length
algorithm
请问该如何正确填写每个参数
已邀请:

shwtz - 学物理想做演员的IT男

赞同来自:

额,自己解决了。
 
如果只是要base64编码或者解码,并不需要使用cipher插件,使用ruby code调用base64 encode或者decode就行了。
代码如下:
 
ruby {
            init => "require 'base64'"
            code => "event.set('file_content', Base64.decode64(event.get('file_content')))"
        }
 
 
 

要回复问题请先登录注册