fluent-plugin-datahub 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 922859012ad1c685d8396cca953cc6ca35471758
4
- data.tar.gz: 646a600f82a8891f8fcb8e05de4db5ccbeecaadc
3
+ metadata.gz: 08bd89385bb962843dda18bc6b1bedb50b44ad4d
4
+ data.tar.gz: 53591931a750c4c0641d17676ba5ead6a4e96a36
5
5
  SHA512:
6
- metadata.gz: 9f36f93349cb259c9c9194909186ef5d3322dabe0a1287698ec04f803e9d0c971552bb9db91ae9d6bd941e8f506990c7c9d31ec84e750f31e6c29df69241323f
7
- data.tar.gz: 861bf12a2478ee7458d50f2843295f59be030e3410f8c1fd9f463681fffce8ebea340e834c8af8045db3d63e312e5eaae3c50d7afdb090e4ab9bb7a64aef67d5
6
+ metadata.gz: 3cdc9cf69f25d5d8f49b04ad1457c522456e071a27524d2cfee40a8bcbe3d26e41a3ba27d67ccccfb1c30d6840a65b8382762314ccd909ed815de380e7b51285
7
+ data.tar.gz: 6542e96bcd6a409d0100f1ec6c6686a7e719be4e52d0a8c9aed3d56a7d9e0b2a7d91836388a3373a443b03fbd92fbed68b04429092f5936a2fd67976213b8c42
data/README.md CHANGED
@@ -1,10 +1,61 @@
1
1
  # fluent-plugin-datahub
