Successfully reported this slideshow.
1
Fluentdによる
研究開発用DCのデータ収集
Fluentd meetup #3
2012/11/08
株式会社インターネットイニシアティブ
プラットフォーム本部
プラットフォームサービス部
プラットフォーム開発課
杉本 浩史
2
自己紹介
3
自己紹介	
•  杉本 浩史@hiro_su
– 所属:IIJ PF-PFD(2012年新卒入社)
•  研究開発用DC
•  GlusterFS検証
•  MOGOK(DB・ログ)
– IIJの最新の技術動向に掲載されました
•  検索:...
4
目次
5
目次	
•  研究開発用DCについて
•  収集データについて
•  各プラグインの説明
– インプット
– アウトプット
•  はまったこと
•  まとめ
5
6
研究開発用DCについて
7
研究開発用DC	
•  研究開発検証用クラウド向けデータセンター
テストベッド
•  詳しくはこちら
– 検索: IIJ 研究開発用データセンター設備
– http://www.iij.ad.jp/company/development/
...
8
研究開発用DCの目的	
•  そのひとつが空調制御の効率化
– 外気の温度や湿度を考慮した制御
•  効率的な空調制御により省電力を目指す
–  データセンターにおける外気冷却の実験(IIJ実施)
http://youtu.be/cceNF...
9
研究開発用設備	
9
•  サーバ約200台
•  スイッチ数10台
•  UPS
•  気象センサー
•  温室度センサー
•  空調制御装置
•  電力計
10
様々なセンサー	
10
IT
!x!72
11
取得する情報	
収集対象	
 取得データ	
 1日の情報量	
 収集間隔	
気象センサー	
 外気温度、外気湿度、降雨量、
降雹量、風速、風圧、気圧	
約4万件	
 30秒	
温湿度センサー	
 温度、湿度(全72カ所)	
 約62万件	...
12
レガシーシステム	
12
SNMP	
CSV	
TSV	
TSV	
気象
センサ
温湿度
センサ
空調
制御装置
電力計
電流計
データソース	
 それぞれ別のフォーマット
異なるデータ量をそれぞれ
別々に解析していた
13
レガシーシステム	
13
SNMP	
CSV	
TSV	
TSV	
気象
センサ
温湿度
センサ
空調
制御装置
電力計
電流計
データソース	
だめだ!
 これはなんとかしないと!	
