SlideShare a Scribd company logo
1 of 48
Fluentdを
優しく見守る監視事例
    2012/08/22
 Fluentd Meetup #2

外道父@GedowFather
                 Copyright © DRECOM Co., Ltd All Rights Reserved.   1
自己紹介


       Copyright © DRECOM Co., Ltd All Rights Reserved.   2
自己紹介

■私は
    外道父@GedowFather
■所属
    ドリコム
■職種
    インフラエンジニア
■ブログ
   http://blog.father.gedow.net/
                        Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                           3
目 次


      Copyright © DRECOM Co., Ltd All Rights Reserved.   4
目次



      動作環境
      ローカル監視
      リモート監視
      ・・・の3本くらいです
              Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                 5
動作環境


       Copyright © DRECOM Co., Ltd All Rights Reserved.   6
IDC (2)                              IDC (3)
                                                             Agent

                 Agent
                                       Agent
 Agent


                                                                GLOBAL
                                                                               圧縮
                                                                               暗号化
                                                                              ☓ VPN
IDC (1)

 Agent                   Collector                     HDFS

         Agent


                                               Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                                  7
プラグイン

   Agent      大事なログ                                           flowcount log

                                path に *
                  tail (改)      tag に basename
                   copy

              forward (改)        flowcounter
               圧縮/暗号化
                                                              flowcount log
  Collector    復号化/解凍
               特定hostnameのtag改変(*test*)
              forward (改)

                   copy
                forest           flowcounter
  HDFS         webhdfs
                  path /logs/__TAG__/%Y%m%d-%H%M___HOSTNAME__.log


                                         Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                            8
Fluentd

      VS

           Flume
            OG
            Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                               9
Flume OG
   十分な
    機能        信頼の
   (暗号化以外)
             CDH付属

      Javaだから
       うんぬん
                                                                   1
                Copyright © DRECOM Co., Ltd All Rights Reserved.
Flume OG             不安定
               数百台規模で
              MASTERが不安定
                メモリ不足

 Agentのキュー
からの再送が不安定
(タンス貯金現象)

不
安       配送途中に余計な改行が
        入ったり復号化にたまに

定       失敗するもJavaは難しい
                                                                    1
                 Copyright © DRECOM Co., Ltd All Rights Reserved.
VS


 Fluentd
     一択
           Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                              12
td-agent にした
方針としてパッケージ管理は大事
社内にRubyエンジニアだらけ
機能不足はプラグインでなんとかなる?



全機能を満たせた
インストール簡単で周知しやすい
少し頑張ったら満足いく安定度になった
                Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                   13
ローカル監視


     Copyright © DRECOM Co., Ltd All Rights Reserved.   14
ローカル監視が必要な理由

               プライベート
アラートメール
               ネットワーク
グラフ作成         でやる



               ローカルで
プロセス操作
               やるべき


               Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                  15
管理制限      IDC (3)
                                  Agent

            Agent




   サーバが社外管理の場合
   サーバ調査
   頻繁な設定変更
   プライベートネットワーク経由監視


                    Copyright © DRECOM Co., Ltd All Rights Reserved.
ログ配送の注意点
                ログを記録しているか
   Agent
                ログの内容が正しいか                        → ジョブで

           td-agentが正しく起動しているか
               Collectorに送っているか

  Collector

           td-agentが正しく起動しているか
                HDFSに送っているか


  HDFS        HDFSに記録されているか → ジョブで

                          Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                             17
ローカル監視に monit 使ってます

 プロセスの監視やリソース監視
 HTTPリクエストのステータス条件
 スクリプト実行の返り値条件 ※
  条件判定によるアクション実行
   起動スクリプト実行
   スクリプト実行
   アラートメール   ※check program >= v5.3

                   Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                      18
monit でやってる監視内容



 ① td-agent 基本プロセス監視

 ② td-agent 重複デーモン対策

 ③ flowcounterで転送状態監視


                  Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                     19
