flume User Guide翻译-logging raw data / plugin

来源:互联网 发布:淘宝卖家手机登录 编辑:程序博客网 时间:2024/05/20 00:50

Logging raw data

原文:http://flume.apache.org/FlumeUserGuide.html#logging-raw-data

flume提供了记录原始event数据和配置信息的功能,当flume出了问题时,可以通过这些信息和数据很方便地排查和定位问题。flume默认是不记录这些数据和信息的,不过如果flume出问题,flume还是会给出提示信息的。

需要说明的是在生产环境下不建议启用这个功能,因为可能会将原始数据中的敏感数据或者安全相关的配置信息也采集到flume日志中,这会导致不安全。另外记录原始数据也可以通过自行设置一个memery类型的channel和一个logger 类型的sink 实现,但是有些情况下,这些信息还是不足以排查和定位问题。

启用记录原始event数据和配置信息的功能,除了需要配置Log4j,还需要配置jvm(java system property)的一些属性,如下:

 -Dorg.apache.flume.log.printconfig=true#记录配置信息到日志,这个参数可以在命令中设置,也可以在flume-env.sh文件中配置

-Dorg.apache.flume.log.rawdata=true #记录原始数据到日志,,这个参数可以在命令中设置,也可以在flume-env.sh文件中配置

此外,大多数组件还需要将日志级别设置为DEBUG或者TRANCE,以记录组件的个性化日志。

以上一篇的例子为例,启动agent并设置参数如下:


启动成功时的信息:


可以看到它会记录许多运行时的日志信息,比如定时扫描agent的配置信息等。

plugin

原文:http://flume.apache.org/FlumeUserGuide.html#installing-third-party-plugins

flume自身架构就是插件化的,其本身就装载了各种插件:各种不同类型的source、sink、channel和序列化工具等都是以插件的形式加载到flume中并独立运行的。

早期版本可以通过在flume-env.sh中设置FLUME_CLASSPATH,来加载用户的插件jar。现在的版本中,flume有一个特定目录:plugins.d,用户插件需要遵循flume要求的特定格式,然后放到此目录下。这种方式下可以直接利用flume提供的各种功能对自己的代码的排错,并且比较麻烦的依赖冲突的问题flume就直接解决了。

plugins.d文件夹是在flume的安装目录的一级目录下,当运行flume-ng命令启动时,会将此目录下符合以下格式的用户插件导入到flume中:

Each plugin (subdirectory) within plugins.d can have up to three sub-directories:

  1. lib - the plugin’s jar(s)
  2. libext - the plugin’s dependency jar(s)
  3. native - any required native libraries, such as .so files

Example of two plugins within the plugins.d directory:

plugins.d/plugins.d/custom-source-1/plugins.d/custom-source-1/lib/my-source.jarplugins.d/custom-source-1/libext/spring-core-2.5.6.jarplugins.d/custom-source-2/plugins.d/custom-source-2/lib/custom.jarplugins.d/custom-source-2/native/gettext.so


原创粉丝点击