Telegraf使用

 2017-06-24 21:23:51     Telegraf  数据收集  InfluxDB   2769



Telegraf 是 InfluxData 下的子项目,是由 Go 语言编写的 metrics 收集、处理、聚合的代理。其设计目标是较小的内存使用,通过插件来构建各种服务和第三方组件的 metrics 收集。Telegraf 具有插件或集成功能,可以直接从其运行的系统中获取各种指标,从第三方API中提取指标,甚至通过 statsd 和 Kafka 消费者服务监听指标。它还具有输出插件,可将指标发送到各种其他数据存储,服务,和消息队列,包括InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等等。

相比于 Logstash 或者 Mozilla 的 Heka,它有了更多的内置实用 input 插件,更容易的监控起系统和各种常见服务的各种参数。与 InfluxDB 结合使用起来使用十分方便。

阅读全文

大文件切割与合并

 2017-04-11 21:22:41     数据收集  Java   631



在做日志收集和处理的时候,经常会遇到对大文件的操作,当内存有限,又要求快速处理的时候,就需要考虑对文件进行切割,利用多线程将一个大文件切割成多个小文件,然后再对小文件分别操作,这样既可以限制内存的使用,又可以提高效率。

切割与合并,可以使用RandomAccessFile类,它支持对随机访问文件的读取和写入,程序可以直接跳到任意地方来读写数据。

阅读全文

利用Nginx实现用户数据收集

 2017-03-28 22:21:04     Nginx  数据收集   1346


用户数据主要分客户端主动上报和业务服务数据。

客户端主动上报的需要在前段做数据埋点,服务端部署服务收集上报的数据,我们这里用Nginx做日志收集服务,因为对日志收集服务来说,最重要的稳定、高并发和吞吐量,不涉及业务逻辑,保证数据不丢失。而Nginx是不错的选择。

业务服务数据分很多种,一种是Nginx的访问日志,一种是业务数据库中存储的数据,还有业务服务输出的日志等。

阅读全文

Flume1.7安装

 2017-03-25 23:01:05     Flume  数据收集   1135



Flume是Apache提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的框架,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。

阅读全文