monit (1) td-agent 基本プロセス監視
   Memo
 常に起動している必要があり、主に人災対策

Check point
 Agentは check process によるチェック
  (run/pidファイルのIDとプロセスの存在)
 Collectorはさらに LISTEN 24224

  if failed
 /etc/init.d/td-agent restart

                                 Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                    20
monit (2) td-agent 重複デーモン対策

 Memo (1)


 fluentd は UDP/TCP の2プロセスで成る
 プロセスの過不足は異常とみなす
   1プロセスしかない
   3プロセス以上ある
   run/pid のプロセス番号で動いていない



                     Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                        21
monit (2) td-agent 重複デーモン対策
 Check point
 プロセスの表示
     ps w -C ruby -C td-agent --no-heading | ¥                   ①
           grep td-agent | ¥        ②
           grep -v "¥]$“         ③
 プロセス数のカウントが2

 Memo (2)
① プロセス名は td-agent v1.1.8 (fluentd v0.10.25)
  から ruby でそれ以前は td-agent
② unicornなど他のrubyプロセスを除外
③ 瞬間的に出現する特権モード [td-agent] を除外

                                       Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                          22
monit (2) td-agent 重複デーモン対策
  if failed
 /etc/init.d/td-agent stop ①
 pkill -KILL -f td-agent      ②
 /etc/init.d/td-agent start

 Memo (3)
① 可能な限り正常終了し
② 残りは名前を含むプロセスを強制終了



                               Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                  23
monit (2) td-agent 重複デーモン対策

 Memo (4)
 v1.1.7 までの td-agentの起動スクリプトに
  はバグがあり、td-agent.conf の内容により
     start を実行した数だけデーモンが起動
     ファイルのIDが誤った値に変わる

 v1.1.8 で修復されたが、どのようなログ配送
  システムにおいてもデーモンの正常性は確認す
  べきである・・・でないと・・・
                      Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                         24
@mazgi事件


  ※@mazgi = プラグイン製作者
          Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                             25
@mazgi事件       ~ 開発 ~
              @mazgi
                          は、はぁ・・・
                           頑張ります



flumeアカンな~
                                    fluentdの時代や
プラグインいるな
                                         @mazgi先生の
こんな感じで                                     出番やで
 よろしく~

      @GedowFather   @matsuou1
                          Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                             26
@mazgi事件        ~ 導入 ~
               @mazgi

   できました!                   pull request
                           送っちゃうぞ~


えぇ感じやん
                                              さすが
1アプリに
                                            @mazgi先生や
入れてみるわ

いいね、やるやん                                            HDFSに
@mazgi 先生!                                          きたきた

       @GedowFather   @matsuou1
                           Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                              27
@mazgi事件        ~ 確認 ~
               @mazgi
                            は、はぁ・・・
                             頑張ります
                           (マジわかんねぇ)
  あれ?
ログ多くね?
                                          Agent分より
18/16 倍くらい                               HDFSが多いね
 に増えてる?

  明日までに                                       水増し
直しておいてね!                                     プラグインや
       @GedowFather   @matsuou1
                           Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                              28
@mazgi事件        ~ 次の日 ~
WEBサーバは
16台か・・・     @GedowFather      全台のプロセス
                             チェックしてみるか


 ん?4プロセスの
サーバが2台ある!?                    2台で重複・・・
                              18 / 16 倍・・・


          とりあえずプロセスを
          正常化してみよう!
            タ、ターンッ!!
                           Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                              29
@mazgi事件      ~ 解決 ~
             @mazgi
                         そ、それはよかった

                         (マジこいつら・・・)

 直ったっぽ!

                                     行数一致した!
プラグイン万歳!
                                          さすがの
                                        @mazgi先生や
 公開しようぜ

     @GedowFather   @matsuou1
                         Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                            30
@mazgi事件
  濡れ衣
                                           完
      Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                         31
