New Relic株式会社が本格始動して初めての New Relic University * をワークスタイリング汐留で開催しました。今回の講師はNew Relicソリューションコンサルタントの佐々木千枝です。
* New Relic Universityは、監視のプロを育成するために、ハンズオンやワークショップのトレーニングを通じてNew Relicの可観測性プラットフォームを活用した監視の知識や技術の習得を支援するプログラムです。
本記事では、その第1回目の様子をお届けします。
日頃「障害解析に時間がかかる」「パフォーマンスのボトルネックになっている場所を探すのに苦労している」など、問い合わせをいただく中で、「⽬的は監視であって監視機構の運⽤ではない (by Google Developer Advocateの山口さん)」を思い出し、多くの方が課題に感じている、「生産性の向上」や「運用の効率化」を目的に、「New Relic でパフォーマンス分析を10倍速くしてみよう!」のテーマで、以下5つのゴールを設定してハンズオンを実施しました。
- 近年のアプリケーションに必要と言われている可観測性についての理解を深める
- New Relicを使って簡単に可観測性を実現する方法を知る
- アプリケーションのエラーやパフォーマンス問題に対し、迅速に対処する方法を知る
- クラウドの稼働状況(マネージドサービスを含むパフォーマンス、コスト等)を正しく把握する方法を知る
- 上記のような情報をダッシュボードで可視化し、アラートとして定義する方法を知る
近年のアプリケーションに必要と言われる可観測性とは?
従来の監視がシステムの状態を監視する行為ことに対し、可観測性は、「監視に必要な情報をシステムが取得可能な状態であること」と冒頭に説明。
従来のシステムがモノリシックなアプリケーション、サーバー、データベースで構成されていたため状態や死活監視していたことに対し、近年のシステムでは多数のマイクロサービスやコンテナ、サービス毎のデータベース、及びデプロイ数も数回/年から十数回/日というのが主流になっているため、状態だけでなく関連するコンポーネントの関連性を把握する必要が出てきました。これを背景に、求められるようになった可観測性の3要素、メトリック(集計可能なデータの粒、例:キュー深度、HTTPクエリ等)、トレース(単一トランザクションを構成するあらゆる要素、例:外部APIへのリクエスト、DBのクエリ等)、ログ(個々のイベントの記録、例:デバッグログ、エラーログ)です。
New Relicを使って簡単に可観測性を実現する方法を知る
New Relic Oneは、可観測性に必要な3つの要素、メトリック、トレース、ログ、すべてを1箇所で観測可能にした業界初の可観測性プラットフォームです。New Relic Oneの新機能については「可観測性プラットフォーム New Relic One 新機能のご紹介」で紹介しています。
アプリケーションのエラーやパフォーマンスの問題に対し、迅速に対処する方法を知る
前置きが長くなってしまいましたが、ここからいよいよ実際のハンズオンが始まります!
1. エラーのトラブルシューティング - Overview画面から、どの時間帯にエラーが多く発生しているか、同メニューから、エラーのスタックトレースを表示する方法を学びました。
2. パフォーマンスの確認 - トランザクション内で最も時間が費やされているのはJVM, DB, 外部APIのうちどの処理レイヤーか、ボトルネックとなっている箇所をコードレベルで解析する方法を学びました。
3. リリース前後のパフォーマンスを比較 - “Deployment”メニューより、最新のリリースがいつ実施されたかを確認し、最新のリリース前後のパフォーマンスのちがいを確認。マイクロサービス化されていても、依存関係を把握しながら分析ができることを学びました。
クラウドの稼働状況(マネージドサービスを含むパフォーマンス、コスト等)を正しく把握する方法を知る
1. Kubernetes環境の確認、AWS環境の確認 - クラスターの情報、ノードのリソース状況を確認し、Kubernetes環境の様々な情報が定量的に表示されていることを確認。
AWSのメニューからは、処理時間の長さ、読み・書きにかかる時間をストレージ単位に見られることを確認しました。また、Billingダッシュボードを開き、クラウドコストの内、最も費用かかっているサービスを確認しました。
2. Infrastructure + APMの連携 - KubernetesメニューからそのままAPMの情報を確認することができ、アプリケーションとインフラの相関関係も簡単に把握できることを学びました。
ダッシュボードで可視化し、アラートとして定義する方法を知る
1.ダッシュボードの設定 – ダッシュボードが有用な3つの場合を佐々木が冒頭でご説明し、ハンズオンで作成したチャートから実際にダッシュボードを作成しました。
- 複数アプリケーションやアプリケーションとインフラのメトリックの相関関係など、様々なソースからのデータを一つの画面で把握したい場合(データの選択と集約)、
- チームで定めたKPIに対する実測値を把握したい場合(データの加工)、
- 集めたデータを目で見てわかりやすい形式で表示したい場合(データのビジュアライズ)
ダッシュボード作成の手順はとても簡単!
3. アラートの通知と確認 – しきい値(動的/静的)を設定し、アラートを設定、メールやSlack、モバイルアプリケーション等でアラートを受信し、アラートの詳細をNew Relic上で確認できることを学びました。
参加いただいた方の声
- (普段の業務に)全て活かせます(製造業、Developer, T.Kさん)
- ツールの基本的な使い方、見方がわかったので、障害調査やシステムのパフォーマンス向上のために活かしていきたい。(不動産業、IT Ops, M.Sさん)
New Relic Universityに参加して一緒に理解を深めましょう!
次回開催は11/5 @ワークスタイリング八重洲です。お申し込みはこちら
Die in diesem Blog geäußerten Ansichten sind die des Autors und spiegeln nicht unbedingt die Ansichten von New Relic wider. Alle vom Autor angebotenen Lösungen sind umgebungsspezifisch und nicht Teil der kommerziellen Lösungen oder des Supports von New Relic. Bitte besuchen Sie uns exklusiv im Explorers Hub (discuss.newrelic.com) für Fragen und Unterstützung zu diesem Blogbeitrag. Dieser Blog kann Links zu Inhalten auf Websites Dritter enthalten. Durch die Bereitstellung solcher Links übernimmt, garantiert, genehmigt oder billigt New Relic die auf diesen Websites verfügbaren Informationen, Ansichten oder Produkte nicht.