fluent-plugin-datahub 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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