monit (3) flowcounterで転送状態監視
   目的
  アプリがログを記録している証明
  Fluentdがログを拾って配送している証明

 ☓ 部分的な記録ミスや極端な増減は無視
  (アプリの事情は把握しきれない)
 ☓ やりすぎチェックはアラートが増えて
  重要なアラートが埋もれる


                     Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                        32
monit (3) flowcounterで転送状態監視
  <match **.log>                                                     Memo (1)
   type copy
   <store>                     1時間に1回記録する
     type forward
     ...snip...                1月1ファイルで十分
   </store>

   <store>
    type flowcounter
    count_keys *
    unit     hour
    aggregate all
   </store>
  </match>

  <match flowcount>
   type file
   path /var/log/td-agent/flowcount/flowcount.log
   time_slice_format %Y%m
  </match>                                          Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                                       33
monit (3) flowcounterで転送状態監視

flowcountログ
2012-08-06T20:44:21+09:00      flowcount
{"count":1302372,"bytes":474494367,"count_rate":361.77,"bytes_rate":131803.99}


2012-08-06T21:44:21+09:00      flowcount
{"count":1582649,"bytes":577411574,"count_rate":439.62,"bytes_rate":160392.1}


2012-08-06T22:44:21+09:00      flowcount
{"count":1682872,"bytes":614115172,"count_rate":467.46,"bytes_rate":170587.54}




 最新2時間分のカウントを利用する
                                                       Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                                          34
monit (3) flowcounterで転送状態監視
Check point
 2時間分のログに
 1つでも10以上のカウントがあればOK

 0だけじゃなく1~9 も無効値とした
   数時間に1度しかログが来ない場合、
    ALERTとRECOVERYが繰り返され鬱陶い
 2時間以上のメンテナンスや障害だとアラート
  になるがそれはご愛嬌

                     Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                        35
monit (3) flowcounterで転送状態監視
  if failed
  スクリプト内で原因をエラー出力                   1>&2
  返り値を 1 にしてmonit に知らせる
  monitがアラートメール(エラー出力記載)

   問題点
  copy なので forward に失敗しても
   flowcounterのカウント記録は成功する
  Collectorが全部落ちたり、HDFSが落ちたら
   flowcounterどころではないので問題ない!
                     Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                        36
ローカル監視まとめ


 1. td-agent の強制起動
 2. td-agent プロセスの正常性確認と自動
    修正
 3. ログ配送の正常性確認


• Fluentd+monit だけで結構十分
• 足りなすぎず、やりすぎず適度な監視

                  Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                     37
リモート監視


     Copyright © DRECOM Co., Ltd All Rights Reserved.   38
リモート監視の目的

  目的


 アラート/グラフ作成の集約
 状態の可視化
 特にCollectorのキャパシティ管理
   Agentにキャパシティの心配はほぼないが、
   Collectorは増設対応が必要



                       Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                          39
アラートは Nagios+nagios-nrpe-server

               Agent         monit
                nrpe        flowcounter.sh

  Nagios

              Collector      monit
                nrpe       flowcounter.sh


  monit で実行しているスクリプトを nagios-
   nrpe-server を通してNagiosに実行させる
  Collectorは必須、Agentも可能ならやる
                          Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                             40
グラフは Cacti とか+snmpd

                   Agent
                   snmpd
       Cacti

                  Collector
                   snmpd

  Collectorは必須、Agentは既に入ってるべ
  CPUとTrafficは最低限必要
  特殊なグラフは作っていない
                      Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                         41
Collectorの実際のグラフを紹介


  Collectorの仕事   flowcounterより

  in_forward
    復号化          1行平均350byte
    解凍           毎秒500行
  flowcounter
  webhdfs


                     Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                        42
圧縮で受け取って平文でHDFSへ
  Agent
          flush / 10s
                              ←0.7 Mbps
          圧縮/暗号化
          状態でINPUT



Collector

      平文でHDFSへ
       OUTPUT
                              ←1.5 Mbps

 HDFS
                        うわっ…この圧縮率、低すぎ・・・?
                                Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                                   43
