0
JVM Operation
Casual Talks
Cassandra監視で
やっていること
自己紹介
id:oranie
@oranie
株式会社 Cyberagent 所属
注意:Cassandraの項目などは
Ver1.1をベースにしています。
運用しているシステムについて
サイバーエージェント スマートフォンプラットフォーム
s.amebame.com
SPOFの無いマルチマスタ
ノード追加でスケールする
処理能力とデータ保持量
スキーマレスで柔軟な
データ操作
System Scale
Daily Peak Cluster Request
Read : about 45,000 qps
Write : about 40,000 qps
Total Data: about 35TB + snapshot...
Latency
Read / avg 4ms.
Write / avg 0.1~0.7ms
Cluster HW spec
CPU : 16 ~ 24 core (HT enable)
Memory : 64GB
Disk : SAS 600GB RAID 10
※一部テスト的にSATAだったりSSD入れて
みたりのレンジがあった。
Daily Operation
おおまかなまとめ
サイバーエージェント 公式エンジニアブログ
http://ameblo.jp/principia-ca/entry-11514557323.html
Monitoring
監視
運用担当当初
Cassandraの監視って何すれば
いいの?からスタート
Cassandraにはクエリを投げて
MySQLで言う
SHOW STATUS hogehoge
的な奴は無かった(ハズ)
なにかあってもどこで
性能劣化したかどうかとか
分からない。
とりあえず既存で使っていた
JavaアプリのCactiのテンプレ見
る
JVMの
GC頻度
ヒープメモリの使い方とか
グラフに取っている
これどこに値とか
入っているんだろう?
Mbeansという所に
色々入っていた。
見るのにVisualVMというのが
便利と教えてもらう。
見てみるとJVMで取れる値と
アプリケーション(Cassandra)特
有の値など色々入っていた。
JVMで取れる値 =
Linux OSで取れる様な物
アプリ固有の物 =
Apacheのmod_statusで取れる
様な物
が入っているので、ひたすら必
要そうな物探す。
で、色々あるのは分かったけど
これ結局どうやって値
取っているの?
CactiはSNMPでした。
http://d.hatena.ne.jp/hogem/20121206/1354802392
hogemさんのブログより引用
なんというか・・・
人類にやさしくない・・・。
これから欲しい値取る時に
SNMPで頑張るの・・・
oid調べるのとか面倒くせ。
JMXという違う
インターフェイスが
ある事を知る
JMX = Java Management
Extensions (JMX)
調べたらJavaで書かないと
無理ゲーくさい
Java……..
ちょっとスクリプト的な奴作っても
Nagiosで頻繁に叩くとかの時に
起動コスト高くね?
つーかJavaって
「くるまクラスを作って見よう」
ぐらいしかやった事ねー
PerlとかRubyとかPython
とかでサラッと書きたい。
そこで社内の人から
Jolokia使えば?
と教えて貰う。
簡単に言うとJMXを
REST APIインターフェイスに
プロキシしてくれるモジュール。
値をJSONで返してくれる。
ex:)
http://localhost:8080/jolokia/
read/java.lang:type=Memory/
HeapMemoryUsage
に対してGETする。
ex:)
{ "committed" : 18292736,
"used" : 15348352, "max" :
532742144, "init" : 0 }
こんな感じ。
とても分かりやすい。
ちょっと整形すればbashでも簡
単に書ける。
PerlならJMX::Jmx4Perlという
CPANモジュールも出ている。
簡単な使い方は同僚の
@la_luna_azul が書いた
死活・閾値監視
Nagios + Jenkins + Perl Script
to mail & Push notification
死活監視系概要
閾値監視系概要
トレンド監視
OS monitor
・Cacti :
OS, JVM Resource graph
・Proteus-monitor : Real Time OS
monitor
(cyberagent engineer OSS product)
https...
Proteus-monitor : Real Time OS
Cassandra monitor
・Cassandra Resource graph
GrowthForecast(LINE Engineer OSS product) +
yohoushi (DeNA Engineer OSS produc...
Opscenter
GrowthForecast + yohoushi
Pending Checker
「WebSocketで監視もリアルタイムに」
http://ameblo.jp/principia-ca/entry-11513826700.html
Pending Checker
こんな感じでとりあえず
Jolokiaで叩いて
値取ってゴニョる
ただ、噂によると
一部の監視アプリでは初めから
JMXを叩いて監視出来るらしい
Zabbixとか。
それに切り替えればいいじゃん
ちょっと宗教上の理由で・・・。
Zabbixを頑張るの大変そうで。
とりあえずもう少しはCassandra
監視はjolikia先生を使って
Nagios + GrowthForecast
辺りで頑張ってみる。
以上です
Jvm operation casual talks
Jvm operation casual talks
Jvm operation casual talks
Jvm operation casual talks
Jvm operation casual talks
Upcoming SlideShare
Loading in...5
×

Jvm operation casual talks

6,608

Published on

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,608
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
16
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

Transcript of "Jvm operation casual talks"

  1. 1. JVM Operation Casual Talks Cassandra監視で やっていること
  2. 2. 自己紹介 id:oranie @oranie 株式会社 Cyberagent 所属
  3. 3. 注意:Cassandraの項目などは Ver1.1をベースにしています。
  4. 4. 運用しているシステムについて
  5. 5. サイバーエージェント スマートフォンプラットフォーム s.amebame.com
  6. 6. SPOFの無いマルチマスタ ノード追加でスケールする 処理能力とデータ保持量 スキーマレスで柔軟な データ操作
  7. 7. System Scale Daily Peak Cluster Request Read : about 45,000 qps Write : about 40,000 qps Total Data: about 35TB + snapshot 1 node avg: 350GB ※RF:3
  8. 8. Latency Read / avg 4ms. Write / avg 0.1~0.7ms
  9. 9. Cluster HW spec CPU : 16 ~ 24 core (HT enable) Memory : 64GB Disk : SAS 600GB RAID 10 ※一部テスト的にSATAだったりSSD入れて みたりのレンジがあった。
  10. 10. Daily Operation
  11. 11. おおまかなまとめ サイバーエージェント 公式エンジニアブログ http://ameblo.jp/principia-ca/entry-11514557323.html
  12. 12. Monitoring 監視
  13. 13. 運用担当当初 Cassandraの監視って何すれば いいの?からスタート
  14. 14. Cassandraにはクエリを投げて MySQLで言う SHOW STATUS hogehoge 的な奴は無かった(ハズ)
  15. 15. なにかあってもどこで 性能劣化したかどうかとか 分からない。
  16. 16. とりあえず既存で使っていた JavaアプリのCactiのテンプレ見 る
  17. 17. JVMの GC頻度 ヒープメモリの使い方とか グラフに取っている
  18. 18. これどこに値とか 入っているんだろう?
  19. 19. Mbeansという所に 色々入っていた。 見るのにVisualVMというのが 便利と教えてもらう。
  20. 20. 見てみるとJVMで取れる値と アプリケーション(Cassandra)特 有の値など色々入っていた。
  21. 21. JVMで取れる値 = Linux OSで取れる様な物 アプリ固有の物 = Apacheのmod_statusで取れる 様な物 が入っているので、ひたすら必 要そうな物探す。
  22. 22. で、色々あるのは分かったけど これ結局どうやって値 取っているの?
  23. 23. CactiはSNMPでした。
  24. 24. http://d.hatena.ne.jp/hogem/20121206/1354802392 hogemさんのブログより引用
  25. 25. なんというか・・・ 人類にやさしくない・・・。
  26. 26. これから欲しい値取る時に SNMPで頑張るの・・・ oid調べるのとか面倒くせ。
  27. 27. JMXという違う インターフェイスが ある事を知る
  28. 28. JMX = Java Management Extensions (JMX)
  29. 29. 調べたらJavaで書かないと 無理ゲーくさい
  30. 30. Java…….. ちょっとスクリプト的な奴作っても Nagiosで頻繁に叩くとかの時に 起動コスト高くね?
  31. 31. つーかJavaって 「くるまクラスを作って見よう」 ぐらいしかやった事ねー PerlとかRubyとかPython とかでサラッと書きたい。
  32. 32. そこで社内の人から Jolokia使えば? と教えて貰う。
  33. 33. 簡単に言うとJMXを REST APIインターフェイスに プロキシしてくれるモジュール。 値をJSONで返してくれる。
  34. 34. ex:) http://localhost:8080/jolokia/ read/java.lang:type=Memory/ HeapMemoryUsage に対してGETする。
  35. 35. ex:) { "committed" : 18292736, "used" : 15348352, "max" : 532742144, "init" : 0 } こんな感じ。
  36. 36. とても分かりやすい。 ちょっと整形すればbashでも簡 単に書ける。 PerlならJMX::Jmx4Perlという CPANモジュールも出ている。
  37. 37. 簡単な使い方は同僚の @la_luna_azul が書いた
  38. 38. 死活・閾値監視
  39. 39. Nagios + Jenkins + Perl Script to mail & Push notification
  40. 40. 死活監視系概要
  41. 41. 閾値監視系概要
  42. 42. トレンド監視
  43. 43. OS monitor ・Cacti : OS, JVM Resource graph ・Proteus-monitor : Real Time OS monitor (cyberagent engineer OSS product) https://github.com/ameba-proteus/ proteus-monitor-agent
  44. 44. Proteus-monitor : Real Time OS
  45. 45. Cassandra monitor ・Cassandra Resource graph GrowthForecast(LINE Engineer OSS product) + yohoushi (DeNA Engineer OSS product) ・opscenter :Datastax Cassandra cluster status monitor ・Pending Checker : Real Time Cassandra pending monitor (cyberagent engeneer OSS prodct)
  46. 46. Opscenter
  47. 47. GrowthForecast + yohoushi
  48. 48. Pending Checker 「WebSocketで監視もリアルタイムに」 http://ameblo.jp/principia-ca/entry-11513826700.html
  49. 49. Pending Checker
  50. 50. こんな感じでとりあえず Jolokiaで叩いて 値取ってゴニョる
  51. 51. ただ、噂によると 一部の監視アプリでは初めから JMXを叩いて監視出来るらしい Zabbixとか。
  52. 52. それに切り替えればいいじゃん
  53. 53. ちょっと宗教上の理由で・・・。 Zabbixを頑張るの大変そうで。
  54. 54. とりあえずもう少しはCassandra 監視はjolikia先生を使って Nagios + GrowthForecast 辺りで頑張ってみる。
  55. 55. 以上です
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×