38
Windows Server+Photon Server 環環環環 Fluentd+Elasticsearch+Kibana 環環環環環 環環環環環環環環環環 Photon 運運運運運 運運運運 2016/09/13 Photon 運運運

Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Embed Size (px)

Citation preview

Page 1: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Windows Server+Photon Server 環境でもFluentd+Elasticsearch+Kibana を活用して各種情報を可視化する

Photon 運営事務局 山本昇平2016/09/13 @ Photon 勉強会

Page 2: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

About Me

• 氏名 : 山本昇平 (Syohei Yamamoto)• 所属 : GMO クラウド株式会社• 役割 : 各種ソリューションの技術担当• 趣味 : ゲームと料理

– 好きなゲーム : スプラトゥーン• プレイ時間 2,000 時間、ウデマエは S+99( カンスト )

– 私にとって本日が Photon 最後の勉強会• 私事ですが 10 月からはクラウド全般の R&D 部門に異動となりました• お世話になった皆様、誠にありがとうございます!

Page 3: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

イントロダクション

Page 4: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

イントロダクション

• 今回利用するツール– Windows パフォーマンスモニター : 各種情報収集ツール– Fluentd: ログ収集ツール– Elasticsearch: 全文検索システム– Kibana: Elasticsearch をグラフで可視化

• 目的(ゴール)– これらツールを通して Photon Server の各種情報を可視化する

• 今回は CPU 使用率 / 同時接続数 (CCU) を可視化します

Page 5: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

完成イメージ

・ Photon 同時接続数・ CPU 使用率      …など

可視化

Page 6: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

完成イメージ

Page 7: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

手順

• ざっくりとした手順1. Photon Server からパフォーマンスモニターに出力2. 可視化したい項目を Fluentd で収集3. Elasticsearch+Kibana で情報を表示

Page 8: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Photon Server からパフォーマンスモニターに出力

Page 9: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

完成イメージ

可視化

この部分

・ Photon 同時接続数・ CPU 使用率      …など

Page 10: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

パフォーマンスモニターとは

• Windows 標準で搭載されている、システムの状態や動作を計測するツール

• OS や個別のアプリケーションの情報を指定された時間間隔で現在の値を取得できる

• カスタマイズもできる(今回は行わない)

Page 11: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

パフォーマンスモニターとは

Page 12: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Photon カウンター

• Photon Server では各種情報をパフォーマンスモニターに出力することができる

• パフォーマンスモニター以外に出力したい場合は、カスタムパフォーマンスカウンターを利用して出力可能– Graphite, InfluxDB, StatsD, NewRelic, AWS CloudWatch など– 詳細はドキュメントサイトの Photon カウンターの項目を参照ください– https

://doc.photonengine.com/ja-jp/onpremise/current/performance/photon-counters

Page 13: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Photonカウンターのインストール

• Photon Control 上からインストール可能– PerfMon Counters → Install Counters を選択– パフォーマンスモニターを起動する際は

Start PrefMon を選択する

Page 14: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

パフォーマンスモニターを利用する

• パフォーマンスモニター– 上部の緑色の+ボタンから Photon カウンターが正しく

追加されているか確認します

Page 15: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Photon カウンターの確認

• Photon Socket Server カウンター– パフォーマンスモニター上に Photon カウンターが

追加されています– HTTP/TCP/UDP といったプロトコルごとに、ピア数、切断数、

メッセージ数などの情報をリアルタイムで取得することが可能– 項目の詳細については下記 URL を参照ください

• https://doc.photonengine.com/ja-jp/onpremise/v3/reference/server-performance-counters

Page 16: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

コマンドからも取得可能

• コマンドラインから Photon Server のリアルタイムな情報を取得可能– パフォーマンスモニターを利用しなくても OK– ( 例 ) Photon の各種情報を Slack 上に Webhook するような

bot を作ることも可能

>typeperf "\Photon Socket Server: UDP(*)\UDP: Peers”"09/07/2016 14:32:38.203","0.000000","0.000000""09/07/2016 14:32:39.203","0.000000","0.000000""09/07/2016 14:32:40.203","0.000000","0.000000"

Page 17: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

可視化したい項目を Fluentd で収集

Page 18: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

完成イメージ

可視化

・ Photon 同時接続数・ CPU 使用率      …など

この部分

Page 19: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Fluentd を使って外部サーバに送信

• Fluentd から先述のコマンドを実行することで、外部サーバに Photon Server のステータスを送信できる

• 同時に Windows Server の CPU 使用率などの情報を送信すると良い

• 送信する情報は fluent.conf で設定

Page 20: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Windows ServerにFluentdをインストールする

• Ruby のインストール– Ruby 2.3.1 x64– DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

1. ruby dk.rb init2. config.yml を編集する3. ruby dk.rb install

– http://rubyinstaller.org/downloads/

Page 21: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Windows ServerにFluentdをインストールする

