SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
fluentd ~log collector tool~
         Teck-Talk TIS Daisuke Ikeda
What's fluentd?
Fluentd is an event collector system.
It is a generalized version of syslogd,
which handles JSON objects for its log
messages.※

・イベントログ収集ツール
・JSONオブジェクトとしてログデータを管理可能
・Ruby実装のOSS

 ※https://github.com/fluent/fluentd
Architecture of fluentd
3段階構成
Input        Buffer    Output
                       ・file
・syslog      ・memory   ・AmazonS3
・httpリクエスト   ・file     ・DB
                       ・Zabbix
・file                  などなど
などなど
Install fluentd
gemパッケージとして提供(Ruby1.9.2以上必須)
# gem install fluentd
Successfully installed msgpack-0.4.7
Successfully installed yajl-ruby-1.1.0
Successfully installed iobuffer-1.1.2
Successfully installed cool.io-1.1.0
Successfully installed http_parser.rb-0.5.3
Successfully installed fluentd-0.10.22

ソースコードからもインストール可
td-agentというパッケージからもインストール可
ログを送信する側、受信する側両者にインストール
Configure fluentd
設定ファイルの生成
# fluentd --setup /etc/fluent
# ls /etc/fluent/
fluent.conf plugin

設定(fluent.conf)
source matchの2つを定義
## built-in TCP input                 ## match tag=debug.** and dump to
## $ echo <json> | fluent-cat <tag>   console
<source>                              <match debug.**>
 type forward                          type stdout
</source>                             </match>
                 sourceから取得した内容を
    match定義のtagに一致したものをmatchの中身の定義に応じてOutput
fluent-cat→output log
fluent-catを使って試しにfluentdに出力
## built-in TCP input                   <match debug.**>
## $ echo <json> | fluent-cat <tag>      type file
<source>                                 path /home/ike-dai/log/fluentd.log
 type forward                           </match>
</source>
fluentd起動
 # fluentd -c /etc/fluent/fluent.conf
fluent-catでログ送付
 # echo '{"test":12345}' | fluent-cat debug.test1
 $ less log/fluentd.log.20120519.b4c06414d3dc93f8c
 2012-05-19T22:59:45+09:00           debug.test1 {"test":12345}
Plugin of fluentd
fluent-logger (0.4.3)
fluent-plugin-cassandra (0.0.2)
fluent-plugin-couch (0.5.0)
fluent-plugin-dstat (0.1.0)
fluent-plugin-growl (0.0.5)
fluent-plugin-ikachan (0.1.0)
fluent-plugin-kestrel (0.1.0)           各種OutputやInput用のpluginが多数公開
fluent-plugin-librato-metrics (0.2.3)   gem insgtallで導入可能
fluent-plugin-mongo (0.6.7)
fluent-plugin-msgpack-rpc (0.2.1)
fluent-plugin-mysql (0.0.2)
fluent-plugin-parser (0.1.0)
fluent-plugin-pghstore (0.1.2)
fluent-plugin-redis (0.2.0)
fluent-plugin-s3 (0.2.2)
fluent-plugin-sns (0.2.1)
fluent-plugin-solr (0.1.1)
fluent-plugin-splunk (0.0.1.1)
fluent-plugin-sqs (0.2.1)
fluent-plugin-zabbix (0.0.1)
fluent-plugin-zabbix
gem install
  $ gem install fluent-plugin-zabbix


設定ファイル変更
  <match stats.**>
   type        zabbix
   zabbix_server localhost
   host        fluent
   name_keys       fluent1
   add_key_prefix test
  </match>
fluent-plugin-zabbix
zabbix item設定
fluent-plugin-zabbix
fluent-catでログ送付
$ echo '{"fluent1":"test-log"}' | fluent-cat stats.zabbix


結果
fluent-plugin-mongo
gem install
  $ gem install fluent-plugin-mongo
設定ファイル変更
  <match debug.**>
   type copy
   <store>
     type stdout
   </store>
   <store>
     type mongo
     host localhost
     database fluent
     collection fluent
   </store>
  </match>