CPU利用率のキャパシティ

    in_forward
                         CPU 25%
      復号化
      解凍
    flowcounter
    webhdfs


・350 bytes / row
・500 rows / sec



     fluentdは 1vCPU 100% が限界
     最大であと4倍まで可能
     とすると 2000 rows / sec が1台の限界?

                          Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                             44
何が最もCPU利用率に影響するのか

波の形状が・・・?
CPUとトラフィックの
波の形状が一致しない!


まさかの・・・?
CPU利用率はログ量の
影響が低い!?


何が影響する?
Agentの数?
フラッシュ数?

              Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                 45
こんなこといいな
 できたらいいな

      Copyright © DRECOM Co., Ltd All Rights Reserved.   46
CollectorでAgentを把握したい

こ    様々な環境に散らばった大量のAgent
ん
な    何のAgentがいてどのAgentが正常なのか
こ
と
い    Collectorの位置でまとめて確認できるのが最
い
な     も的確

で    NATだとsource address / port は使えない
き
た
ら    Agentからhostname / PrivateAddrを送り
い
い    hostname の prefix 等でグループ化
な
     1日以内に1度でも配送したAgentを確認
                           Copyright © DRECOM Co., Ltd All Rights Reserved.
                                                                              47
fin
監視の設定をしたら
ぐっすり眠ってね!!
         Copyright © DRECOM Co., Ltd All Rights Reserved.   48

More Related Content

What's hot

CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜Drecom Co., Ltd.
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”Drecom Co., Ltd.
 
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)snicker_jp
 
実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選Drecom Co., Ltd.
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術Drecom Co., Ltd.
 
クラウドのなかみ
クラウドのなかみクラウドのなかみ
クラウドのなかみSatoshi Hirata
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野livedoor
 
Aerospike xdr (Cross Datacenter Replication)
Aerospike xdr (Cross Datacenter Replication)Aerospike xdr (Cross Datacenter Replication)
Aerospike xdr (Cross Datacenter Replication)Makoto Uehara
 
20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe雄也 日下部
 
Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Sunao Tomita
 
JVM のいろはにほ #javajo
JVM のいろはにほ #javajoJVM のいろはにほ #javajo
JVM のいろはにほ #javajoYuji Kubota
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性Masayoshi Hagiwara
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…Drecom Co., Ltd.
 
IBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fallIBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fallYasushi Osonoi
 
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)Yasushi Osonoi
 

What's hot (20)

CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
 
activerecord-turntable
activerecord-turntableactiverecord-turntable
activerecord-turntable
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
 
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
 
実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選
 
ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術ログ解析を支えるNoSQLの技術
ログ解析を支えるNoSQLの技術
 
クラウドのなかみ
クラウドのなかみクラウドのなかみ
クラウドのなかみ
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
VyOSでMPLS
VyOSでMPLSVyOSでMPLS
VyOSでMPLS
 
NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
 
Aerospike xdr (Cross Datacenter Replication)
Aerospike xdr (Cross Datacenter Replication)Aerospike xdr (Cross Datacenter Replication)
Aerospike xdr (Cross Datacenter Replication)
 
AppFormix勉強会資料
AppFormix勉強会資料AppFormix勉強会資料
AppFormix勉強会資料
 
20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe
 
Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?Windows Azure の中でも動いている InfiniBand って何?
Windows Azure の中でも動いている InfiniBand って何?
 
JVM のいろはにほ #javajo
JVM のいろはにほ #javajoJVM のいろはにほ #javajo
JVM のいろはにほ #javajo
 
クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性クラウドを支える基盤技術の最新動向と今後の方向性
クラウドを支える基盤技術の最新動向と今後の方向性
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
CEDEC 2015 IoT向け汎用protocol MQTTのリアルタイムゲーム通信利用と実装、そして未来へ…
 
IBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fallIBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fall
 
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)
プレゼン インフラエンジニア、アプリ開発者集まれ!今注目のクラウド 「Bluemix」、「soft layer」をはじめよう!(OSC福岡2015)
 