• Git のインストール– Git for Windows 2.10.0

1. “Use Git from the Windows Command Prompt” を選択する2. “Checkout Windows-style, commit Unix-style line endings” を選択

する

– https://git-for-windows.github.io/

Page 22: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Windows ServerにFluentdをインストールする

• Fluentd のインストール

• Fluent-plugin-parser のインストール

• fluent.conf の設定

> git clone https://github.com/fluent/fluentd.git> cd fluentd> gem install bundler> bundle> bundle exec rake build> gem install pkg\fluentd-0.14.2.gem -N

> gem install fluent-plugin-parser --no-ri --no-rdoc

Page 23: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

fluent.conf の設定例<source> type exec command typeperf -sc 1 "\Processor(_Total)\% Processor Time" "\Photon Socket Server: UDP(*)\UDP: Peers" keys msg run_interval 15s tag raw.winsvr.status</source>

<match raw.winsvr.status> type parser remove_prefix raw key_name msg format /\"(?<time>[\d:./ ]*)\",\"(?<processor__per_processor_time>[\d.]*)\",\"(?<photon__per_peers>[\d.]*)\"/ time_format %m/%d/%Y %H:%M:%S.%L log_level error</match>

<match winsvr.status> type copy <store> type forward <server> host xxx.xxx.xxx.xxx #ここに送信先のホスト名を指定する </server> flush_interval 15s </store></match>

Page 24: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Windows ServerにFluentdをインストールする

• 以上で Windows Server 側の設定は完了• Fluentd を起動する方法は

• Fluentd をサービスに登録する場合は

– コントロールパネル上から開始・停止が可能

> fluentd –c ./fluent.conf

> fluentd –reg-winsvc i

Page 25: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Elasticsearch+Kibana で情報を表示

Page 26: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

完成イメージ

可視化

この部分

・ Photon 同時接続数・ CPU 使用率      …など

Page 27: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Fluentd の設定

• CentOS 上に下記をインストール– Fluentd– Elasticsearch– Kibana

• インストール方法については、ネットに沢山転がっているので割愛

• Fluentd の fluent.conf をin_forward と Elasticsearch に合わせて設定する

Page 28: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

fluent.conf の設定例<source winsvr.status> type forward</source>

<match winsvr.status> type typecast item_types processor__per_processor_time:integer,photon__per_peers:integer prefix typed</match>

<match typed.winsvr.status> type elasticsearch type_name winsvr_status buffer_type memory logstash_format true include_tag_key true tag_key @log_name flush_interval 15s</match>

Page 29: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Fluentd の設定

• Fluentd, Elasticsearch, Kibana を起動する• Kibana のダッシュボードを設定する

– ダッシュボードの設定方法については、ネットに沢山転がっているので割愛

Page 30: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

完成イメージ

Page 31: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

まとめ

• Photon の各種情報を取得する場合は Photon カウンターを利用すると良い

• Fluentd を使えば簡単に外部サーバに送ることが可能• Elasticsearch+Kibana を使えば簡単に可視化できる

Page 32: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

最後に

• Windows Server と Photon Server の環境でも、 Fluentd を使えば簡単に各種情報を可視化できることを理解頂けましたでしょうか?

• 今回は掴みの部分だけを説明しましたが、 Photon の各種情報を取得することに興味がある方はドキュメントを参考にして頂くか、 Photon のスタッフにお尋ねください!

• 他にもっと良い方法があれば教えてください!!

Page 33: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

Photon 運営事務局からのおしらせ

Page 34: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

今後のイベント予定

• 10/6(木 )-8(土 ) INVEN GAME CONFERENCE (韓国)

• 10/22(土 ) CEDEC九州(福岡)

• その他、弊社会場にて Photon のイベントを企画中!

Page 35: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

ヘルプセンター

• ナレッジベース・コミニュティ ( フォーラム )機能• コンテンツは日々充実化を図っています• https://support.photonengine.jp/hc/ja

Page 36: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

お問い合わせ

• メールアドレス– [email protected]

• Web もご覧ください– https://photonengine.jp

• ヘルプセンター– https://support.photonengine.jp/hc/ja

Page 37: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

最後に…

一緒に働ける仲間を大募集中!

詳細はこちら↓

Page 38: Windows Server+Photon Server環境でもFluentd+Elasticsearch+Kibanaを活用して各種情報を可視化する(2016/9/13 発表資料)

参考URL

• Windowsオンリーの環境でサーバーステータスを fluentd + Elasticsearch + Kibana で収集・可視化する – Qiita– http://qiita.com/okahashi117/items/897e8e4f1f7c88642a61

• パフォーマンスモニタで Photon Server の状態を監視する – Qiita– http://qiita.com/ikejpcw/items/e9fe70030fad2a52999a

• fluentd for Windows を Ruby 2.2 で動かす – Qiita– http://qiita.com/nurse/items/b38a7f2c084cf2b56631