fluent-plugin-mongo
MongoDBのデータ確認
# mongo localhost:27017
> use fluent
switched to db fluent
> show collections
fluent
system.indexes
> db.fluent.find()
{ "_id" : ObjectId("4fbb0dab2663b31095000001"), "mongo"
: 1000, "time" : "Tue May 22 2012 12:52:56 GMT+0900
(JST)" }
fluent-plugin-mongo
apacheのログをmongoに格納
  <source>                                             <match apache.access>
  type tail                                              type mongo
  format apache                                          host localhost
  path /var/log/httpd/access_log                         database log
  tag apache.access                                      collection logs
  </source>                                            </match>

{ "_id" : ObjectId("4fc2f0642663b30bed000001"),
 "host" : "172.19.xx.xx",
"user" : "-",
 "method" : "POST",
 "path" : "/zabbix/api_jsonrpc.php/api_jsonrpc.php",
 "code" : "200",
 "size" : "68",
 "referer" : "-",
 "agent" : "Zbx Ruby CLI",
 "time" : "Mon May 28 2012 12:25:29 GMT+0900 (JST)"
 }
Sample Application
Node.js + mongoose + mongoDB + fluentdで
ログを表示・検索できるWebアプリ作ってみた

                          JSONオブジェクトでデータを扱えるので
                          この組み合わせが非常にやりやすい




                            一括管理して検索機能とかあれば非常
                            に便利になるのでは
Closing
●   ログの管理という点で非常に柔軟性がある
●   とにかく盛り上がっている
●   pluginも大量に出てきている
●   Zabbixとうまく組み合わせて可視化してみると楽しいかも

● 使ってみてちょっと気になった点
    ○ apache ログをmongoDBに格納する際に少しタイムラグ
      あり?
      →Bufferのレイヤの挙動を今後確認予定

Contenu connexe

Tendances

イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化Gosuke Miyashita
 
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~真乙 九龍
 
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境Katsutoshi Nagaoka
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話Masahito Zembutsu
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Takashi Kanai
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Hidetoshi Hirokawa
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Wayロフト くん
 
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからAnsible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからTakeshi Kuramochi
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Taro Hirose
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャazuma satoshi
 
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)さくらインターネット株式会社
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門jz5 MATSUE
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Kikunaga Taishi
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Sho A
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Yoshinori Nakanishi
 
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Yo Takezawa
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコードYukihiko SAWANOBORI
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私a know
 

Tendances (20)

イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
Ansible2.0と実用例
Ansible2.0と実用例Ansible2.0と実用例
Ansible2.0と実用例
 
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
 
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
 
Chefで始めるWindows Server構築
Chefで始めるWindows Server構築Chefで始めるWindows Server構築
Chefで始めるWindows Server構築
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
 
OpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? WayOpenShift from Easy way to Hard ? Way
OpenShift from Easy way to Hard ? Way
 
Ansible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれからAnsible 2.0 のサマライズとこれから
Ansible 2.0 のサマライズとこれから
 
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
 
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
 
Azure Functions 入門
Azure Functions 入門Azure Functions 入門
Azure Functions 入門
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
ECS-CLI in Action
ECS-CLI in ActionECS-CLI in Action
ECS-CLI in Action
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
 
Chef社内勉強会(第1回)
Chef社内勉強会(第1回)Chef社内勉強会(第1回)
Chef社内勉強会(第1回)
 
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコード
 
フィードフォースと AWS と私
フィードフォースと AWS と私フィードフォースと AWS と私
フィードフォースと AWS と私
 

En vedette

Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
 
それFluentdで! #fluentd
それFluentdで!  #fluentdそれFluentdで!  #fluentd
それFluentdで! #fluentdAtsuko Shibuya
 
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術div Inc
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングYuichi Tateno
 
