当前位置: 首页 > 知识库问答 >
问题:

使用 Apache Flume 收集 CPU 时间日志

何昆
2023-03-14

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

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个答案

施知
2023-03-14

您可以使用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

 类似资料:
  • 我有一个关于2.9版本的log4j2的问题。基本上,我想做的与这里描述的相同(log4j),只有2.9:示例log4j v1. x 我需要一个可以在类中的任何方法中调用的记录器。这是从某个起点递归地收集所有后续日志。该集合应该能够在以后以任何形式读出。 在表单中设置结束后,集合中应包括以下日志: 开始 谢谢你的帮助

  • 前言 在进行日志收集的过程中,我们首先想到的是使用Logstash,因为它是ELK stack中的重要成员,但是在测试过程中发现,Logstash是基于JDK的,在没有产生日志的情况单纯启动Logstash就大概要消耗500M内存,在每个Pod中都启动一个日志收集组件的情况下,使用logstash有点浪费系统资源,经人推荐我们选择使用Filebeat替代,经测试单独启动Filebeat容器大约会消

  • 系统与程序的运行日志对排查问题以及实现一些自动化操作可能非常有用。本文将简要说明收集 TiDB 及相关组件日志的方法。 TiDB 与 Kubernetes 组件运行日志 通过 TiDB Operator 部署的 TiDB 各组件默认将日志输出在容器的 stdout 和 stderr 中。对于 Kubernetes 而言,这些日志会被存放在宿主机的 /var/log/containers 目录下,并

  • 前面的课程中和大家一起学习了 Kubernetes 集群中监控系统的搭建,除了对集群的监控报警之外,还有一项运维工作是非常重要的,那就是日志的收集。 介绍 应用程序和系统日志可以帮助我们了解集群内部的运行情况,日志对于我们调试问题和监视集群情况也是非常有用的。而且大部分的应用都会有日志记录,对于传统的应用大部分都会写入到本地的日志文件之中。对于容器化应用程序来说则更简单,只需要将日志信息写入到 s

  • 从方法1开始,我一直在研究Leetcode问题的不同算法。如果阵列值是墙的高度,则需要计算总水域面积(列宽=1)。 第一种方法是找出每根立柱左右两侧最大墙高的最小高度,如果立柱高度小于最小值,则向给定立柱顶部加水。取最小值,因为这是收集的水能够达到的最高值。要计算每侧的最大值,需要对左侧和右侧进行n-1次遍历。 我用Python编写代码,但下面是根据Leetcode上给出的解决方案用C编写的代码。

  • 在我们的kafka broker设置中,GC平均需要20毫秒,但随机增加到1-2秒。极端情况持续9秒。这种情况的发生频率相当随机。平均每天发生15次。我尝试过使用GCEasy,但没有给出任何见解。我的内存使用率为20%,但进程仍然使用交换,尽管内存可用。感谢您对如何将其最小化的任何意见 JVM选择: GC日志: