我正在尝试使用Flume读取一个syslog,使用Morphline拆分成部分并将结果用分隔符','写入HDFS,但我不知道如何将'grok'的输出重定向到接收器中。
谢谢!!
这是我的morphline文件:
morphlines:[{id:morphline1
commands : [
{
readLine {
charset : UTF-8
}
}
{
grok {
dictionaryFiles : [/grok-dictionaries]
expressions : {
message : """<%{POSINT:priority}>%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:hostname} %{DATA:program}(?:\[%{POSINT:pid}\])?: %{GREEDYDATA:msg}"""
}
}
}
]
} ]
解决了!这是解决方案:
{java {code:“”“record.replaceValues(”_ attachment_body“,record.getFirstValue(”_ attachment_body“)。toString()。getBytes(Charsets.UTF_8)); return child.process(record);”“”}}