Similar to Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例

これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア外道 父
 
Shadow Server on Fluentd at Fluentd Casual Talks #3
Shadow Server on Fluentd at Fluentd Casual Talks #3Shadow Server on Fluentd at Fluentd Casual Talks #3
Shadow Server on Fluentd at Fluentd Casual Talks #3Naotoshi Seo
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and dockerHiroshi Miura
 
こんな辛いテストはいやだ
こんな辛いテストはいやだ こんな辛いテストはいやだ
こんな辛いテストはいやだ Takuya Mikami
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and dockerHiroshi Miura
 
ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版Osaka University
 
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』Naoya Hashimoto
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeNA
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版i_yudai
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!Drecom Co., Ltd.
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたDrecom Co., Ltd.
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムGo Sueyoshi (a.k.a sue445)
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しいTakafumi ONAKA
 
ドリコムのInfrastructure as code
ドリコムのInfrastructure as codeドリコムのInfrastructure as code
ドリコムのInfrastructure as codeYosuke Hiraishi
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 

Similar to Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例 (20)

これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア
 
Shadow Server on Fluentd at Fluentd Casual Talks #3
Shadow Server on Fluentd at Fluentd Casual Talks #3Shadow Server on Fluentd at Fluentd Casual Talks #3
Shadow Server on Fluentd at Fluentd Casual Talks #3
 
ドリコムのインフラCI
ドリコムのインフラCIドリコムのインフラCI
ドリコムのインフラCI
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and docker
 
