fluent-plugin-grassland 0.0.2 → 0.0.3
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 +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
|