[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS Billingについて[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS BillingについてAmazon Web Services Japan
 
セキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイントセキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイントYasuhiro Araki, Ph.D
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAmazon Web Services Japan
 
いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013SORACOM, INC
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)Akio Katayama
 
人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのかYamaura Kiyoto
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAmazon Web Services Japan
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 

En vedette (15)

Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
Fluentdの使い方
Fluentdの使い方Fluentdの使い方
Fluentdの使い方
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
それFluentdで! #fluentd
それFluentdで!  #fluentdそれFluentdで!  #fluentd
それFluentdで! #fluentd
 
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
 
[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS Billingについて[AWSマイスターシリーズ] AWS Billingについて
[AWSマイスターシリーズ] AWS Billingについて
 
セキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイントセキュリティを捉えてクラウドを使うためのポイント
セキュリティを捉えてクラウドを使うためのポイント
 
AWSの課金体系
AWSの課金体系AWSの課金体系
AWSの課金体系
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンス
 
いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013いまさら聞けないAWSクラウド - Java Festa 2013
いまさら聞けないAWSクラウド - Java Festa 2013
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)
 
人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか人は1ヶ月でエンジニアになれるのか
人は1ヶ月でエンジニアになれるのか
 
AWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto ScalingAWS Black Belt Online Seminar 2017 Auto Scaling
AWS Black Belt Online Seminar 2017 Auto Scaling
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 

Similaire à 社内向けTech Talk資料~Fluentdの基本紹介~

Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented featuretamtam180
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platformToru Yamaguchi
 
Webサーバのチューニング
WebサーバのチューニングWebサーバのチューニング
WebサーバのチューニングYu Komiya
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係moai kids
 
Ruby Postgres 2009
Ruby Postgres 2009Ruby Postgres 2009
Ruby Postgres 2009Akio Ishida
 
FluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールするFluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールするregret raym
 
node-handlersocket
node-handlersocketnode-handlersocket
node-handlersocketkoichik
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdTaisuke Yamada
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門Takashi Takizawa
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説Shoken Fujisaki
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lispirix_jp
 

Similaire à 社内向けTech Talk資料~Fluentdの基本紹介~ (20)

Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented feature
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Inside mobage platform
Inside mobage platformInside mobage platform
Inside mobage platform
 
Fluentdへようこそ
FluentdへようこそFluentdへようこそ
Fluentdへようこそ
 
Webサーバのチューニング
WebサーバのチューニングWebサーバのチューニング
Webサーバのチューニング
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
 
Ruby Postgres 2009
Ruby Postgres 2009Ruby Postgres 2009
Ruby Postgres 2009
 
FluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールするFluentdとGrothForecastをインストールする
FluentdとGrothForecastをインストールする
 
node-handlersocket
node-handlersocketnode-handlersocket
node-handlersocket
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
 
BBBBB
BBBBBBBBBB
BBBBB
 
1MB
1MB1MB
1MB
 
後期02
後期02後期02
後期02
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
 
OpenStack + Common Lisp
OpenStack + Common LispOpenStack + Common Lisp
OpenStack + Common Lisp
 
Fluentd meetup #2
Fluentd meetup #2Fluentd meetup #2
Fluentd meetup #2
 

Plus de Daisuke Ikeda

AIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TISAIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TISDaisuke Ikeda
 
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介Daisuke Ikeda
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏Daisuke Ikeda
 
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現Daisuke Ikeda
 
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~Daisuke Ikeda
 
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話Daisuke Ikeda
 
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)Daisuke Ikeda
 
Jtf2018 自律的運用に向けた第一歩
Jtf2018 自律的運用に向けた第一歩Jtf2018 自律的運用に向けた第一歩
Jtf2018 自律的運用に向けた第一歩Daisuke Ikeda
 
保守運用現場の課題共有しませんか?-OSC2018LT-
保守運用現場の課題共有しませんか?-OSC2018LT-保守運用現場の課題共有しませんか?-OSC2018LT-
保守運用現場の課題共有しませんか?-OSC2018LT-Daisuke Ikeda
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Daisuke Ikeda
 
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?Daisuke Ikeda
 
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介Daisuke Ikeda
 