こんな辛いテストはいやだ
こんな辛いテストはいやだ こんな辛いテストはいやだ
こんな辛いテストはいやだ
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and docker
 
ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版
 
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
第1回『いまさら聞けない!システム運用・管理のコツ』 『クラウド管理・運用サービス「E.C.O」のご紹介』
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版マスタリング DEA/NG 第2版
マスタリング DEA/NG 第2版
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみた
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
ドリコムのInfrastructure as code
ドリコムのInfrastructure as codeドリコムのInfrastructure as code
ドリコムのInfrastructure as code
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (8)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例

  • 1. Fluentdを 優しく見守る監視事例 2012/08/22 Fluentd Meetup #2 外道父@GedowFather Copyright © DRECOM Co., Ltd All Rights Reserved. 1
  • 2. 自己紹介 Copyright © DRECOM Co., Ltd All Rights Reserved. 2
  • 3. 自己紹介 ■私は 外道父@GedowFather ■所属 ドリコム ■職種 インフラエンジニア ■ブログ http://blog.father.gedow.net/ Copyright © DRECOM Co., Ltd All Rights Reserved. 3
  • 4. 目 次 Copyright © DRECOM Co., Ltd All Rights Reserved. 4
  • 5. 目次  動作環境  ローカル監視  リモート監視 ・・・の3本くらいです Copyright © DRECOM Co., Ltd All Rights Reserved. 5
  • 6. 動作環境 Copyright © DRECOM Co., Ltd All Rights Reserved. 6
  • 7. IDC (2) IDC (3) Agent Agent Agent Agent GLOBAL  圧縮  暗号化 ☓ VPN IDC (1) Agent Collector HDFS Agent Copyright © DRECOM Co., Ltd All Rights Reserved. 7
  • 8. プラグイン Agent 大事なログ flowcount log  path に * tail (改)  tag に basename copy forward (改) flowcounter  圧縮/暗号化 flowcount log Collector  復号化/解凍  特定hostnameのtag改変(*test*) forward (改) copy forest flowcounter HDFS webhdfs  path /logs/__TAG__/%Y%m%d-%H%M___HOSTNAME__.log Copyright © DRECOM Co., Ltd All Rights Reserved. 8
  • 9. Fluentd VS Flume OG Copyright © DRECOM Co., Ltd All Rights Reserved. 9
  • 10. Flume OG 十分な 機能 信頼の (暗号化以外) CDH付属 Javaだから うんぬん 1 Copyright © DRECOM Co., Ltd All Rights Reserved.
  • 11. Flume OG 不安定 数百台規模で MASTERが不安定 メモリ不足 Agentのキュー からの再送が不安定 (タンス貯金現象) 不 安 配送途中に余計な改行が 入ったり復号化にたまに 定 失敗するもJavaは難しい 1 Copyright © DRECOM Co., Ltd All Rights Reserved.
  • 12. VS Fluentd 一択 Copyright © DRECOM Co., Ltd All Rights Reserved. 12
  • 14. ローカル監視 Copyright © DRECOM Co., Ltd All Rights Reserved. 14
  • 15. ローカル監視が必要な理由 プライベート アラートメール ネットワーク グラフ作成 でやる ローカルで プロセス操作 やるべき Copyright © DRECOM Co., Ltd All Rights Reserved. 15
  • 16. 管理制限 IDC (3) Agent Agent サーバが社外管理の場合  サーバ調査  頻繁な設定変更  プライベートネットワーク経由監視 Copyright © DRECOM Co., Ltd All Rights Reserved.
  • 17. ログ配送の注意点 ログを記録しているか Agent ログの内容が正しいか → ジョブで td-agentが正しく起動しているか Collectorに送っているか Collector td-agentが正しく起動しているか HDFSに送っているか HDFS HDFSに記録されているか → ジョブで Copyright © DRECOM Co., Ltd All Rights Reserved. 17
  • 18. ローカル監視に monit 使ってます プロセスの監視やリソース監視 HTTPリクエストのステータス条件 スクリプト実行の返り値条件 ※  条件判定によるアクション実行  起動スクリプト実行  スクリプト実行  アラートメール ※check program >= v5.3 Copyright © DRECOM Co., Ltd All Rights Reserved. 18
  • 19. monit でやってる監視内容 ① td-agent 基本プロセス監視 ② td-agent 重複デーモン対策 ③ flowcounterで転送状態監視 Copyright © DRECOM Co., Ltd All Rights Reserved. 19
  • 20. monit (1) td-agent 基本プロセス監視 Memo  常に起動している必要があり、主に人災対策 Check point  Agentは check process によるチェック (run/pidファイルのIDとプロセスの存在)  Collectorはさらに LISTEN 24224 if failed  /etc/init.d/td-agent restart Copyright © DRECOM Co., Ltd All Rights Reserved. 20
  • 21. monit (2) td-agent 重複デーモン対策 Memo (1)  fluentd は UDP/TCP の2プロセスで成る  プロセスの過不足は異常とみなす  1プロセスしかない  3プロセス以上ある  run/pid のプロセス番号で動いていない Copyright © DRECOM Co., Ltd All Rights Reserved. 21
  • 22. monit (2) td-agent 重複デーモン対策 Check point  プロセスの表示 ps w -C ruby -C td-agent --no-heading | ¥ ① grep td-agent | ¥ ② grep -v "¥]$“ ③  プロセス数のカウントが2 Memo (2) ① プロセス名は td-agent v1.1.8 (fluentd v0.10.25) から ruby でそれ以前は td-agent ② unicornなど他のrubyプロセスを除外 ③ 瞬間的に出現する特権モード [td-agent] を除外 Copyright © DRECOM Co., Ltd All Rights Reserved. 22
  • 23. monit (2) td-agent 重複デーモン対策 if failed  /etc/init.d/td-agent stop ①  pkill -KILL -f td-agent ②  /etc/init.d/td-agent start Memo (3) ① 可能な限り正常終了し ② 残りは名前を含むプロセスを強制終了 Copyright © DRECOM Co., Ltd All Rights Reserved. 23
  • 24. monit (2) td-agent 重複デーモン対策 Memo (4)  v1.1.7 までの td-agentの起動スクリプトに はバグがあり、td-agent.conf の内容により  start を実行した数だけデーモンが起動  ファイルのIDが誤った値に変わる  v1.1.8 で修復されたが、どのようなログ配送 システムにおいてもデーモンの正常性は確認す べきである・・・でないと・・・ Copyright © DRECOM Co., Ltd All Rights Reserved. 24
  • 25. @mazgi事件 ※@mazgi = プラグイン製作者 Copyright © DRECOM Co., Ltd All Rights Reserved. 25
  • 26. @mazgi事件 ~ 開発 ~ @mazgi は、はぁ・・・ 頑張ります flumeアカンな~ fluentdの時代や プラグインいるな @mazgi先生の こんな感じで 出番やで よろしく~ @GedowFather @matsuou1 Copyright © DRECOM Co., Ltd All Rights Reserved. 26
  • 27. @mazgi事件 ~ 導入 ~ @mazgi できました! pull request 送っちゃうぞ~ えぇ感じやん さすが 1アプリに @mazgi先生や 入れてみるわ いいね、やるやん HDFSに @mazgi 先生! きたきた @GedowFather @matsuou1 Copyright © DRECOM Co., Ltd All Rights Reserved. 27
  • 28. @mazgi事件 ~ 確認 ~ @mazgi は、はぁ・・・ 頑張ります (マジわかんねぇ) あれ? ログ多くね? Agent分より 18/16 倍くらい HDFSが多いね に増えてる? 明日までに 水増し 直しておいてね! プラグインや @GedowFather @matsuou1 Copyright © DRECOM Co., Ltd All Rights Reserved. 28
  • 29. @mazgi事件 ~ 次の日 ~ WEBサーバは 16台か・・・ @GedowFather 全台のプロセス チェックしてみるか ん?4プロセスの サーバが2台ある!? 2台で重複・・・ 18 / 16 倍・・・ とりあえずプロセスを 正常化してみよう! タ、ターンッ!! Copyright © DRECOM Co., Ltd All Rights Reserved. 29
  • 30. @mazgi事件 ~ 解決 ~ @mazgi そ、それはよかった (マジこいつら・・・) 直ったっぽ! 行数一致した! プラグイン万歳! さすがの @mazgi先生や 公開しようぜ @GedowFather @matsuou1 Copyright © DRECOM Co., Ltd All Rights Reserved. 30
  • 31. @mazgi事件 濡れ衣 完 Copyright © DRECOM Co., Ltd All Rights Reserved. 31
  • 32. monit (3) flowcounterで転送状態監視 目的  アプリがログを記録している証明  Fluentdがログを拾って配送している証明 ☓ 部分的な記録ミスや極端な増減は無視 (アプリの事情は把握しきれない) ☓ やりすぎチェックはアラートが増えて 重要なアラートが埋もれる Copyright © DRECOM Co., Ltd All Rights Reserved. 32
  • 33. monit (3) flowcounterで転送状態監視 <match **.log> Memo (1) type copy <store>  1時間に1回記録する type forward ...snip...  1月1ファイルで十分 </store> <store> type flowcounter count_keys * unit hour aggregate all </store> </match> <match flowcount> type file path /var/log/td-agent/flowcount/flowcount.log time_slice_format %Y%m </match> Copyright © DRECOM Co., Ltd All Rights Reserved. 33
  • 34. monit (3) flowcounterで転送状態監視 flowcountログ 2012-08-06T20:44:21+09:00 flowcount {"count":1302372,"bytes":474494367,"count_rate":361.77,"bytes_rate":131803.99} 2012-08-06T21:44:21+09:00 flowcount {"count":1582649,"bytes":577411574,"count_rate":439.62,"bytes_rate":160392.1} 2012-08-06T22:44:21+09:00 flowcount {"count":1682872,"bytes":614115172,"count_rate":467.46,"bytes_rate":170587.54}  最新2時間分のカウントを利用する Copyright © DRECOM Co., Ltd All Rights Reserved. 34
  • 35. monit (3) flowcounterで転送状態監視 Check point  2時間分のログに  1つでも10以上のカウントがあればOK  0だけじゃなく1~9 も無効値とした  数時間に1度しかログが来ない場合、 ALERTとRECOVERYが繰り返され鬱陶い  2時間以上のメンテナンスや障害だとアラート になるがそれはご愛嬌 Copyright © DRECOM Co., Ltd All Rights Reserved. 35
  • 36. monit (3) flowcounterで転送状態監視 if failed  スクリプト内で原因をエラー出力 1>&2  返り値を 1 にしてmonit に知らせる  monitがアラートメール(エラー出力記載) 問題点  copy なので forward に失敗しても flowcounterのカウント記録は成功する  Collectorが全部落ちたり、HDFSが落ちたら flowcounterどころではないので問題ない! Copyright © DRECOM Co., Ltd All Rights Reserved. 36
  • 37. ローカル監視まとめ 1. td-agent の強制起動 2. td-agent プロセスの正常性確認と自動 修正 3. ログ配送の正常性確認 • Fluentd+monit だけで結構十分 • 足りなすぎず、やりすぎず適度な監視 Copyright © DRECOM Co., Ltd All Rights Reserved. 37
  • 38. リモート監視 Copyright © DRECOM Co., Ltd All Rights Reserved. 38
  • 39. リモート監視の目的 目的  アラート/グラフ作成の集約  状態の可視化  特にCollectorのキャパシティ管理  Agentにキャパシティの心配はほぼないが、 Collectorは増設対応が必要 Copyright © DRECOM Co., Ltd All Rights Reserved. 39
  • 40. アラートは Nagios+nagios-nrpe-server Agent monit nrpe flowcounter.sh Nagios Collector monit nrpe flowcounter.sh  monit で実行しているスクリプトを nagios- nrpe-server を通してNagiosに実行させる  Collectorは必須、Agentも可能ならやる Copyright © DRECOM Co., Ltd All Rights Reserved. 40
  • 41. グラフは Cacti とか+snmpd Agent snmpd Cacti Collector snmpd  Collectorは必須、Agentは既に入ってるべ  CPUとTrafficは最低限必要  特殊なグラフは作っていない Copyright © DRECOM Co., Ltd All Rights Reserved. 41
  • 42. Collectorの実際のグラフを紹介 Collectorの仕事 flowcounterより  in_forward  復号化  1行平均350byte  解凍  毎秒500行  flowcounter  webhdfs Copyright © DRECOM Co., Ltd All Rights Reserved. 42
  • 43. 圧縮で受け取って平文でHDFSへ Agent flush / 10s ←0.7 Mbps 圧縮/暗号化 状態でINPUT Collector 平文でHDFSへ OUTPUT ←1.5 Mbps HDFS うわっ…この圧縮率、低すぎ・・・? Copyright © DRECOM Co., Ltd All Rights Reserved. 43
  • 44. CPU利用率のキャパシティ  in_forward CPU 25%  復号化  解凍  flowcounter  webhdfs ・350 bytes / row ・500 rows / sec  fluentdは 1vCPU 100% が限界  最大であと4倍まで可能  とすると 2000 rows / sec が1台の限界? Copyright © DRECOM Co., Ltd All Rights Reserved. 44
  • 46. こんなこといいな できたらいいな Copyright © DRECOM Co., Ltd All Rights Reserved. 46
  • 47. CollectorでAgentを把握したい こ  様々な環境に散らばった大量のAgent ん な  何のAgentがいてどのAgentが正常なのか こ と い  Collectorの位置でまとめて確認できるのが最 い な も的確 で  NATだとsource address / port は使えない き た ら  Agentからhostname / PrivateAddrを送り い い  hostname の prefix 等でグループ化 な  1日以内に1度でも配送したAgentを確認 Copyright © DRECOM Co., Ltd All Rights Reserved. 47
  • 48. fin 監視の設定をしたら ぐっすり眠ってね!! Copyright © DRECOM Co., Ltd All Rights Reserved. 48