使用Apache Flume收集CPU时间日志

时间:2016-02-27 07:47:32

标签: hadoop logging streaming flume bigdata

我是hadoop和学习apache Flume的新手。我在Virtualbox上安装了CDH 4.7。以下命令将输出最高cputime。如何使用Apache flume将以下命令的日志数据输出传输到HDFS?如何创建flume配置文件?

user@computer-Lenovo-IdeaPad-S510p:$ dstat -ta --top-cputime
----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- --highest-total--
     time     |usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw | cputime process 
27-02 13:14:32|  6   5  87   1   0   0| 216k  235k|   0     0 |   0    11B|  11k 2934 |X              29
27-02 13:14:33|  1   7  93   0   0   0|  64k  176k|   0     0 |   0     0 |  38k 3194 |X            8650
27-02 13:14:34|  2  11  87   0   0   0| 512B  188k|   0     0 |   0     0 |  24k 2612 | --enable-cra  11
27-02 13:14:35|  2  13  85   0   0   0|  45k   56k|   0     0 |   0     0 |  22k 2432 |X              11
27-02 13:14:36|  2  13  85   0   0   0|2093k    0 |   0     0 |   0     0 |  25k 3962 |VirtualBox     12
27-02 13:14:37|  1   4  95   1   0   0|   0    20k|   0     0 |   0     0 |  27k 3126 |VirtualBox   8942
27-02 13:14:38|  2   7  92   0   0   0|   0  8192B|   0     0 |   0     0 |  21k 3019 |VirtualBox   9082
27-02 13:14:39|  3   9  88   0   0   0| 512B  168k|   0     0 |   0     0 |  30k 2508 | --enable-cra  16
27-02 13:14:40|  2  13  86   0   0   0|   0     0 |   0     0 |   0     0 |  21k 2433 |VirtualBox   8041
27-02 13:14:41|  1  10  88   0   0   0|   0     0 |   0     0 |   0     0 |  19k 3191 |VirtualBox     10
27-02 13:14:42|  2   7  91   0   0   0|  32k    0 |   0     0 |   0     0 |  23k 2799 |X            8713
27-02 13:14:43|  2   7  90   1   0   0|   0   192k|   0     0 |   0     0 |  39k 2696 |X              10
27-02 13:14:44|  2  11  87   0   0   0|   0   140k|   0     0 |   0     0 |  35k 2434 |VirtualBox   8961
27-02 13:14:45|  2  11  87   0   0   0|   0     0 |   0     0 |   0     0 |  19k 2157 |VirtualBox   8126
27-02 13:14:46|  2  15  83   0   0   0| 182k    0 |   0     0 |   0     0 |  20k 3262 |VirtualBox     13^C

1 个答案:

答案 0 :(得分:1)

您可以使用flume exec source,收集日志并使用hdfs sink来存储日志。

config可以这样:

a1.sources = r1
a1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = dstat -ta --top-cputime
a1.sources.r1.channels = c1

http://flume.apache.org/FlumeUserGuide.html#hdfs-sink http://flume.apache.org/FlumeUserGuide.html#exec-source