Tech circle bot x zabbix オペレータbot lt
Tech circle bot x zabbix オペレータbot ltTech circle bot x zabbix オペレータbot lt
Tech circle bot x zabbix オペレータbot ltDaisuke Ikeda
 
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LTインフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LTDaisuke Ikeda
 
Serverspecの活用tips紹介
Serverspecの活用tips紹介Serverspecの活用tips紹介
Serverspecの活用tips紹介Daisuke Ikeda
 
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界Daisuke Ikeda
 
Job schedulerを活用したoperations as codeの世界
Job schedulerを活用したoperations as codeの世界Job schedulerを活用したoperations as codeの世界
Job schedulerを活用したoperations as codeの世界Daisuke Ikeda
 
Zabbix conference2015 daisukeikeda
Zabbix conference2015 daisukeikedaZabbix conference2015 daisukeikeda
Zabbix conference2015 daisukeikedaDaisuke Ikeda
 
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介Daisuke Ikeda
 

Plus de Daisuke Ikeda (20)

AIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TISAIOpsで実現する効率化 OSC 2022 Online Spring TIS
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
 
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
 
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
 
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
 
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
 
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
 
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
 
Jtf2018 自律的運用に向けた第一歩
Jtf2018 自律的運用に向けた第一歩Jtf2018 自律的運用に向けた第一歩
Jtf2018 自律的運用に向けた第一歩
 
保守運用現場の課題共有しませんか?-OSC2018LT-
保守運用現場の課題共有しませんか?-OSC2018LT-保守運用現場の課題共有しませんか?-OSC2018LT-
保守運用現場の課題共有しませんか?-OSC2018LT-
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
 
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
 
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
 
Tech circle bot x zabbix オペレータbot lt
Tech circle bot x zabbix オペレータbot ltTech circle bot x zabbix オペレータbot lt
Tech circle bot x zabbix オペレータbot lt
 
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LTインフラ運用管理ツールとGolang OSS運用管理勉強会LT
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
 
Zabbix超入門
Zabbix超入門Zabbix超入門
Zabbix超入門
 
Serverspecの活用tips紹介
Serverspecの活用tips紹介Serverspecの活用tips紹介
Serverspecの活用tips紹介
 
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界
 
Job schedulerを活用したoperations as codeの世界
Job schedulerを活用したoperations as codeの世界Job schedulerを活用したoperations as codeの世界
Job schedulerを活用したoperations as codeの世界
 
Zabbix conference2015 daisukeikeda
Zabbix conference2015 daisukeikedaZabbix conference2015 daisukeikeda
Zabbix conference2015 daisukeikeda
 
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
 