これらを集約し管理するシステムが必要
今の時代ログ集...
14
乗るしかない、このビッグウェーブに!
15
Fluentdを使うと	
15
SNMP	
CSV	
TSV	
TSV	
SQL	
気象
センサ
温湿度
センサ
空調
制御装置
電力計
電流計
データソース	
MySQL	
蓄積!	
WebAPI	
可視化!	
GrowthForeca...
16
Fluentdを使うと	
16
SNMP	
CSV	
TSV	
TSV	
SQL	
気象
センサ
温湿度
センサ
空調
制御装置
電力計
電流計
データソース	
MySQL	
WebAPI	
GrowthForecast	
これはいい	
...
17
収集データについて
18
データ収集	
1.  温湿度センサーデータ
–  SNMPでポーリング
•  SNMPプラグイン(改)
–  https://github.com/iij/fluent-plugin-snmp
2.  空調制御装置、電力計データ
–  別...
19
各プラグインの説明
20
インプット
21
1.温湿度センサー	
•  秋葉原で買ってきたセンサーキット x 72
•  各センサーはUSB HUBに接続	
21
22
構成図	
•  OpenBSD x 12
•  sensor x 72
utrh0	
snmp daemon	
utrh1	
utrh2	
utrh0	
snmp daemon	
utrh1	
utrh2	
snmp	
snmp	
mys...
23
プラグイン	
•  SNMPインプットプラグイン
–  https://github.com/iij/fluent-plugin-snmp
23
<source>
type snmp_sensor
tag snmp.server01
ho...
24
取得データ	
24
[[name=OPENBSD-SENSORS-MIB::sensorDevice.2, value=utrh0],
[name=OPENBSD-SENSORS-MIB::sensorValue.2, value=25....
25
2.エアコン制御装置	
•  取得対象の項目数51個 = ファイル数
–  (例) watermeter.20120823.txt
•  プラグイン tail(改)
–  ワイルドカード
–  今日のファイルだけ読み込み
–  Recor...
26
構成図	
•  51項目 = 51file
forward	
forward	
forward	
 Port 24224(tcp/udp)	
tail	
mysql	
file1	
file2	
file3	
ddc	
51 file	
...
27
取得データ	
27
watermeter-w1.20120823.txt
fluentd record	
<source>
type tail_
tag ddc.watermeter
path /service/tsv/whmeter*
...
28
3.気象センサー	
•  データは日毎にcsv形式で書きだされている
– (例) temper.20120919.txt
–  風向、降ひょう量、気圧、雨量、風速、気温、湿度等
•  プラグイン tail(改)
29
構成図	
•  構成図
– 1file
forward	
forward	
forward	
 Port 24224(tcp/udp)	
tail	
mysql	
csv file	
Weather
sensor	
1 file	
 My...
30
取得データ	
30
temper.20120919.txt
fluentd record	
<source>
type tail_
format /^[(?<time>.+)]s(?<type>[0R1|0R2|0R3]+),(?<val...
31
アウトプット
32
データ蓄積	
•  集めたデータをMySQLへアウトプット
– アウトプットプラグインでMySQLへインサート
– 自作しました
•  1ヶ月単位で違うテーブルにデータを蓄積
•  これから収集対象が増えて行く
32
33
可視化	
•  GrowthForecastを使用
– 可視化することでデータをより簡単に確認できる
– Fluentdの挙動も確認	
33
34
デモ
35
はまったこと
36
はまったこと	
•  Tailプラグインで何十個のファイルをtailしよう
としたらCPUが頭打ちになった
– 複数プロセスに分けることでCPUを効率良く使う
ことができた
•  2重起動で大変なことに
– Fluentdのプロセス監視
...
37
まとめ
38
まとめ	
•  研究開発用DCのデータ収集を行っています
•  データ収集の為にFluentdを使用
•  プラグインによって様々なデータソースに応
用可能
•  情報集約!
38
39
ご清聴ありがとうございました	
お問い合わせ先 IIJインフォメーションセンター	
TEL:03-5205-4466 (9:30~17:30 土/日/祝日除く)	
info@iij.ad.jp
http://www.iij.ad.jp/
40
お問い合わせ先 IIJインフォメーションセンター	
TEL:03-5205-4466 (9:30~17:30 土/日/祝日除く)	
info@iij.ad.jp
http://www.iij.ad.jp/
インターネットの先にいます。	
...
Upcoming SlideShare
Loading in …5
×

Fluentdによる研究開発用DCのデータ収集

4,511 views

Published on

Fluentd meetup #3 #fluentd

Published in: Technology
  • Be the first to comment

Fluentdによる研究開発用DCのデータ収集

  1. 1. 1 Fluentdによる 研究開発用DCのデータ収集 Fluentd meetup #3 2012/11/08 株式会社インターネットイニシアティブ プラットフォーム本部 プラットフォームサービス部 プラットフォーム開発課 杉本 浩史
  2. 2. 2 自己紹介
  3. 3. 3 自己紹介 •  杉本 浩史@hiro_su – 所属:IIJ PF-PFD(2012年新卒入社) •  研究開発用DC •  GlusterFS検証 •  MOGOK(DB・ログ) – IIJの最新の技術動向に掲載されました •  検索: IIJ 最新技術 データセンター •  http://www.iij.ad.jp/company/development/tech/ activities/dc_data/ 3
  4. 4. 4 目次
  5. 5. 5 目次 •  研究開発用DCについて •  収集データについて •  各プラグインの説明 – インプット – アウトプット •  はまったこと •  まとめ 5
  6. 6. 6 研究開発用DCについて
  7. 7. 7 研究開発用DC •  研究開発検証用クラウド向けデータセンター テストベッド •  詳しくはこちら – 検索: IIJ 研究開発用データセンター設備 – http://www.iij.ad.jp/company/development/ tech/activities/dc/ 7
  8. 8. 8 研究開発用DCの目的 •  そのひとつが空調制御の効率化 – 外気の温度や湿度を考慮した制御 •  効率的な空調制御により省電力を目指す –  データセンターにおける外気冷却の実験(IIJ実施) http://youtu.be/cceNFxDRxPo 8
  9. 9. 9 研究開発用設備 9 •  サーバ約200台 •  スイッチ数10台 •  UPS •  気象センサー •  温室度センサー •  空調制御装置 •  電力計
  10. 10. 10 様々なセンサー 10 IT !x!72
  11. 11. 11 取得する情報 収集対象 取得データ 1日の情報量 収集間隔 気象センサー 外気温度、外気湿度、降雨量、 降雹量、風速、風圧、気圧 約4万件 30秒 温湿度センサー 温度、湿度(全72カ所) 約62万件 10秒 空調制御装置 温度、湿度、ダクト状態、ファン 回転数、ファン電力、気圧、差圧、 風力、加湿状態、冷却状態、冷 却電力 約88万件 5秒 電力計 基幹積載電力計及び内部の電 力計毎の電流値 約6千件 60秒 11 取得する情報が多い!
  12. 12. 12 レガシーシステム 12 SNMP CSV TSV TSV 気象 センサ 温湿度 センサ 空調 制御装置 電力計 電流計 データソース それぞれ別のフォーマット 異なるデータ量をそれぞれ 別々に解析していた
  13. 13. 13 レガシーシステム 13 SNMP CSV TSV TSV 気象 センサ 温湿度 センサ 空調 制御装置 電力計 電流計 データソース だめだ!  これはなんとかしないと! これらを集約し管理するシステムが必要 今の時代ログ集約と言ったらFluentdだよね!
  14. 14. 14 乗るしかない、このビッグウェーブに!
  15. 15. 15 Fluentdを使うと 15 SNMP CSV TSV TSV SQL 気象 センサ 温湿度 センサ 空調 制御装置 電力計 電流計 データソース MySQL 蓄積! WebAPI 可視化! GrowthForecast ログ収集・集約 Fluentd
  16. 16. 16 Fluentdを使うと 16 SNMP CSV TSV TSV SQL 気象 センサ 温湿度 センサ 空調 制御装置 電力計 電流計 データソース MySQL WebAPI GrowthForecast これはいい 蓄積! ログ収集・集約 Fluentd
  17. 17. 17 収集データについて
  18. 18. 18 データ収集 1.  温湿度センサーデータ –  SNMPでポーリング •  SNMPプラグイン(改) –  https://github.com/iij/fluent-plugin-snmp 2.  空調制御装置、電力計データ –  別システムでTSVファイルに出力 •  tailプラグイン(改)を利用 3.  気象センサーデータ –  別システムでCSVファイルへ出力 •  tailプラグイン(改)を利用 18
  19. 19. 19 各プラグインの説明
  20. 20. 20 インプット
  21. 21. 21 1.温湿度センサー •  秋葉原で買ってきたセンサーキット x 72 •  各センサーはUSB HUBに接続 21
  22. 22. 22 構成図 •  OpenBSD x 12 •  sensor x 72 utrh0 snmp daemon utrh1 utrh2 utrh0 snmp daemon utrh1 utrh2 snmp snmp mysql MySQL OpenBSD01 OpenBSD12 sensors sensors MySQL Semi replication Backup Main Interval 0,10,20,30,40,50 Interval 5,15,25,35,45,55 mysql MySQL growth forecast Growth forecast CentOS CentOS CentOS
  23. 23. 23 プラグイン •  SNMPインプットプラグイン –  https://github.com/iij/fluent-plugin-snmp 23 <source> type snmp_sensor tag snmp.server01 host_name iij-xxx host 192.168.x.xx community public mib sensorDevice,sensorValue,sensorUnits mib_modules OPENBSD-SENSORS-MIB mib_dir fluentd polling_time 0,10,20,30,40,50 </source> 設定ファイル
  24. 24. 24 取得データ 24 [[name=OPENBSD-SENSORS-MIB::sensorDevice.2, value=utrh0], [name=OPENBSD-SENSORS-MIB::sensorValue.2, value=25.81], [name=OPENBSD-SENSORS-MIB::sensorUnits.2, value=degC]] [name=OPENBSD-SENSORS-MIB::sensorDevice.3, value=utrh0], [name=OPENBSD-SENSORS-MIB::sensorValue.3, value=36.34%], [name=OPENBSD-SENSORS-MIB::sensorUnits.3, value=%RH]] Time : 2012-09-26 14:49:05 +0900 Tag : snmp.server01 Record : {“host_name”:”iij-xxx","sensorDevice":"utrh0", "sensorValue_degC":25.81,"sensorValue_%RH":36.34} snmpwalk fluentd record
  25. 25. 25 2.エアコン制御装置 •  取得対象の項目数51個 = ファイル数 –  (例) watermeter.20120823.txt •  プラグイン tail(改) –  ワイルドカード –  今日のファイルだけ読み込み –  Recordにfile名追加
  26. 26. 26 構成図 •  51項目 = 51file forward forward forward Port 24224(tcp/udp) tail mysql file1 file2 file3 ddc 51 file MySQL CentOS CentOS Ubuntu MySQL Semi replication backup main mysql MySQL growth forecast Growth forecast CentOS
  27. 27. 27 取得データ 27 watermeter-w1.20120823.txt fluentd record <source> type tail_ tag ddc.watermeter path /service/tsv/whmeter* format /d+t(?<value>d+(.d+)?)t(?<time>.+)/ filename_format .[^.]+ … </source> 1345697495 150.2 2012-08-23 13:51:35 1345697500 150.2 2012-08-23 13:51:40 Time : 2012-08-23 13:51:35 Tag : ddc.watermeter Record : {“value” : “150.2”, “filename” : “watermeter-w1”} 設定ファイル
  28. 28. 28 3.気象センサー •  データは日毎にcsv形式で書きだされている – (例) temper.20120919.txt –  風向、降ひょう量、気圧、雨量、風速、気温、湿度等 •  プラグイン tail(改)
  29. 29. 29 構成図 •  構成図 – 1file forward forward forward Port 24224(tcp/udp) tail mysql csv file Weather sensor 1 file MySQL ec2n0828 ec2n0829 watch00 MySQL ec2n0400 Semi replication backup main mysql MySQL growth forecast Growth forecast
  30. 30. 30 取得データ 30 temper.20120919.txt fluentd record <source> type tail_ format /^[(?<time>.+)]s(?<type>[0R1|0R2|0R3]+),(?<value>.*)$/ … </source> 設定ファイル [2012 09/19 14:14:40] 0R2,Ta=27.8C,Ua=72.5P,Pa=1008.5H [2012 09/19 14:14:40] 0R1,Dn=099D,Dm=122D,Dx=143D,Sn=0.3M,Sm=0.4M,Sx=0.6M [2012 09/19 14:14:40] 0R3,Rc=0.02M,Rd=40s,Ri=0.8M,Hc=0.0M,Hd=0s,Hi=0.0M Time : 2012-09-19 14:14:40 Tag : temper.server01 Record : {“type” : “0R2”, “value” : “Ta=27.8C,Ua=72.5P,Pa=1008.5H”}
  31. 31. 31 アウトプット
  32. 32. 32 データ蓄積 •  集めたデータをMySQLへアウトプット – アウトプットプラグインでMySQLへインサート – 自作しました •  1ヶ月単位で違うテーブルにデータを蓄積 •  これから収集対象が増えて行く 32
  33. 33. 33 可視化 •  GrowthForecastを使用 – 可視化することでデータをより簡単に確認できる – Fluentdの挙動も確認 33
  34. 34. 34 デモ
  35. 35. 35 はまったこと
  36. 36. 36 はまったこと •  Tailプラグインで何十個のファイルをtailしよう としたらCPUが頭打ちになった – 複数プロセスに分けることでCPUを効率良く使う ことができた •  2重起動で大変なことに – Fluentdのプロセス監視 •  Tailプラグインがファイルの先頭から読み込 まない 36
  37. 37. 37 まとめ
  38. 38. 38 まとめ •  研究開発用DCのデータ収集を行っています •  データ収集の為にFluentdを使用 •  プラグインによって様々なデータソースに応 用可能 •  情報集約! 38
  39. 39. 39 ご清聴ありがとうございました お問い合わせ先 IIJインフォメーションセンター TEL:03-5205-4466 (9:30~17:30 土/日/祝日除く) info@iij.ad.jp http://www.iij.ad.jp/
  40. 40. 40 お問い合わせ先 IIJインフォメーションセンター TEL:03-5205-4466 (9:30~17:30 土/日/祝日除く) info@iij.ad.jp http://www.iij.ad.jp/ インターネットの先にいます。 IIJはこれまで、日本のインターネットはどうあるべきかを考え、 つねに先駆者として、インターネットの可能性を切り拓いてきました。 インターネットの未来を想い、イノベーションに挑戦し続けることで、世界を塗り変えていく。 それは、これからも変わることのない姿勢です。 IIJの真ん中のIはイニシアティブ           IIJはいつもはじまりであり、未来です。

×