From fd6402c152d41e8d523e7003f3a4a3fe47f36d2d Mon Sep 17 00:00:00 2001 From: uu59 Date: Wed, 4 Jun 2014 12:49:36 +0900 Subject: [PATCH 01/15] Add tutorial page basis --- app/controllers/tutorials_controller.rb | 6 ++++++ app/views/shared/_global_nav.html.erb | 5 +++++ app/views/tutorials/index.html.haml | 4 ++++ config/locales/translation_en.yml | 7 +++++++ config/locales/translation_ja.yml | 7 +++++++ config/routes.rb | 5 +++++ 6 files changed, 34 insertions(+) create mode 100644 app/controllers/tutorials_controller.rb create mode 100644 app/views/tutorials/index.html.haml diff --git a/app/controllers/tutorials_controller.rb b/app/controllers/tutorials_controller.rb new file mode 100644 index 0000000..a299775 --- /dev/null +++ b/app/controllers/tutorials_controller.rb @@ -0,0 +1,6 @@ +class TutorialsController < ApplicationController + + def index + end + +end diff --git a/app/views/shared/_global_nav.html.erb b/app/views/shared/_global_nav.html.erb index 4c30147..e5a7ec2 100644 --- a/app/views/shared/_global_nav.html.erb +++ b/app/views/shared/_global_nav.html.erb @@ -4,6 +4,11 @@
  • <%= link_to_other icon("fa-puzzle-piece fa-fw") << " fluentd", fluentd_index_path %> +
  • <%= link_to_other icon("fa-cogs fa-fw") << " " << t('terms.plugins') << icon('fa pull-right fa-caret-down'), plugins_path %> diff --git a/app/views/tutorials/index.html.haml b/app/views/tutorials/index.html.haml new file mode 100644 index 0000000..95a28df --- /dev/null +++ b/app/views/tutorials/index.html.haml @@ -0,0 +1,4 @@ +- page_title t(".page_title") + +%h1 Hello, world! + diff --git a/config/locales/translation_en.yml b/config/locales/translation_en.yml index 2283a89..4793fa3 100644 --- a/config/locales/translation_en.yml +++ b/config/locales/translation_en.yml @@ -105,6 +105,13 @@ en: env_value: Value page_title: System Information + tutorials: + common: &tutorials_common + <<: *terms + index: + <<: *tutorials_common + page_title: Tutorial + messages: need_restart: need to restart fluentd-ui please_sign_in: Sign in diff --git a/config/locales/translation_ja.yml b/config/locales/translation_ja.yml index 0beae2f..f6a8e8d 100644 --- a/config/locales/translation_ja.yml +++ b/config/locales/translation_ja.yml @@ -105,6 +105,13 @@ ja: env_value: 値 page_title: システム情報 + tutorials: + common: &tutorials_common + <<: *terms + index: + <<: *tutorials_common + page_title: チュートリアル + messages: need_restart: fluentd-uiの再起動が必要です please_sign_in: ログイン diff --git a/config/routes.rb b/config/routes.rb index ed64061..95c42e4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -33,4 +33,9 @@ Rails.application.routes.draw do namespace :polling do get "alerts" end + + namespace :tutorials do + get "/" => :index + get "step1" + end end From 26efd831f935342963a00203126c218c7e8c35c0 Mon Sep 17 00:00:00 2001 From: uu59 Date: Wed, 4 Jun 2014 14:46:21 +0900 Subject: [PATCH 02/15] Add #log_tail method for fetching recently log --- app/models/fluentd/agent/common.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/models/fluentd/agent/common.rb b/app/models/fluentd/agent/common.rb index 525eaff..d094452 100644 --- a/app/models/fluentd/agent/common.rb +++ b/app/models/fluentd/agent/common.rb @@ -67,6 +67,17 @@ class Fluentd io && io.close end + def log_tail(limit = 30) + buf = [] + io = File.open(log_file) + reader = ::FileReverseReader.new(io) + reader.each_line do |line| + buf << line + break if buf.length >= 30 + end + buf + end + def pid_file extra_options[:pid_file] || self.class.default_options[:pid_file] end From 0273a8dbe0c15164addd4af3633f7274d619c47a Mon Sep 17 00:00:00 2001 From: uu59 Date: Wed, 4 Jun 2014 15:26:26 +0900 Subject: [PATCH 03/15] Check to be ready for start tutorial --- app/controllers/tutorials_controller.rb | 8 ++++ app/views/tutorials/index.html.erb | 45 +++++++++++++++++++ app/views/tutorials/index.html.haml | 4 -- config/locales/translation_en.yml | 2 + config/locales/translation_ja.yml | 2 + spec/controllers/tutorials_controller_spec.rb | 5 +++ 6 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 app/views/tutorials/index.html.erb delete mode 100644 app/views/tutorials/index.html.haml create mode 100644 spec/controllers/tutorials_controller_spec.rb diff --git a/app/controllers/tutorials_controller.rb b/app/controllers/tutorials_controller.rb index a299775..558b491 100644 --- a/app/controllers/tutorials_controller.rb +++ b/app/controllers/tutorials_controller.rb @@ -1,6 +1,14 @@ class TutorialsController < ApplicationController + before_action :find_fluentd def index + @log = @fluentd.agent.log_tail.reverse if @fluentd end + private + + def find_fluentd + # NOTE: use first fluentd for tutorial + @fluentd = Fluentd.first + end end diff --git a/app/views/tutorials/index.html.erb b/app/views/tutorials/index.html.erb new file mode 100644 index 0000000..c2e3bc7 --- /dev/null +++ b/app/views/tutorials/index.html.erb @@ -0,0 +1,45 @@ +<% # NOTE: Using .erb is workaround for stripping \n and white space by Haml. %> +<% page_title t(".page_title") %> + +

    Hello, world!

    + +
      +
    1. + <% if @fluentd %> + <%= icon('fa-check text text-success') %> + <%= t('.step1') %> + <% else %> + <%= icon('fa-warning text text-warning') %> + <%= link_to t('.step1'), fluentd_index_path %> + <% end %> +
    2. +
    3. + <% if @fluentd && @fluentd.agent.running? %> + <%= icon('fa-check text text-success') %> + <%= t('.step2') %> + <% else %> + <%= icon('fa-warning text text-warning') %> + <% if @fluentd %> + <%= link_to t('.step2'), fluentd_agent_path(@fluentd) %> + <% else %> + <%= t('.step2') %> + <% end %> + <% end %> +
    4. +
    + +<% if @fluentd && @fluentd.agent.running? %> + TODO: To Be Continued.. +<% end %> + + +

    TODO: log(最新30件)

    + +<% if @log %> +
    +<% @log.each do |l| %>
    +<%= l %>
    +<% end %>
    +
    +<% end %> + diff --git a/app/views/tutorials/index.html.haml b/app/views/tutorials/index.html.haml deleted file mode 100644 index 95a28df..0000000 --- a/app/views/tutorials/index.html.haml +++ /dev/null @@ -1,4 +0,0 @@ -- page_title t(".page_title") - -%h1 Hello, world! - diff --git a/config/locales/translation_en.yml b/config/locales/translation_en.yml index 4793fa3..95a9d29 100644 --- a/config/locales/translation_en.yml +++ b/config/locales/translation_en.yml @@ -108,6 +108,8 @@ en: tutorials: common: &tutorials_common <<: *terms + step1: "Setup fluentd" + step2: "Start fluentd" index: <<: *tutorials_common page_title: Tutorial diff --git a/config/locales/translation_ja.yml b/config/locales/translation_ja.yml index f6a8e8d..d46cc10 100644 --- a/config/locales/translation_ja.yml +++ b/config/locales/translation_ja.yml @@ -108,6 +108,8 @@ ja: tutorials: common: &tutorials_common <<: *terms + step1: "fluentdをセットアップ" + step2: "fluentdを起動" index: <<: *tutorials_common page_title: チュートリアル diff --git a/spec/controllers/tutorials_controller_spec.rb b/spec/controllers/tutorials_controller_spec.rb new file mode 100644 index 0000000..c9fc1af --- /dev/null +++ b/spec/controllers/tutorials_controller_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe TutorialsController, :type => :controller do + +end From e2c9cf5a3f6f6531c4bf27149e882db1cd40d3ca Mon Sep 17 00:00:00 2001 From: uu59 Date: Wed, 4 Jun 2014 15:33:23 +0900 Subject: [PATCH 04/15] Downgrade rspec 3.00 -> 2.99 because rails g controller generated a spec that require 'rails_helper', but we haven't it" Re-run rails g rspec:install causes many conflicts on spec_helper.rb I'll investigate and solve it in the future --- Gemfile | 2 +- Gemfile.lock | 27 +++++++++---------- spec/controllers/tutorials_controller_spec.rb | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Gemfile b/Gemfile index 27e5005..a958a89 100644 --- a/Gemfile +++ b/Gemfile @@ -7,7 +7,7 @@ gemspec group :development, :test do gem "rake" gem "pry" - gem "rspec-rails", "~> 3.0" + gem "rspec-rails", "~> 2.99" end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index ba14444..fe23ee1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -156,22 +156,21 @@ GEM rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) rake (10.3.2) - rspec-core (3.0.0) - rspec-support (~> 3.0.0) - rspec-expectations (3.0.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.0.0) - rspec-mocks (3.0.0) - rspec-support (~> 3.0.0) - rspec-rails (3.0.1) + rspec-collection_matchers (0.0.4) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (2.99.0) + rspec-expectations (2.99.0) + diff-lcs (>= 1.1.3, < 2.0) + rspec-mocks (2.99.0) + rspec-rails (2.99.0) actionpack (>= 3.0) + activemodel (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) - rspec-core (~> 3.0.0) - rspec-expectations (~> 3.0.0) - rspec-mocks (~> 3.0.0) - rspec-support (~> 3.0.0) - rspec-support (3.0.0) + rspec-collection_matchers + rspec-core (~> 2.99.0) + rspec-expectations (~> 2.99.0) + rspec-mocks (~> 2.99.0) safe_yaml (1.0.3) sass (3.2.19) sass-rails (4.0.3) @@ -228,6 +227,6 @@ DEPENDENCIES fluentd-ui! pry rake - rspec-rails (~> 3.0) + rspec-rails (~> 2.99) simplecov (~> 0.7.1) webmock (~> 1.18.0) diff --git a/spec/controllers/tutorials_controller_spec.rb b/spec/controllers/tutorials_controller_spec.rb index c9fc1af..d8db500 100644 --- a/spec/controllers/tutorials_controller_spec.rb +++ b/spec/controllers/tutorials_controller_spec.rb @@ -1,4 +1,4 @@ -require 'rails_helper' +require 'spec_helper' RSpec.describe TutorialsController, :type => :controller do From afed7d65b14d57698ada8125f787edb57d2ff752 Mon Sep 17 00:00:00 2001 From: uu59 Date: Wed, 4 Jun 2014 16:04:17 +0900 Subject: [PATCH 05/15] Change warning icon color to vivid --- app/views/tutorials/index.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/tutorials/index.html.erb b/app/views/tutorials/index.html.erb index c2e3bc7..e5265f9 100644 --- a/app/views/tutorials/index.html.erb +++ b/app/views/tutorials/index.html.erb @@ -9,7 +9,7 @@ <%= icon('fa-check text text-success') %> <%= t('.step1') %> <% else %> - <%= icon('fa-warning text text-warning') %> + <%= icon('fa-warning text text-danger') %> <%= link_to t('.step1'), fluentd_index_path %> <% end %>
  • @@ -18,7 +18,7 @@ <%= icon('fa-check text text-success') %> <%= t('.step2') %> <% else %> - <%= icon('fa-warning text text-warning') %> + <%= icon('fa-warning text text-danger') %> <% if @fluentd %> <%= link_to t('.step2'), fluentd_agent_path(@fluentd) %> <% else %> From 5200568fda095df7c8ab92658ffc4b78067fd75a Mon Sep 17 00:00:00 2001 From: uu59 Date: Thu, 5 Jun 2014 14:31:09 +0900 Subject: [PATCH 06/15] Add chapter 1 for tutorial --- app/assets/javascripts/tutorial.js | 74 +++++++++++++++++++++++++ app/controllers/tutorials_controller.rb | 18 ++++++ app/models/fluentd.rb | 4 ++ app/views/tutorials/chapter1.html.erb | 24 ++++++++ app/views/tutorials/index.html.erb | 45 --------------- app/views/tutorials/index.html.haml | 26 +++++++++ config/locales/translation_en.yml | 11 +++- config/locales/translation_ja.yml | 11 +++- config/routes.rb | 4 +- 9 files changed, 167 insertions(+), 50 deletions(-) create mode 100644 app/assets/javascripts/tutorial.js create mode 100644 app/views/tutorials/chapter1.html.erb delete mode 100644 app/views/tutorials/index.html.erb create mode 100644 app/views/tutorials/index.html.haml diff --git a/app/assets/javascripts/tutorial.js b/app/assets/javascripts/tutorial.js new file mode 100644 index 0000000..1328c4a --- /dev/null +++ b/app/assets/javascripts/tutorial.js @@ -0,0 +1,74 @@ +(function(){ + "use strict"; + + // NOTE: should move to common space if this filter used another place + Vue.filter('to_json', function (value) { + return JSON.stringify(value); + }) + + $(function(){ + if($('#chapter1').length === 0) return; + + new Vue({ + el: "#chapter1", + data: { + "logs": [], + "payloads": [ + { + "path": "/debug.foo", + "data" : { + "message": "test message", // NOTE: "'" will break curl command + } + }, + { + "path": "/debug.bar", + "data" : { + "my_number": 42, + "my_array": [1, 2, 3] + } + }, + { + "path": "/xxxxx", + "data" : { + "xx": "will be unmatched" + } + }, + { + "path": "/slash/convert/to/dot", + "data" : { + "greeting": "hello" + } + } + ] + }, + + created: function(){ + this.fetchLogs(); + }, + + methods: { + fetchLogs: function() { + var self = this; + new Promise(function(resolve, reject) { + $.getJSON("/tutorials/log_tail", resolve).fail(reject); + }).then(function(logs){ + self.logs = logs; + }); + }, + sendRequest: function(payload){ + new Promise(function(resolve, reject) { + $.ajax({ + url: "/tutorials/request_fluentd", + data: JSON.stringify(payload), + contentType: "application/json", + dataType: "json", + type: "POST" + }).done(resolve).fail(reject); + })["catch"](function(e){ + console.error(e); + }); + } + } + }); + }); +})(); diff --git a/app/controllers/tutorials_controller.rb b/app/controllers/tutorials_controller.rb index 558b491..3caa40d 100644 --- a/app/controllers/tutorials_controller.rb +++ b/app/controllers/tutorials_controller.rb @@ -1,14 +1,32 @@ class TutorialsController < ApplicationController before_action :find_fluentd + helper_method :tutorial_ready? def index @log = @fluentd.agent.log_tail.reverse if @fluentd end + def chapter1 + end + + def log_tail + @logs = @fluentd.agent.log_tail.reverse if @fluentd + render json: @logs + end + + def request_fluentd + HTTPClient.post("http://localhost:8888#{params[:path]}", json: params[:data].to_json) + render nothing: true, status: 204 + end + private def find_fluentd # NOTE: use first fluentd for tutorial @fluentd = Fluentd.first end + + def tutorial_ready? + @fluentd && @fluentd.agent.running? + end end diff --git a/app/models/fluentd.rb b/app/models/fluentd.rb index b59d609..e33e358 100644 --- a/app/models/fluentd.rb +++ b/app/models/fluentd.rb @@ -99,6 +99,10 @@ class Fluentd < ActiveRecord::Base type debug_agent port 24230 + + + type stdout + XML end end diff --git a/app/views/tutorials/chapter1.html.erb b/app/views/tutorials/chapter1.html.erb new file mode 100644 index 0000000..0d3b040 --- /dev/null +++ b/app/views/tutorials/chapter1.html.erb @@ -0,0 +1,24 @@ +<% # NOTE: Using .erb is for styling
     %>
    +
    +<% page_title t(".page_title") %>
    +
    +

    +<%= t ".description" %> +

    + +
    +
    +

    + " /> + + $ curl -X POST http://localhost:8888{{ path }} -F 'json={{ data | to_json }}' + +

    +
    + +
    +
    +
    +{{ $value }}
    +
    +
    diff --git a/app/views/tutorials/index.html.erb b/app/views/tutorials/index.html.erb deleted file mode 100644 index e5265f9..0000000 --- a/app/views/tutorials/index.html.erb +++ /dev/null @@ -1,45 +0,0 @@ -<% # NOTE: Using .erb is workaround for stripping \n and white space by Haml. %> -<% page_title t(".page_title") %> - -

    Hello, world!

    - -
      -
    1. - <% if @fluentd %> - <%= icon('fa-check text text-success') %> - <%= t('.step1') %> - <% else %> - <%= icon('fa-warning text text-danger') %> - <%= link_to t('.step1'), fluentd_index_path %> - <% end %> -
    2. -
    3. - <% if @fluentd && @fluentd.agent.running? %> - <%= icon('fa-check text text-success') %> - <%= t('.step2') %> - <% else %> - <%= icon('fa-warning text text-danger') %> - <% if @fluentd %> - <%= link_to t('.step2'), fluentd_agent_path(@fluentd) %> - <% else %> - <%= t('.step2') %> - <% end %> - <% end %> -
    4. -
    - -<% if @fluentd && @fluentd.agent.running? %> - TODO: To Be Continued.. -<% end %> - - -

    TODO: log(最新30件)

    - -<% if @log %> -
    -<% @log.each do |l| %>
    -<%= l %>
    -<% end %>
    -
    -<% end %> - diff --git a/app/views/tutorials/index.html.haml b/app/views/tutorials/index.html.haml new file mode 100644 index 0000000..5e9840e --- /dev/null +++ b/app/views/tutorials/index.html.haml @@ -0,0 +1,26 @@ +- page_title t(".page_title") + +%h2 + Hello, world! + +%ol + %li + - if @fluentd + = icon('fa-check text text-success') + = t('.step1') + - else + = icon('fa-warning text text-danger') + = link_to t('.step1'), fluentd_index_path + %li + - if @fluentd && @fluentd.agent.running? + = icon('fa-check text text-success') + = t('.step2') + - else + = icon('fa-warning text text-danger') + - if @fluentd + = link_to t('.step2'), fluentd_agent_path(@fluentd) + - else + = t('.step2') + +- if tutorial_ready? + = link_to t('.start_tutorial'), tutorials_chapter1_path diff --git a/config/locales/translation_en.yml b/config/locales/translation_en.yml index 95a9d29..bd41ae8 100644 --- a/config/locales/translation_en.yml +++ b/config/locales/translation_en.yml @@ -108,11 +108,18 @@ en: tutorials: common: &tutorials_common <<: *terms - step1: "Setup fluentd" - step2: "Start fluentd" index: <<: *tutorials_common + step1: "Setup fluentd" + step2: "Start fluentd" page_title: Tutorial + start_tutorial: Start tutorial + chapter1: + <<: *tutorials_common + page_title: "Tutorial | Receive data via in_http" + reload_log: Reload fluend log + description: You can send an arbitrary JSON data via HTTP. URL path will be tag name. + send: Send messages: need_restart: need to restart fluentd-ui diff --git a/config/locales/translation_ja.yml b/config/locales/translation_ja.yml index d46cc10..e89229a 100644 --- a/config/locales/translation_ja.yml +++ b/config/locales/translation_ja.yml @@ -108,11 +108,18 @@ ja: tutorials: common: &tutorials_common <<: *terms - step1: "fluentdをセットアップ" - step2: "fluentdを起動" index: <<: *tutorials_common page_title: チュートリアル + step1: "fluentdをセットアップ" + step2: "fluentdを起動" + start_tutorial: "チュートリアルを始める" + chapter1: + <<: *tutorials_common + page_title: "チュートリアル | in_httpでデータを受け取る" + reload_log: fluentdのログを更新 + description: fluentdに任意のデータをJSONで送ることができます。URLのパスがタグの名前になります。 + send: 送信 messages: need_restart: fluentd-uiの再起動が必要です diff --git a/config/routes.rb b/config/routes.rb index 95c42e4..cdb8d33 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -36,6 +36,8 @@ Rails.application.routes.draw do namespace :tutorials do get "/" => :index - get "step1" + get "chapter1" + get "log_tail" + post "request_fluentd" end end From bdc64be5d98df54567d5d367e269f2fb14180972 Mon Sep 17 00:00:00 2001 From: uu59 Date: Thu, 5 Jun 2014 14:43:00 +0900 Subject: [PATCH 07/15] Check tutorial is ready on each chapter --- app/controllers/tutorials_controller.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/controllers/tutorials_controller.rb b/app/controllers/tutorials_controller.rb index 3caa40d..d21b202 100644 --- a/app/controllers/tutorials_controller.rb +++ b/app/controllers/tutorials_controller.rb @@ -7,6 +7,7 @@ class TutorialsController < ApplicationController end def chapter1 + return redirect_to tutorials_url unless tutorial_ready? end def log_tail From 7bb0f7e5be5d0ee0c9ea22e3a8f5effd9f280c9c Mon Sep 17 00:00:00 2001 From: uu59 Date: Thu, 5 Jun 2014 14:46:30 +0900 Subject: [PATCH 08/15] Mention to vue.js --- app/views/tutorials/chapter1.html.erb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/tutorials/chapter1.html.erb b/app/views/tutorials/chapter1.html.erb index 0d3b040..6352d6d 100644 --- a/app/views/tutorials/chapter1.html.erb +++ b/app/views/tutorials/chapter1.html.erb @@ -6,6 +6,7 @@ <%= t ".description" %>

    +

    @@ -17,8 +18,9 @@

    -
    +
     
     {{ $value }}
     
    + From fc36a941fac6dfd58021f460a44a9f016b1b6728 Mon Sep 17 00:00:00 2001 From: uu59 Date: Thu, 5 Jun 2014 15:04:26 +0900 Subject: [PATCH 09/15] Move Vue.filter definition to vue_common --- app/assets/javascripts/application.js | 1 + app/assets/javascripts/tutorial.js | 5 ----- app/assets/javascripts/vue_common.js | 4 ++++ 3 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 app/assets/javascripts/vue_common.js diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 43d6e1d..b8c2f45 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -17,4 +17,5 @@ //= require sb-admin-v2/plugins/dataTables/dataTables.bootstrap //= require bower/vue/dist/vue //= require bower/es6-promise/promise +//= require vue_common //= require_tree . diff --git a/app/assets/javascripts/tutorial.js b/app/assets/javascripts/tutorial.js index 1328c4a..a19c068 100644 --- a/app/assets/javascripts/tutorial.js +++ b/app/assets/javascripts/tutorial.js @@ -1,11 +1,6 @@ (function(){ "use strict"; - // NOTE: should move to common space if this filter used another place - Vue.filter('to_json', function (value) { - return JSON.stringify(value); - }) - $(function(){ if($('#chapter1').length === 0) return; diff --git a/app/assets/javascripts/vue_common.js b/app/assets/javascripts/vue_common.js new file mode 100644 index 0000000..ffecc97 --- /dev/null +++ b/app/assets/javascripts/vue_common.js @@ -0,0 +1,4 @@ +Vue.filter('to_json', function (value) { + return JSON.stringify(value); +}) + From 220ec734022085b2824f0cf87b9ee078c267739d Mon Sep 17 00:00:00 2001 From: uu59 Date: Thu, 5 Jun 2014 15:30:55 +0900 Subject: [PATCH 10/15] Add learn_more section for detail input plugin --- app/views/tutorials/chapter1.html.erb | 5 +++++ config/locales/translation_en.yml | 3 +++ config/locales/translation_ja.yml | 3 +++ 3 files changed, 11 insertions(+) diff --git a/app/views/tutorials/chapter1.html.erb b/app/views/tutorials/chapter1.html.erb index 6352d6d..fc58501 100644 --- a/app/views/tutorials/chapter1.html.erb +++ b/app/views/tutorials/chapter1.html.erb @@ -24,3 +24,8 @@
    + +

    +<%= raw t ".learn_more" %> +

    + diff --git a/config/locales/translation_en.yml b/config/locales/translation_en.yml index bd41ae8..4f64a3e 100644 --- a/config/locales/translation_en.yml +++ b/config/locales/translation_en.yml @@ -119,6 +119,9 @@ en: page_title: "Tutorial | Receive data via in_http" reload_log: Reload fluend log description: You can send an arbitrary JSON data via HTTP. URL path will be tag name. + learn_more: | + Other input plugins are available such as in_syslog, in_tail, etc. + Learn More send: Send messages: diff --git a/config/locales/translation_ja.yml b/config/locales/translation_ja.yml index e89229a..3ddacf0 100644 --- a/config/locales/translation_ja.yml +++ b/config/locales/translation_ja.yml @@ -119,6 +119,9 @@ ja: page_title: "チュートリアル | in_httpでデータを受け取る" reload_log: fluentdのログを更新 description: fluentdに任意のデータをJSONで送ることができます。URLのパスがタグの名前になります。 + learn_more: | + 他にもin_tail, in_syslogなどのinputプラグインがあります。 + Learn More send: 送信 messages: From dbe8cacd35a28c0ded3e0769f2c7724b1a15a504 Mon Sep 17 00:00:00 2001 From: uu59 Date: Thu, 5 Jun 2014 15:31:20 +0900 Subject: [PATCH 11/15] Add TODO --- app/views/tutorials/chapter1.html.erb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/views/tutorials/chapter1.html.erb b/app/views/tutorials/chapter1.html.erb index fc58501..b120d4b 100644 --- a/app/views/tutorials/chapter1.html.erb +++ b/app/views/tutorials/chapter1.html.erb @@ -29,3 +29,6 @@ <%= raw t ".learn_more" %>

    +

    +TODO: (chapter 2: output/buffer plugin) To Be Continued→... +

    From 7b1e66a7d076a39e00239c1b0906eb33ab02402f Mon Sep 17 00:00:00 2001 From: uu59 Date: Fri, 6 Jun 2014 14:04:49 +0900 Subject: [PATCH 12/15] Add tutorial chapter 2 --- Gemfile.lock | 9 +++-- app/controllers/tutorials_controller.rb | 10 +++++- app/models/fluentd.rb | 46 +++++++++++++------------ app/views/tutorials/chapter1.html.erb | 2 +- app/views/tutorials/chapter2.html.haml | 23 +++++++++++++ config/application.rb | 1 + config/locales/translation_en.yml | 13 ++++++- config/locales/translation_ja.yml | 13 ++++++- config/routes.rb | 1 + fluentd-ui.gemspec | 2 ++ 10 files changed, 92 insertions(+), 28 deletions(-) create mode 100644 app/views/tutorials/chapter2.html.haml diff --git a/Gemfile.lock b/Gemfile.lock index fe23ee1..f18f66a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,6 +12,8 @@ PATH i18n_generators (= 1.2.1) jbuilder (~> 2.0) jquery-rails (~> 3.1.0) + kramdown (> 1.0.0) + kramdown-haml puma rails (= 4.1.1) sass-rails (~> 4.0.3) @@ -75,7 +77,7 @@ GEM factory_girl_rails (4.4.1) factory_girl (~> 4.4.0) railties (>= 3.0.0) - fluentd (0.10.48) + fluentd (0.10.49) cool.io (>= 1.1.1, < 2.0.0, != 1.2.0) http_parser.rb (>= 0.5.1, < 0.7.0) json (>= 1.4.3) @@ -107,6 +109,9 @@ GEM railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) json (1.8.1) + kramdown (1.3.3) + kramdown-haml (0.0.3) + haml mail (2.5.4) mime-types (~> 1.16) treetop (~> 1.4.8) @@ -215,7 +220,7 @@ GEM webrobots (0.1.1) xpath (2.0.0) nokogiri (~> 1.3) - yajl-ruby (1.2.0) + yajl-ruby (1.2.1) PLATFORMS ruby diff --git a/app/controllers/tutorials_controller.rb b/app/controllers/tutorials_controller.rb index d21b202..1f5fab5 100644 --- a/app/controllers/tutorials_controller.rb +++ b/app/controllers/tutorials_controller.rb @@ -1,5 +1,6 @@ class TutorialsController < ApplicationController before_action :find_fluentd + before_action :check_ready, only: [:chapter1, :chapter2] helper_method :tutorial_ready? def index @@ -7,7 +8,10 @@ class TutorialsController < ApplicationController end def chapter1 - return redirect_to tutorials_url unless tutorial_ready? + end + + def chapter2 + @default_conf = Fluentd::DEFAULT_CONF end def log_tail @@ -27,6 +31,10 @@ class TutorialsController < ApplicationController @fluentd = Fluentd.first end + def check_ready + return redirect_to tutorials_url unless tutorial_ready? + end + def tutorial_ready? @fluentd && @fluentd.agent.running? end diff --git a/app/models/fluentd.rb b/app/models/fluentd.rb index e33e358..6af20c7 100644 --- a/app/models/fluentd.rb +++ b/app/models/fluentd.rb @@ -8,6 +8,29 @@ class Fluentd < ActiveRecord::Base before_validation :expand_paths after_save :ensure_default_config_file + DEFAULT_CONF = <<-CONF.strip_heredoc + + type forward + port 24224 + + + type monitor_agent + port 24220 + + + type http + port 8888 + + + type debug_agent + port 24230 + + + + type stdout + + CONF + def self.variants %w(fluentd td-agent) end @@ -82,28 +105,7 @@ class Fluentd < ActiveRecord::Base return true if File.size?(config_file) File.open(config_file, "w") do |f| - f.write <<-XML.strip_heredoc - - type forward - port 24224 - - - type monitor_agent - port 24220 - - - type http - port 9880 - - - type debug_agent - port 24230 - - - - type stdout - - XML + f.write DEFAULT_CONF end end end diff --git a/app/views/tutorials/chapter1.html.erb b/app/views/tutorials/chapter1.html.erb index b120d4b..dfcd2c3 100644 --- a/app/views/tutorials/chapter1.html.erb +++ b/app/views/tutorials/chapter1.html.erb @@ -30,5 +30,5 @@

    -TODO: (chapter 2: output/buffer plugin) To Be Continued→... + <%= link_to t('tutorials.chapter2.page_title') << " >>", tutorials_chapter2_path, class: "pull-right" %>

    diff --git a/app/views/tutorials/chapter2.html.haml b/app/views/tutorials/chapter2.html.haml new file mode 100644 index 0000000..7ee7236 --- /dev/null +++ b/app/views/tutorials/chapter2.html.haml @@ -0,0 +1,23 @@ +- page_title t(".page_title") + +%pre + 2014-06-05 14:43:14 +0900 [info]: adding source type="http" + 2014-06-05 14:43:14 +0900 [info]: adding match pattern="debug.*" type="stdout" + +:markdown + #{t('.lesson_markdown')} + +%pre + :escaped + + type http + port 8888 + + + + type stdout + + + +%p + = link_to "<< " << t('tutorials.chapter1.page_title'), tutorials_chapter1_path, class: "pull-left" diff --git a/config/application.rb b/config/application.rb index 0a586f5..d29965a 100644 --- a/config/application.rb +++ b/config/application.rb @@ -18,6 +18,7 @@ require "haml-rails" require "jquery-rails" require "sucker_punch" require "settingslogic" +require "kramdown-haml" module FluentdUi class Application < Rails::Application diff --git a/config/locales/translation_en.yml b/config/locales/translation_en.yml index 4f64a3e..85e0ea0 100644 --- a/config/locales/translation_en.yml +++ b/config/locales/translation_en.yml @@ -116,13 +116,24 @@ en: start_tutorial: Start tutorial chapter1: <<: *tutorials_common - page_title: "Tutorial | Receive data via in_http" + page_title: "Chapter 1 | Receive data via in_http" reload_log: Reload fluend log description: You can send an arbitrary JSON data via HTTP. URL path will be tag name. learn_more: | Other input plugins are available such as in_syslog, in_tail, etc. Learn More send: Send + chapter2: + <<: *tutorials_common + page_title: "Chapter 2 | in_http and out_stdout" + lesson_markdown: | + You can see the log as above when fluentd started. + + Line 1 enable http plugin that allows to receive HTTP requests. + + Line 2 enable stdout plugin that process the data with matched `debug.*` tag. + + These settings are defined as following fluent.conf: messages: need_restart: need to restart fluentd-ui diff --git a/config/locales/translation_ja.yml b/config/locales/translation_ja.yml index 3ddacf0..e6277f9 100644 --- a/config/locales/translation_ja.yml +++ b/config/locales/translation_ja.yml @@ -116,13 +116,24 @@ ja: start_tutorial: "チュートリアルを始める" chapter1: <<: *tutorials_common - page_title: "チュートリアル | in_httpでデータを受け取る" + page_title: "Chapter 1 | in_httpでデータを受け取る" reload_log: fluentdのログを更新 description: fluentdに任意のデータをJSONで送ることができます。URLのパスがタグの名前になります。 learn_more: | 他にもin_tail, in_syslogなどのinputプラグインがあります。 Learn More send: 送信 + chapter2: + <<: *tutorials_common + page_title: "Chapter 2 | in_httpとout_stdout" + lesson_markdown: | + fluentdの起動時にこのようなログがあるかと思います。 + + この1行目でhttpが有効化されています。これでHTTPリクエストを受け付けるようになります。 + + 2行目でstdoutが有効化されています。受け取ったデータのうち、タグが`debug.*`にマッチするものはstdoutへと渡されます。 + + この2つはfluent.confでそれぞれ次のように設定されています。 messages: need_restart: fluentd-uiの再起動が必要です diff --git a/config/routes.rb b/config/routes.rb index cdb8d33..ec94b20 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -37,6 +37,7 @@ Rails.application.routes.draw do namespace :tutorials do get "/" => :index get "chapter1" + get "chapter2" get "log_tail" post "request_fluentd" end diff --git a/fluentd-ui.gemspec b/fluentd-ui.gemspec index 995053e..366f8b0 100644 --- a/fluentd-ui.gemspec +++ b/fluentd-ui.gemspec @@ -35,4 +35,6 @@ Gem::Specification.new do |spec| spec.add_dependency "settingslogic" spec.add_dependency "puma" spec.add_dependency "thor" + spec.add_dependency "kramdown", "> 1.0.0" + spec.add_dependency "kramdown-haml" end From 49ba55a8689c1b5ffbe829666a41c6118cea1bba Mon Sep 17 00:00:00 2001 From: uu59 Date: Fri, 6 Jun 2014 14:20:52 +0900 Subject: [PATCH 13/15] Add navigation for each chapter --- app/views/tutorials/chapter1.html.erb | 7 ++++++- app/views/tutorials/chapter2.html.haml | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/views/tutorials/chapter1.html.erb b/app/views/tutorials/chapter1.html.erb index dfcd2c3..aa3cc55 100644 --- a/app/views/tutorials/chapter1.html.erb +++ b/app/views/tutorials/chapter1.html.erb @@ -2,6 +2,10 @@ <% page_title t(".page_title") %> +

    + <%= link_to t('tutorials.chapter2.page_title') << " >>", tutorials_chapter2_path, class: "pull-right" %> +

    +

    <%= t ".description" %>

    @@ -29,6 +33,7 @@ <%= raw t ".learn_more" %>

    -

    +

    <%= link_to t('tutorials.chapter2.page_title') << " >>", tutorials_chapter2_path, class: "pull-right" %>

    + diff --git a/app/views/tutorials/chapter2.html.haml b/app/views/tutorials/chapter2.html.haml index 7ee7236..217d80c 100644 --- a/app/views/tutorials/chapter2.html.haml +++ b/app/views/tutorials/chapter2.html.haml @@ -1,5 +1,8 @@ - page_title t(".page_title") +%p.clearfix + = link_to "<< " << t('tutorials.chapter1.page_title'), tutorials_chapter1_path, class: "pull-left" + %pre 2014-06-05 14:43:14 +0900 [info]: adding source type="http" 2014-06-05 14:43:14 +0900 [info]: adding match pattern="debug.*" type="stdout" @@ -19,5 +22,5 @@ -%p +%p.clearfix = link_to "<< " << t('tutorials.chapter1.page_title'), tutorials_chapter1_path, class: "pull-left" From 6c3ef9bcf5ddc94dcd075fa437085b95d0a51318 Mon Sep 17 00:00:00 2001 From: uu59 Date: Fri, 6 Jun 2014 14:28:18 +0900 Subject: [PATCH 14/15] Move code fragment to i18n yaml --- app/views/tutorials/chapter2.html.haml | 16 ---------------- config/locales/translation_en.yml | 14 +++++++++++++- config/locales/translation_ja.yml | 12 ++++++++++++ 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/app/views/tutorials/chapter2.html.haml b/app/views/tutorials/chapter2.html.haml index 217d80c..e219e69 100644 --- a/app/views/tutorials/chapter2.html.haml +++ b/app/views/tutorials/chapter2.html.haml @@ -3,24 +3,8 @@ %p.clearfix = link_to "<< " << t('tutorials.chapter1.page_title'), tutorials_chapter1_path, class: "pull-left" -%pre - 2014-06-05 14:43:14 +0900 [info]: adding source type="http" - 2014-06-05 14:43:14 +0900 [info]: adding match pattern="debug.*" type="stdout" - :markdown #{t('.lesson_markdown')} -%pre - :escaped - - type http - port 8888 - - - - type stdout - - - %p.clearfix = link_to "<< " << t('tutorials.chapter1.page_title'), tutorials_chapter1_path, class: "pull-left" diff --git a/config/locales/translation_en.yml b/config/locales/translation_en.yml index 85e0ea0..1249118 100644 --- a/config/locales/translation_en.yml +++ b/config/locales/translation_en.yml @@ -127,7 +127,10 @@ en: <<: *tutorials_common page_title: "Chapter 2 | in_http and out_stdout" lesson_markdown: | - You can see the log as above when fluentd started. + You can see the log when fluentd started. + + 2014-06-05 14:43:14 +0900 [info]: adding source type="http" + 2014-06-05 14:43:14 +0900 [info]: adding match pattern="debug.*" type="stdout" Line 1 enable http plugin that allows to receive HTTP requests. @@ -135,6 +138,15 @@ en: These settings are defined as following fluent.conf: + + type http + port 8888 + + + + type stdout + + messages: need_restart: need to restart fluentd-ui please_sign_in: Sign in diff --git a/config/locales/translation_ja.yml b/config/locales/translation_ja.yml index e6277f9..67f835e 100644 --- a/config/locales/translation_ja.yml +++ b/config/locales/translation_ja.yml @@ -129,12 +129,24 @@ ja: lesson_markdown: | fluentdの起動時にこのようなログがあるかと思います。 + 2014-06-05 14:43:14 +0900 [info]: adding source type="http" + 2014-06-05 14:43:14 +0900 [info]: adding match pattern="debug.*" type="stdout" + この1行目でhttpが有効化されています。これでHTTPリクエストを受け付けるようになります。 2行目でstdoutが有効化されています。受け取ったデータのうち、タグが`debug.*`にマッチするものはstdoutへと渡されます。 この2つはfluent.confでそれぞれ次のように設定されています。 + + type http + port 8888 + + + + type stdout + + messages: need_restart: fluentd-uiの再起動が必要です please_sign_in: ログイン From a47e339b0e349462cb2a14e8f77bc8075e554899 Mon Sep 17 00:00:00 2001 From: uu59 Date: Fri, 6 Jun 2014 17:36:19 +0900 Subject: [PATCH 15/15] Tutorials done --- app/views/tutorials/chapter1.html.erb | 4 -- app/views/tutorials/chapter2.html.haml | 2 + app/views/tutorials/chapter3.html.haml | 12 ++++ app/views/tutorials/chapter4.html.haml | 12 ++++ app/views/tutorials/chapter5.html.haml | 10 +++ config/locales/translation_en.yml | 92 +++++++++++++++++++++++-- config/locales/translation_ja.yml | 90 +++++++++++++++++++++++- config/routes.rb | 3 + public/fluentd.png | Bin 0 -> 153869 bytes 9 files changed, 216 insertions(+), 9 deletions(-) create mode 100644 app/views/tutorials/chapter3.html.haml create mode 100644 app/views/tutorials/chapter4.html.haml create mode 100644 app/views/tutorials/chapter5.html.haml create mode 100644 public/fluentd.png diff --git a/app/views/tutorials/chapter1.html.erb b/app/views/tutorials/chapter1.html.erb index aa3cc55..285e7b1 100644 --- a/app/views/tutorials/chapter1.html.erb +++ b/app/views/tutorials/chapter1.html.erb @@ -29,10 +29,6 @@ -

    -<%= raw t ".learn_more" %> -

    -

    <%= link_to t('tutorials.chapter2.page_title') << " >>", tutorials_chapter2_path, class: "pull-right" %>

    diff --git a/app/views/tutorials/chapter2.html.haml b/app/views/tutorials/chapter2.html.haml index e219e69..cd1dd8b 100644 --- a/app/views/tutorials/chapter2.html.haml +++ b/app/views/tutorials/chapter2.html.haml @@ -2,9 +2,11 @@ %p.clearfix = link_to "<< " << t('tutorials.chapter1.page_title'), tutorials_chapter1_path, class: "pull-left" + = link_to t('tutorials.chapter3.page_title') << " >>", tutorials_chapter3_path, class: "pull-right" :markdown #{t('.lesson_markdown')} %p.clearfix = link_to "<< " << t('tutorials.chapter1.page_title'), tutorials_chapter1_path, class: "pull-left" + = link_to t('tutorials.chapter3.page_title') << " >>", tutorials_chapter3_path, class: "pull-right" diff --git a/app/views/tutorials/chapter3.html.haml b/app/views/tutorials/chapter3.html.haml new file mode 100644 index 0000000..b34f292 --- /dev/null +++ b/app/views/tutorials/chapter3.html.haml @@ -0,0 +1,12 @@ +- page_title t(".page_title") + +%p.clearfix + = link_to "<< " << t('tutorials.chapter2.page_title'), tutorials_chapter2_path, class: "pull-left" + = link_to t('tutorials.chapter4.page_title') << " >>", tutorials_chapter4_path, class: "pull-right" + +:markdown + #{t(".lesson_markdown", edit_config_url: edit_fluentd_setting_path(@fluentd))} + +%p.clearfix + = link_to "<< " << t('tutorials.chapter2.page_title'), tutorials_chapter2_path, class: "pull-left" + = link_to t('tutorials.chapter4.page_title') << " >>", tutorials_chapter4_path, class: "pull-right" diff --git a/app/views/tutorials/chapter4.html.haml b/app/views/tutorials/chapter4.html.haml new file mode 100644 index 0000000..de617b1 --- /dev/null +++ b/app/views/tutorials/chapter4.html.haml @@ -0,0 +1,12 @@ +- page_title t(".page_title") + +%p.clearfix + = link_to "<< " << t('tutorials.chapter3.page_title'), tutorials_chapter3_path, class: "pull-left" + = link_to t('tutorials.chapter5.page_title') << " >>", tutorials_chapter5_path, class: "pull-right" + +:markdown + #{t ".lesson_markdown"} + +%p.clearfix + = link_to "<< " << t('tutorials.chapter3.page_title'), tutorials_chapter3_path, class: "pull-left" + = link_to t('tutorials.chapter5.page_title') << " >>", tutorials_chapter5_path, class: "pull-right" diff --git a/app/views/tutorials/chapter5.html.haml b/app/views/tutorials/chapter5.html.haml new file mode 100644 index 0000000..9213ac1 --- /dev/null +++ b/app/views/tutorials/chapter5.html.haml @@ -0,0 +1,10 @@ +- page_title t(".page_title") + +%p.clearfix + = link_to "<< " << t('tutorials.chapter4.page_title'), tutorials_chapter4_path, class: "pull-left" + +:markdown + #{t ".lesson_markdown"} + +%p.clearfix + = link_to "<< " << t('tutorials.chapter4.page_title'), tutorials_chapter4_path, class: "pull-left" diff --git a/config/locales/translation_en.yml b/config/locales/translation_en.yml index 1249118..65c8fae 100644 --- a/config/locales/translation_en.yml +++ b/config/locales/translation_en.yml @@ -116,12 +116,9 @@ en: start_tutorial: Start tutorial chapter1: <<: *tutorials_common - page_title: "Chapter 1 | Receive data via in_http" + page_title: "Chapter 1 | Try to send data" reload_log: Reload fluend log description: You can send an arbitrary JSON data via HTTP. URL path will be tag name. - learn_more: | - Other input plugins are available such as in_syslog, in_tail, etc. - Learn More send: Send chapter2: <<: *tutorials_common @@ -146,6 +143,93 @@ en: type stdout + chapter3: + <<: *tutorials_common + page_title: "Chapter 3 | Build your fluentd!" + lesson_markdown: | + fluentd can receive from [syslog protocol](http://docs.fluentd.org/articles/in_syslog), [file](http://docs.fluentd.org/articles/in_tail), etc. + + Also fluentd can output to [MongoDB](http://docs.fluentd.org/articles/out_mongo), [AWS S3](http://docs.fluentd.org/articles/out_s3), etc. + + ![fluentd](/fluentd.png) + + These input/output are provided as plugin. Install them and write a setting, then restart fluentd, you can get the power! + + [Many plugins](/plugins/recommended) are available. And you can [edit config file from here](%{edit_config_url}). + chapter4: + <<: *tutorials_common + page_title: "Chapter 4 | Use case" + lesson_markdown: | + ### Monitoring Apache 5xx response and email it + + **Required plugins** + + - fluent-plugin-grepcounter + - fluent-plugin-mail + + **config file example** + + + type tail + format apache2 + path /var/log/apache2/access.log #This is the location of your Apache log + tag apache.access + + + + type grepcounter + count_interval 3 # Time window to grep and count the # of events + input_key code # We look at the (http status) "code" field + regexp ^5\d\d$ # This regexp matches 5xx status codes + threshold 1 # The # of events to trigger emitting an output + add_tag_prefix error_5xx # The output event's tag will be error_5xx.apache.access + + + + # The event that comes here looks like + # { + # "count":1, + # "input_tag":"error_5xx.apache.access", + # "input_tag_last":"access", + # "message":[500] + # } + + type mail + host smtp.gmail.com # This is for Gmail and Google Apps. Any SMTP server should work + port 587 # port for smtp.gmail.com + user example@gmail.com # your Gmail here for login + password XXXXXX # Gmail password + enable_starttls_auto true # Gmail required this + + from YOUR_SENDER_EMAIL_HERE + to YOUR_RECIPIENT_EMAIL_HERE + subject [URGENT] APACHE 5XX ERROR + message Total 5xx error count: %s\n\nPlease check your Apache webserver ASAP + message_out_keys count # The value of 'count' will be substituted into %s above. + + + **process flow** + + [log file] -> + (in_tail) -> + Capturing file content with tagged as apache.access -> + (match apache.access) -> + "grepcounter" re-send data with appending prefix -> + (match error_5xx.apache.access) -> + "mail" send a mail + chapter5: + <<: *tutorials_common + page_title: "Chapter 5 | Finish!" + lesson_markdown: | + Tutorial is over. congratulation! + + Other resources: + + - [Quick start](http://docs.fluentd.org/articles/quickstart) + - [Forum](https://groups.google.com/forum/?fromgroups#!forum/fluentd) + - [Source code(GitHub)](https://github.com/fluent/fluentd) + - [Twitter @fluentd](https://twitter.com/fluentd) + messages: need_restart: need to restart fluentd-ui diff --git a/config/locales/translation_ja.yml b/config/locales/translation_ja.yml index 67f835e..dea1dd6 100644 --- a/config/locales/translation_ja.yml +++ b/config/locales/translation_ja.yml @@ -116,7 +116,7 @@ ja: start_tutorial: "チュートリアルを始める" chapter1: <<: *tutorials_common - page_title: "Chapter 1 | in_httpでデータを受け取る" + page_title: "Chapter 1 | データを渡してみる" reload_log: fluentdのログを更新 description: fluentdに任意のデータをJSONで送ることができます。URLのパスがタグの名前になります。 learn_more: | @@ -146,6 +146,94 @@ ja: type stdout + chapter3: + <<: *tutorials_common + page_title: "Chapter 3 | fluentdを構築しよう!" + lesson_markdown: | + fluentdはHTTP以外にも[syslogプロトコル](http://docs.fluentd.org/ja/articles/in_syslog)や[ファイル](http://docs.fluentd.org/ja/articles/in_tail)を入力として受け取ることができます。 + + また出力についても、stdout以外に[MongoDB](http://docs.fluentd.org/ja/articles/out_mongo)や[AWS S3](http://docs.fluentd.org/ja/articles/out_s3)などを出力先として指定できます。 + + ![fluentd](/fluentd.png) + + これらはプラグインとして提供されています。プラグインをインストールし、設定ファイルに追記してfluentdを再起動すると使用可能となります。 + + [数多くのプラグイン](/plugins/recommended)がありますので、用途にあったものを探して使いましょう! 設定ファイルは[ここから編集できます。](%{edit_config_url}) + chapter4: + <<: *tutorials_common + page_title: "Chapter 4 | 設定事例" + lesson_markdown: | + ### 例:Apacheの5xxレスポンスを検知してメールを送る + + **必要なプラグイン** + + - fluent-plugin-grepcounter + - fluent-plugin-mail + + **設定ファイル例** + + + type tail + format apache2 + path /var/log/apache2/access.log #This is the location of your Apache log + tag apache.access + + + + type grepcounter + count_interval 3 # Time window to grep and count the # of events + input_key code # We look at the (http status) "code" field + regexp ^5\d\d$ # This regexp matches 5xx status codes + threshold 1 # The # of events to trigger emitting an output + add_tag_prefix error_5xx # The output event's tag will be error_5xx.apache.access + + + + # The event that comes here looks like + # { + # "count":1, + # "input_tag":"error_5xx.apache.access", + # "input_tag_last":"access", + # "message":[500] + # } + + type mail + host smtp.gmail.com # This is for Gmail and Google Apps. Any SMTP server should work + port 587 # port for smtp.gmail.com + user example@gmail.com # your Gmail here for login + password XXXXXX # Gmail password + enable_starttls_auto true # Gmail required this + + from YOUR_SENDER_EMAIL_HERE + to YOUR_RECIPIENT_EMAIL_HERE + subject [URGENT] APACHE 5XX ERROR + message Total 5xx error count: %s\n\nPlease check your Apache webserver ASAP + message_out_keys count # The value of 'count' will be substituted into %s above. + + + **処理の流れ** + + [log file] -> + (in_tail) -> + apache.accessタグでfluentdに取り込む -> + (apache.accessにマッチ) -> + grepcounterがタグにprefixを追加して再送 -> + (error_5xx.apache.accessにマッチ) -> + mailがメール送信 + chapter5: + <<: *tutorials_common + page_title: "Chapter 5 | チュートリアル完了" + lesson_markdown: | + 以上でチュートリアルは終了です。お疲れさまでした! + + 関連リソース: + + - [クイックスタートガイド](http://docs.fluentd.org/ja/articles/quickstart) + - [メーリングリスト](https://groups.google.com/forum/?fromgroups#!forum/fluentd) + - [ソースコード(GitHub)](https://github.com/fluent/fluentd) + - [Twitter @fluentd](https://twitter.com/fluentd) + + messages: need_restart: fluentd-uiの再起動が必要です diff --git a/config/routes.rb b/config/routes.rb index ec94b20..c0e3440 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -38,6 +38,9 @@ Rails.application.routes.draw do get "/" => :index get "chapter1" get "chapter2" + get "chapter3" + get "chapter4" + get "chapter5" get "log_tail" post "request_fluentd" end diff --git a/public/fluentd.png b/public/fluentd.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f5f521e3a8e3a4054ea1e44145875e0f7f3799 GIT binary patch literal 153869 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
      83ZN(Vh-?>X6=Hcd7Vb+r691 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 z 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 literal 0 HcmV?d00001