社内向けTech Talk資料~Fluentdの基本紹介~

  • 1. fluentd ~log collector tool~ Teck-Talk TIS Daisuke Ikeda
  • 2. What's fluentd? Fluentd is an event collector system. It is a generalized version of syslogd, which handles JSON objects for its log messages.※ ・イベントログ収集ツール ・JSONオブジェクトとしてログデータを管理可能 ・Ruby実装のOSS ※https://github.com/fluent/fluentd
  • 3. Architecture of fluentd 3段階構成 Input Buffer Output ・file ・syslog ・memory ・AmazonS3 ・httpリクエスト ・file ・DB ・Zabbix ・file などなど などなど
  • 4. Install fluentd gemパッケージとして提供(Ruby1.9.2以上必須) # gem install fluentd Successfully installed msgpack-0.4.7 Successfully installed yajl-ruby-1.1.0 Successfully installed iobuffer-1.1.2 Successfully installed cool.io-1.1.0 Successfully installed http_parser.rb-0.5.3 Successfully installed fluentd-0.10.22 ソースコードからもインストール可 td-agentというパッケージからもインストール可 ログを送信する側、受信する側両者にインストール
  • 5. Configure fluentd 設定ファイルの生成 # fluentd --setup /etc/fluent # ls /etc/fluent/ fluent.conf plugin 設定(fluent.conf) source matchの2つを定義 ## built-in TCP input ## match tag=debug.** and dump to ## $ echo <json> | fluent-cat <tag> console <source> <match debug.**> type forward type stdout </source> </match> sourceから取得した内容を match定義のtagに一致したものをmatchの中身の定義に応じてOutput
  • 6. fluent-cat→output log fluent-catを使って試しにfluentdに出力 ## built-in TCP input <match debug.**> ## $ echo <json> | fluent-cat <tag> type file <source> path /home/ike-dai/log/fluentd.log type forward </match> </source> fluentd起動 # fluentd -c /etc/fluent/fluent.conf fluent-catでログ送付 # echo '{"test":12345}' | fluent-cat debug.test1 $ less log/fluentd.log.20120519.b4c06414d3dc93f8c 2012-05-19T22:59:45+09:00 debug.test1 {"test":12345}
  • 7. Plugin of fluentd fluent-logger (0.4.3) fluent-plugin-cassandra (0.0.2) fluent-plugin-couch (0.5.0) fluent-plugin-dstat (0.1.0) fluent-plugin-growl (0.0.5) fluent-plugin-ikachan (0.1.0) fluent-plugin-kestrel (0.1.0) 各種OutputやInput用のpluginが多数公開 fluent-plugin-librato-metrics (0.2.3) gem insgtallで導入可能 fluent-plugin-mongo (0.6.7) fluent-plugin-msgpack-rpc (0.2.1) fluent-plugin-mysql (0.0.2) fluent-plugin-parser (0.1.0) fluent-plugin-pghstore (0.1.2) fluent-plugin-redis (0.2.0) fluent-plugin-s3 (0.2.2) fluent-plugin-sns (0.2.1) fluent-plugin-solr (0.1.1) fluent-plugin-splunk (0.0.1.1) fluent-plugin-sqs (0.2.1) fluent-plugin-zabbix (0.0.1)
  • 8. fluent-plugin-zabbix gem install $ gem install fluent-plugin-zabbix 設定ファイル変更 <match stats.**> type zabbix zabbix_server localhost host fluent name_keys fluent1 add_key_prefix test </match>
  • 11. fluent-plugin-mongo gem install $ gem install fluent-plugin-mongo 設定ファイル変更 <match debug.**> type copy <store> type stdout </store> <store> type mongo host localhost database fluent collection fluent </store> </match>
  • 12. fluent-plugin-mongo MongoDBのデータ確認 # mongo localhost:27017 > use fluent switched to db fluent > show collections fluent system.indexes > db.fluent.find() { "_id" : ObjectId("4fbb0dab2663b31095000001"), "mongo" : 1000, "time" : "Tue May 22 2012 12:52:56 GMT+0900 (JST)" }
  • 13. fluent-plugin-mongo apacheのログをmongoに格納 <source> <match apache.access> type tail type mongo format apache host localhost path /var/log/httpd/access_log database log tag apache.access collection logs </source> </match> { "_id" : ObjectId("4fc2f0642663b30bed000001"), "host" : "172.19.xx.xx", "user" : "-", "method" : "POST", "path" : "/zabbix/api_jsonrpc.php/api_jsonrpc.php", "code" : "200", "size" : "68", "referer" : "-", "agent" : "Zbx Ruby CLI", "time" : "Mon May 28 2012 12:25:29 GMT+0900 (JST)" }
  • 14. Sample Application Node.js + mongoose + mongoDB + fluentdで ログを表示・検索できるWebアプリ作ってみた JSONオブジェクトでデータを扱えるので この組み合わせが非常にやりやすい 一括管理して検索機能とかあれば非常 に便利になるのでは
  • 15. Closing ● ログの管理という点で非常に柔軟性がある ● とにかく盛り上がっている ● pluginも大量に出てきている ● Zabbixとうまく組み合わせて可視化してみると楽しいかも ● 使ってみてちょっと気になった点 ○ apache ログをmongoDBに格納する際に少しタイムラグ あり? →Bufferのレイヤの挙動を今後確認予定