2
- 概述
3
- -------
4
- fluent的datahub上传插件
5
- 安装
6
- -------
7
- gem install fluent-plugin-datahub
2
+
3
+ ## DataHub基本介绍
4
+
5
+ DataHub服务是阿里云提供的流式数据处理(Streaming Data)服务,它提供流式数据的发布 (Publish)和订阅 (Subscribe)的功能,让您可以轻松构建基于流式数据的分析和应用。DataHub服务可以对各种移动设备,应用软件,网站服务,传感器等产生的大量流式数据进行持续不断的采集,存储和处理。用户可以编写应用程序或者使用流计算引擎来处理写入到DataHub的流式数据比如实时web访问日志、应用日志、各种事件等,并产出各种实时的数据处理结果比如实时图表、报警信息、实时统计等。
6
+
7
+ DataHub服务基于阿里云自研的飞天平台,具有高可用,低延迟,高可扩展,高吞吐的特点。DataHub与阿里云流计算引擎StreamCompute无缝连接,用户可以轻松使用SQL进行流数据分析。
8
+
9
+ DataHub服务也提供流式数据归档的功能,支持流式数据归档进入MaxCompute(原ODPS)。
10
+
11
+ ## 环境要求
12
+
13
+ 使用此插件,需要具备如下环境:
14
+
15
+ 1. Ruby 2.1.0 或更新
16
+ 2. Gem 2.4.5 或更新
17
+ 3. Fluentd-0.12 或更新 (*[Home Page](http://www.fluentd.org/)*)
18
+ 4. Ruby-devel
19
+
20
+ ## 安装部署
21
+
22
+ 安装部署Fluentd可以选择以下两种方式之一。
23
+ 1. 一键安装包适用于第一次安装Ruby&Fluentd环境的用户或局域网用户,一键安装包包含了所需的Ruby环境以及Fluentd。目前一键安装包仅支持Linux环境。
24
+ 2. 通过网络安装适用于对Ruby有了解的用户,需要提前确认Ruby版本,若低于2.1.0则需要升级或安装更高级的Ruby环境,然后通过RubyGem安装Fluentd。
25
+
26
+ 注:
27
+ * RubyGem源建议更改为https://ruby.taobao.org/
28
+ * 局域网环境安装可以通过本地安装Gem文件
29
+ ```
30
+ gem install --local fluent-plugin-datahub-0.0.1.gem
31
+ ```
32
+
33
+ ### 安装方式一:一键安装包安装
34
+ 1. 下载解压 fluentd-with-datahub-0.12.23.tar.gz
35
+ 2. 可以修改install.sh中$DIR为你想安装ruby的路径,默认会安装在当前路径下面
36
+ 3. 执行如下命令,提示“Success”表示安装成功
37
+ ```
38
+ bash install.sh
39
+ ```
40
+ 4. fluentd程序会被安装在当前目录的bin目录下面
41
+
42
+ ### 安装方式二:通过网络安装
43
+ 1. Ruby安装(已经存在Ruby 2.1.0以上环境可忽略此步骤):
44
+ ```
45
+ wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.gz
46
+ tar xzvf ruby-2.3.0.tar.gz
47
+ cd ruby-2.3.0
48
+ ./configure --prefix=DIR
49
+ make
50
+ make install
51
+ ```
52
+ 2 Fluentd以及插件安装
53
+ ```
54
+ $ gem install fluent-plugin-datahub
55
+ ```
56
+
57
+ ## 插件使用示例
58
+ ### 示例一 上传csv文件中的数据
8
59
 
9
60
  配置
10
61
  -------
@@ -16,7 +67,7 @@ gem install fluent-plugin-datahub
16
67
  format csv
17
68
  keys id,name,gender,salary,my_time
18
69
  </source>
19
-
70
+ ```
20
71
  ```
21
72
  <match test1>
22
73
  @type datahub
@@ -32,7 +83,50 @@ gem install fluent-plugin-datahub
32
83
  dirty_data_file ${DIR}/dirty.data
33
84
  retry_times 3
34
85
  </match>
35
-
36
86
  ```
37
- 1、source标签中的keys为源数据,会根据key对应fields中字段\<br>
38
- 2、match标签中的column_names为要写入datahub的字段
87
+
88
+ ### 示例二 上传日志文件中的数据
89
+ 配置
90
+ ------
91
+ ```
92
+ source>
93
+ @type tail
94
+ path ${DIR}/log_sample.log
95
+ tag test
96
+ format /(?<request_time>\d\d:\d\d:\d\d.\d+)\s+\[(?<thread_id>[\w\-]+)\]\s+(?<log_level>\w+)\s+(?<class>\w+)\s+-\s+\[(?<request_id>\w+)\]\s+(?<detail>.+)/
97
+ </source>
98
+ ```
99
+ ```
100
+ <match test>
101
+ @type datahub
102
+ access_id yourAccessId
103
+ access_key yourAccessKey
104
+ endpoint yourEndpoint
105
+ project_name test_project
106
+ topic_name datahub_fluentd_out_1
107
+ column_names ["thread_id", "log_level", "class"]
108
+ </match>
109
+ ```
110
+
111
+ 1、source标签中的keys为源数据,会根据key对应fields中字段\<br>
112
+ 2、match标签中的column_names为要写入datahub的字段
113
+ 3、具体数据样例可参见gem包中的sample文件
114
+
115
+ ## 参数说明
116
+
117
+ access_id :阿里云access_id.
118
+ access_key :阿里云access key.
119
+ endpoint :DataHub Endpoint
120
+ project_name :datahub project name
121
+ topic_name :datahub topic name
122
+ retry_times :重试次数, 默认1
123
+ retry_interval :重试周期,下一次重试的间隔,单位为秒, 默认3
124
+ column_names :提交的列名,用户可以配置topic的列,采集部分列或者全部列,默认为空数组,表示按照topic的顺序及全字段提交,另外:列的配置不用保序,但是要求该字段在topic的schema中存在
125
+ source_keys :指定源头采集的keys, record 按照这些keys 获取数据, 写入datahub, 默认空数组, 此时record使用column_names 获取数据, 写入datahub
126
+ dirty_data_continue :当出现脏数据时,是否继续写入,当开启该开关,必须指定@dirty_data_file文件
127
+ dirty_data_file :脏数据文件名称,当数据文件名称,在@dirty_data_continue开启的情况下,需要指定该值,特别注意:脏数据文件将被分割成两个部分.part1和.part2,part1作为更早的脏数据,part2作为更新的数据
128
+ shard_id :写入指定的 shard_id,默认轮询发送
129
+ shard_keys :按照指定字段的值计算hash,依据于该hash值落某个shard
130
+ retry_limit :fluentd自带的 retry次数, 由于可能导致数据重写,该参数默认设置为0
131
+ put_data_batch_size :多少条数据 写一次datahub, 默认100条,请不要超出1000条。
132
+ data_encoding :默认使用源数据标示的encode方式,根据string.encoding获取,如果需要指定源数据编码方式,请设置该值,支持的类型:"US-ASCII", "ASCII-8BIT", "UTF-8",
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -6,7 +6,7 @@ require_relative "datahub-record-entity"
6
6
 
7
7
  class DatahubHttpClientTest < Test::Unit::TestCase
8
8
  # def setup
9
- # @client = DatahubHttpClient.new("http://10.101.200.231:12357", "63wd3dpztlmb5ocdkj94pxmm", "oRd30z7sV4hBX9aYtJgii5qnyhg=")
9
+ # @client = DatahubHttpClient.new("", "", "")
10
10
 
11
11
  # @project_name = "ruby_sdk_test_project"
12
12
  # begin
@@ -110,7 +110,7 @@ class DatahubHttpClientTest < Test::Unit::TestCase
110
110
  # end
111
111
  #
112
112
  # def test_write_and_read
113
- # @client = DatahubClient.new("http://10.101.200.231:12357", "63wd3dpztlmb5ocdkj94pxmm", "oRd30z7sV4hBX9aYtJgii5qnyhg=")
113
+ # @client = DatahubClient.new("", "", "")
114
114
  # @datahub_project = @client.get_project("test_project")
115
115
  # # @datahub_topic = @datahub_project.get_topic("fluentd_out_6")
116
116
  # # abc = @datahub_topic.record_schema
@@ -312,7 +312,7 @@ class DatahubHttpClientTest < Test::Unit::TestCase
312
312
  # end
313
313
 
314
314
  def test
315
- @client = DatahubHttpClient.new("http://10.101.200.231:12357", "63wd3dpztlmb5ocdkj94pxmm", "oRd30z7sV4hBX9aYtJgii5qnyhg=")
315
+ @client = DatahubHttpClient.new("", "", "")
316
316
 
317
317
  record_schema = RecordSchema.new
318
318
  record_schema.setEncoding("UTF-8")
@@ -43,13 +43,13 @@ module Fluent
43
43
  config_param :dirty_data_file, :string, :default => ""
44
44
 
45
45
  # 脏数据文件的最大大小,该值保证脏数据文件最大大小不超过这个值,目前该值仅是一个参考值
46
- config_param :dirty_data_file_max_size, :integer, :required => false, :default => 50024000
46
+ config_param :dirty_data_file_max_size, :integer, :default => 50024000
47
47
 
48
48
  # 写入指定的 shard_id
49
- config_param :shard_id, :string, :required => false, :default => ""
49
+ config_param :shard_id, :string, :default => ""
50
50
 
51
51
  # 按照指定字段的值计算hash,依据于该hash值落某个shard
52
- config_param :shard_keys, :array, :required => false, :default => []
52
+ config_param :shard_keys, :array, :default => []
53
53
 
54
54
  # fluentd自带的 retry次数, 由于可能导致数据重写,该参数默认设置为0
55
55
  config_param :retry_limit, :integer, :default => 0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-datahub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aliyun
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-19 00:00:00.000000000 Z
11
+ date: 2017-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  version: '0'
91
91
  requirements: []
92
92
  rubyforge_project:
93
- rubygems_version: 2.4.5.1
93
+ rubygems_version: 2.6.10
94
94
  signing_key:
95
95
  specification_version: 4
96
96
  summary: Aliyun Datahub output plugin for Fluentd event collector