fluent-plugin-mongokpi 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.
- data/README.md +13 -12
- data/fluent-plugin-mongokpi.gemspec +1 -1
- data/lib/fluent/plugin/out_mongokpi.rb +2 -2
- metadata +2 -2
data/README.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Description
|
|
4
4
|
Fluent BufferedOutput plugin: counting chunk, inserting counts to MongoDB
|
|
5
|
+
version 2.4 or newer MongoDB is required (using setOnInsert command)
|
|
5
6
|
|
|
6
7
|
## Installation
|
|
7
8
|
$ gem install fluent-plugin-mongokpi
|
|
@@ -78,12 +79,12 @@ log
|
|
|
78
79
|
MongoDB
|
|
79
80
|
|
|
80
81
|
db.kpiCol20131125.find()
|
|
81
|
-
{ "_id" : "
|
|
82
|
-
"hh" :
|
|
83
|
-
{ "_id" : "
|
|
84
|
-
"hh" :
|
|
85
|
-
{ "_id" : "
|
|
86
|
-
"hh" :
|
|
82
|
+
{ "_id" : "git2013112520", "count" : 3, "count1xx" : 1, "count2xx" : 1, "count3xx" : 1, "count4xx" : 0, "count5xx" : 0, "countOver" : 0,
|
|
83
|
+
"hh" : 20, "okRatio" : 1, "responseTimeAve" : 2000, "responseTimeMax" : 3000, "responseTimeMin" : 1000, "responseTimeSum" : 6000, "site" : "git", "yyyymmdd" : 20131125 }
|
|
84
|
+
{ "_id" : "blog2013112520", "count" : 2, "count1xx" : 0, "count2xx" : 0, "count3xx" : 0, "count4xx" : 4, "count5xx" : 1, "countOver" : 0,
|
|
85
|
+
"hh" : 20, "okRatio" : 1, "responseTimeAve" : 4500, "responseTimeMax" : 5000, "responseTimeMin" : 4000, "responseTimeSum" : 9000, "site" : "blog", "yyyymmdd" : 20131125 }
|
|
86
|
+
{ "_id" : "total2013112520", "count" : 5, "count1xx" : 0, "count2xx" : 0, "count3xx" : 0, "count4xx" : 0, "count5xx" : 0, "countOver" : 0,
|
|
87
|
+
"hh" : 20, "okRatio" : 1, "responseTimeAve" : 3000, "responseTimeMax" : 5000, "responseTimeMin" : 1000, "responseTimeSum" : 15000, "site" : "total", "yyyymmdd" : 20131125 }
|
|
87
88
|
|
|
88
89
|
### sample: access log (detail)
|
|
89
90
|
config
|
|
@@ -109,13 +110,13 @@ MongoDB
|
|
|
109
110
|
db.kpiCol20131125.find()
|
|
110
111
|
{ "_id" : "git201311252003", "count" : 3, "count1xx" : 1, "count2xx" : 1, "count3xx" : 1, "count4xx" : 0, "count5xx" : 0, "countOver" : 0,
|
|
111
112
|
"counter" : [ 0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
|
112
|
-
"hh" :
|
|
113
|
+
"hh" : 20, "mm" : 3, "okRatio" : 1, "qpsAve" : 0, "qpsMax" : 2, "qpsMin" : 0, "responseTimeAve" : 2000, "responseTimeMax" : 3000, "responseTimeMin" : 1000, "responseTimeSum" : 6000, "site" : "git", "yyyymmdd" : 20131125 }
|
|
113
114
|
{ "_id" : "blog201311252003", "count" : 2, "count1xx" : 0, "count2xx" : 0, "count3xx" : 0, "count4xx" : 4, "count5xx" : 1, "countOver" : 0,
|
|
114
115
|
"counter" : [ 0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
|
115
|
-
"hh" :
|
|
116
|
+
"hh" : 20, "mm" : 3, "okRatio" : 1, "qpsAve" : 0, "qpsMax" : 2, "qpsMin" : 0, "responseTimeAve" : 4500, "responseTimeMax" : 5000, "responseTimeMin" : 4000, "responseTimeSum" : 9000, "site" : "blog", "yyyymmdd" : 20131125 }
|
|
116
117
|
{ "_id" : "total201311252003", "count" : 5, "count1xx" : 0, "count2xx" : 0, "count3xx" : 0, "count4xx" : 0, "count5xx" : 0, "countOver" : 0,
|
|
117
118
|
"counter" : [ 0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
|
118
|
-
"hh" :
|
|
119
|
+
"hh" : 20, "mm" : 3, "okRatio" : 1, "qpsAve" : 0, "qpsMax" : 4, "qpsMin" : 0, "responseTimeAve" : 3000, "responseTimeMax" : 5000, "responseTimeMin" : 1000, "responseTimeSum" : 15000, "site" : "total", "yyyymmdd" : 20131125 }
|
|
119
120
|
|
|
120
121
|
### sample: app log
|
|
121
122
|
config
|
|
@@ -136,9 +137,9 @@ log
|
|
|
136
137
|
MongoDB
|
|
137
138
|
|
|
138
139
|
db.kpiCol20131125.find()
|
|
139
|
-
{ "_id" : "git201311252248", "count" : 3, "hh" :
|
|
140
|
-
{ "_id" : "blog201311252248", "count" : 2, "hh" :
|
|
141
|
-
{ "_id" : "total201311252248","count" : 5, "hh" :
|
|
140
|
+
{ "_id" : "git201311252248", "count" : 3, "hh" : 22, "mm" : 48, "site" : "git", "yyyymmdd" : 20131125 }
|
|
141
|
+
{ "_id" : "blog201311252248", "count" : 2, "hh" : 22, "mm" : 48, "site" : "blog", "yyyymmdd" : 20131125 }
|
|
142
|
+
{ "_id" : "total201311252248","count" : 5, "hh" : 22, "mm" : 48, "site" : "total", "yyyymmdd" : 20131125 }
|
|
142
143
|
|
|
143
144
|
## Contributing
|
|
144
145
|
|
|
@@ -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-mongokpi"
|
|
7
|
-
spec.version = "0.0.
|
|
7
|
+
spec.version = "0.0.2"
|
|
8
8
|
spec.authors = ["Hatayama Hideharu"]
|
|
9
9
|
spec.email = ["h.hiddy@gmail.com"]
|
|
10
10
|
spec.description = %q{Fluent BufferedOutput plugin: counting chunk, inserting counts to make kpi count on MongoDB}
|
|
@@ -292,7 +292,7 @@ module Fluent
|
|
|
292
292
|
{:upsert => true}
|
|
293
293
|
)
|
|
294
294
|
# add supplemental fields using existing data
|
|
295
|
-
# NOTICE: this operation is not
|
|
295
|
+
# NOTICE: this operation is not atomic, then the field value is not reliable in highly distributed processing.
|
|
296
296
|
updated_result = collection.find({'_id' => key})
|
|
297
297
|
if updated_result.nil?
|
|
298
298
|
$log.info "there is no updated result for the key: #{key}" if updated_result.nil?
|
|
@@ -300,7 +300,7 @@ module Fluent
|
|
|
300
300
|
end
|
|
301
301
|
updated_doc = updated_result.to_a[0]
|
|
302
302
|
set_hash = {}
|
|
303
|
-
set_hash['responseTimeAve'] = updated_doc['responseTimeSum'] /
|
|
303
|
+
set_hash['responseTimeAve'] = updated_doc['responseTimeSum'] / updated_doc[count_name]
|
|
304
304
|
if !updated_doc['responseTimeMax'].nil? && updated_doc['responseTimeMax'] > doc['responseTimeMax']
|
|
305
305
|
set_hash['responseTimeMax'] = updated_doc['responseTimeMax']
|
|
306
306
|
else
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fluent-plugin-mongokpi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
12
|
+
date: 2013-12-19 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: bundler
|