fluent-plugin-grassland 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +26 -5
- data/fluent-plugin-grassland.gemspec +1 -1
- data/lib/fluent/plugin/out_grassland.rb +26 -22
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b012fd760e3516bfda38ae05c4023cc847511af
|
4
|
+
data.tar.gz: 10cf5a7ab421364b7881a289f4a568c7df8c3b07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f06c72fa10e193da42ad7431a92d202a96305b9ca95ae0f80d804440a1cd7b2c53b449ea3c971005712fcc120880fe8544ac3096ac6fdf4c4fd81098ed7c0cdb
|
7
|
+
data.tar.gz: ec306504bfc139a5df78a61efe7061e942e102b579e2c0affe560ec9d93f9a29657cd08518f0f7c0e4978503f62d37d00f07f70acb3a8f2ebf7dd797ebf144e6
|
data/README.md
CHANGED
@@ -58,7 +58,7 @@ __Fluentdの設定ファイルに以下を追記します。__
|
|
58
58
|
|
59
59
|
__1. [fluent-logger-phpをインストール](https://github.com/fluent/fluent-logger-php)して下さい。__
|
60
60
|
```
|
61
|
-
cat
|
61
|
+
cat >> composer.json << EOF
|
62
62
|
{
|
63
63
|
"require": {
|
64
64
|
"fluent/logger": "v0.3.7"
|
@@ -85,12 +85,33 @@ $param = array(
|
|
85
85
|
'cid' => 'お客様ID',
|
86
86
|
'dt' => 'データID',
|
87
87
|
'uid' => 'お客様のサービスのユーザID',
|
88
|
-
'pt' => '(optional)データの発生時刻(ISO 8601
|
88
|
+
'pt' => '(optional)データの発生時刻(ISO 8601準拠の文字列, Ex. "2014-04-01T12:00:00+09:00")',
|
89
89
|
'd' => array(
|
90
|
-
'
|
91
|
-
'
|
92
|
-
'
|
90
|
+
'任意のキー' => '集計を行いたいデータ',
|
91
|
+
'任意のキー' => '(optional)集計を行いたいデータ',
|
92
|
+
'任意のキー' => '(以降、同様に最大10個まで追加可能)'
|
93
93
|
)
|
94
94
|
);
|
95
95
|
$logger->post("grassland.data", $param);
|
96
|
+
```
|
97
|
+
|
98
|
+
ptを省略した場合、fluentdが受け付けた時間のUTC時刻として入力されます。
|
99
|
+
「任意のキー」は、グラフに表示される一つの要素になります。
|
100
|
+
例を以下に示します。
|
101
|
+
|
102
|
+
```
|
103
|
+
//timezone設定
|
104
|
+
date_default_timezone_set('Asia/Tokyo');
|
105
|
+
|
106
|
+
$param = array(
|
107
|
+
'cid' => 'cid0000001',
|
108
|
+
'dt' => 'd822fab12eeb4db997db87876a082d82',
|
109
|
+
'uid' => 'user001',
|
110
|
+
'pt' => date( DATE_ISO8601, time() ),
|
111
|
+
'd' => array(
|
112
|
+
'item1' => '100',
|
113
|
+
'item2' => '200'
|
114
|
+
)
|
115
|
+
);
|
116
|
+
$logger->post("grassland.data", $param);
|
96
117
|
```
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'fluent-plugin-grassland'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.3'
|
8
8
|
spec.authors = ['Ripplation Inc.']
|
9
9
|
# spec.email = ['xxxxxx@ripplation.co.jp']
|
10
10
|
spec.description = 'Output filter plugin for Grassland'
|
@@ -100,30 +100,34 @@ module Fluent
|
|
100
100
|
putBuf = ""
|
101
101
|
bufList = {}
|
102
102
|
|
103
|
-
|
104
|
-
|
105
|
-
bufList[":#{data['pk']}"]
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
103
|
+
begin
|
104
|
+
dataList.each do |data|
|
105
|
+
if bufList[":#{data['pk']}"] == nil then
|
106
|
+
bufList[":#{data['pk']}"] = "#{data.to_json},"
|
107
|
+
else
|
108
|
+
bufList[":#{data['pk']}"] += "#{data.to_json},"
|
109
|
+
end
|
110
|
+
if bufList[":#{data['pk']}"].bytesize >= 30720 then
|
111
|
+
AWS.kinesis.client.put_record({
|
112
|
+
:stream_name => @stream_name,
|
113
|
+
:data => "["+bufList[":#{data['pk']}"].chop+"]",
|
114
|
+
:partition_key => data['pk']
|
115
|
+
})
|
116
|
+
bufList.delete(":#{data['pk']}")
|
117
|
+
end
|
116
118
|
end
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
119
|
+
dataList.each do |data|
|
120
|
+
if bufList[":#{data['pk']}"] != nil then
|
121
|
+
AWS.kinesis.client.put_record({
|
122
|
+
:stream_name => @stream_name,
|
123
|
+
:data => "["+bufList[":#{data['pk']}"].chop+"]",
|
124
|
+
:partition_key => data['pk']
|
125
|
+
})
|
126
|
+
bufList.delete(":#{data['pk']}")
|
127
|
+
end
|
126
128
|
end
|
129
|
+
rescue
|
130
|
+
puts "error: put_record to grassland. maybe too many requests. few data dropped."
|
127
131
|
end
|
128
132
|
end
|
129
133
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-grassland
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ripplation Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|