【勉強会】OpsJAWS Meetup#13 分散トレーシングにおけるAPM活用
これに行ってきた
AWS X-ray
「分散アプリケーションの内部を可視化 AWS X-rayとは?」
アマゾン ウェブ サービス ジャパン 畑 史彦 さん
<<スライド展開待ち>>
AWS X-Ray とは?
- X-Rayはレントゲンのこと、システムのレントゲン
- SDKをターゲットにしこむ
- サポート言語:Java/Node.js/C#/Python/Go、Ruby(Cookpad)
- RDBのクエリも。JDBCのインターセプタで実現
- ALBでHTTPのリクエストヘッダにトレースIDを追加できる
- 従量課金、トレースの記録と取得が対象
- 10万件の記録、100万回の取得までは無料
ユースケース
- 負荷試験
- 従量課金を気にするならURL絞る
- ステージング環境に入れる
注意点
- デフォルトではサンプリング、全データではない
- 完全性は保証されない、監査やコンプライアンスには使えない
- トレースデータの保存は直近30日まで
質疑応答
- Javaに組み込む場合は?
- 入れることによるパフォーマンス劣化は?
- データがサンプリングになる代わりに、レイテンシに影響出ないようになってる
- ダッシュボードのカスタマイズは可能?
- サービスマップのカスタマイズは不可、フィルタリングは可
- 条件をつけてアラーティングはできる?
- できない、分析のみ
- アカウントをまたぐ場合は?
- 設定で統合可能
- 独自のプロトコルのTCP通信は?
- トレース不可
New Relic
「マイクロサービスによるアプリ開発と分散トレーシングにおけるAPMの活用」
日商エレクトロニクス 松尾 竹純 さん
<<スライド展開待ち>>
分散トレーシングの代表的なプロダクト
よくある意見
- トレースIDをしこむのは、開発者が嫌がったりする
- そんな複雑なことまでして、そもそも何がやりたかったんだっけ?となってしまう
分散トレーシングの代替案としてのNewRelic
分散トレーシングは、
New Relicなら、
- サービス内のプロセスも含めたルートコーズ分析が可能
- 直感的なボトルネック探索
NewRelicの課題
- すべてのユーザリクエストをプロファイルしてない
- メトリクスとしてはすべてのデータが集計されてはいるが
- 性能劣化のあるプロセスでないとプロファイルされない
- あくまでも“APM”、エラーの原因調査ツールではない
- 業務的にはエラーでも、性能として問題なければ扱わなかったりするところが課題
その他
- New Relic OpenTracingも鋭意開発中?時期は未定
- トレースID・スパンIDを用いない分散トレーシング、が売りになるか
- NewRelicのシェア
- Datanyze
- Siftery