$30 off During Our Annual Pro Sale. View Details »

20200209_Amazon Builder's Library オンライン輪読会 vol.3

20200209_Amazon Builder's Library オンライン輪読会 vol.3

SadayoshiTada

February 09, 2020
Tweet

More Decks by SadayoshiTada

Other Decks in Technology

Transcript

  1. Amazon Builder's Library
    オンライ
    Amazon Builder's Library
    オンライ
    Amazon Builder's Library
    オンライ
    Amazon Builder's Library
    オンライ
    Amazon Builder's Library
    オンライ
    Amazon Builder's Library
    オンライ
    ン輪読会 vol.3
    ン輪読会 vol.3
    ン輪読会 vol.3
    ン輪読会 vol.3
    ン輪読会 vol.3
    ン輪読会 vol.3
    - 20200209 -
    - 20200209 -
    - 20200209 -
    - 20200209 -
    - 20200209 -
    - 20200209 -

    View Slide

  2. 目次
    目次
    目次
    目次
    目次
    目次
    1
    1
    1
    1
    1
    1.
    .
    .
    .
    .
    .
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    2
    2
    2
    2
    2
    2.
    .
    .
    .
    .
    .
    測定対象
    測定対象
    測定対象
    測定対象
    測定対象
    測定対象
    3
    3
    3
    3
    3
    3.
    .
    .
    .
    .
    .
    ドリルダウン
    ドリルダウン
    ドリルダウン
    ドリルダウン
    ドリルダウン
    ドリルダウン
    4
    4
    4
    4
    4
    4.
    .
    .
    .
    .
    .
    インストルメント方法
    インストルメント方法
    インストルメント方法
    インストルメント方法
    インストルメント方法
    インストルメント方法
    5
    5
    5
    5
    5
    5.
    .
    .
    .
    .
    .
    ログ記録によるインストルメンテーション
    ログ記録によるインストルメンテーション
    ログ記録によるインストルメンテーション
    ログ記録によるインストルメンテーション
    ログ記録によるインストルメンテーション
    ログ記録によるインストルメンテーション
    6
    6
    6
    6
    6
    6.
    .
    .
    .
    .
    . Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    7
    7
    7
    7
    7
    7.
    .
    .
    .
    .
    .
    まとめ
    まとめ
    まとめ
    まとめ
    まとめ
    まとめ

    View Slide

  3. インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションの理由
    インストルメンテーションはパフォーマンスのレベルを監視
    インストルメンテーションはパフォーマンスのレベルを監視
    インストルメンテーションはパフォーマンスのレベルを監視
    インストルメンテーションはパフォーマンスのレベルを監視
    インストルメンテーションはパフォーマンスのレベルを監視
    インストルメンテーションはパフォーマンスのレベルを監視
    または測定し、エラー診断、トレース情報を記録する
    または測定し、エラー診断、トレース情報を記録する
    または測定し、エラー診断、トレース情報を記録する
    または測定し、エラー診断、トレース情報を記録する
    または測定し、エラー診断、トレース情報を記録する
    または測定し、エラー診断、トレース情報を記録する
    Amazon
    の運用文化のコアであり、CX
    の確認のために重要
    Amazon
    の運用文化のコアであり、CX
    の確認のために重要
    Amazon
    の運用文化のコアであり、CX
    の確認のために重要
    Amazon
    の運用文化のコアであり、CX
    の確認のために重要
    Amazon
    の運用文化のコアであり、CX
    の確認のために重要
    Amazon
    の運用文化のコアであり、CX
    の確認のために重要
    インストルメンテーションは、運用にデータをフィードする
    インストルメンテーションは、運用にデータをフィードする
    インストルメンテーションは、運用にデータをフィードする
    インストルメンテーションは、運用にデータをフィードする
    インストルメンテーションは、運用にデータをフィードする
    インストルメンテーションは、運用にデータをフィードする
    ためリアルタイムのメトリックを表示可能
    ためリアルタイムのメトリックを表示可能
    ためリアルタイムのメトリックを表示可能
    ためリアルタイムのメトリックを表示可能
    ためリアルタイムのメトリックを表示可能
    ためリアルタイムのメトリックを表示可能
    インストルメンテーションの出力を使用して、問題が発生し
    インストルメンテーションの出力を使用して、問題が発生し
    インストルメンテーションの出力を使用して、問題が発生し
    インストルメンテーションの出力を使用して、問題が発生し
    インストルメンテーションの出力を使用して、問題が発生し
    インストルメンテーションの出力を使用して、問題が発生し
    た理由を判断
    た理由を判断
    た理由を判断
    た理由を判断
    た理由を判断
    た理由を判断
    問題を軽減し、再発防止につなげる
    問題を軽減し、再発防止につなげる
    問題を軽減し、再発防止につなげる
    問題を軽減し、再発防止につなげる
    問題を軽減し、再発防止につなげる
    問題を軽減し、再発防止につなげる






























    View Slide

  4. 測定対象
    測定対象
    測定対象
    測定対象
    測定対象
    測定対象
    インストルメンテーションには、タスクの所要時間,
    コードの
    インストルメンテーションには、タスクの所要時間,
    コードの
    インストルメンテーションには、タスクの所要時間,
    コードの
    インストルメンテーションには、タスクの所要時間,
    コードの
    インストルメンテーションには、タスクの所要時間,
    コードの
    インストルメンテーションには、タスクの所要時間,
    コードの
    実行頻度,
    タスクのメタデータ、タスクの成功又は失敗を記録
    実行頻度,
    タスクのメタデータ、タスクの成功又は失敗を記録
    実行頻度,
    タスクのメタデータ、タスクの成功又は失敗を記録
    実行頻度,
    タスクのメタデータ、タスクの成功又は失敗を記録
    実行頻度,
    タスクのメタデータ、タスクの成功又は失敗を記録
    実行頻度,
    タスクのメタデータ、タスクの成功又は失敗を記録
    する明示的なコードが必要
    する明示的なコードが必要
    する明示的なコードが必要
    する明示的なコードが必要
    する明示的なコードが必要
    する明示的なコードが必要
    分散システムのトラブルシューティングを行う場合、すべて
    分散システムのトラブルシューティングを行う場合、すべて
    分散システムのトラブルシューティングを行う場合、すべて
    分散システムのトラブルシューティングを行う場合、すべて
    分散システムのトラブルシューティングを行う場合、すべて
    分散システムのトラブルシューティングを行う場合、すべて
    の監視データを1
    か所にまとめる
    の監視データを1
    か所にまとめる
    の監視データを1
    か所にまとめる
    の監視データを1
    か所にまとめる
    の監視データを1
    か所にまとめる
    の監視データを1
    か所にまとめる
    各サービスごとに各タスクのトレースID
    を記録し、指定され
    各サービスごとに各タスクのトレースID
    を記録し、指定され
    各サービスごとに各タスクのトレースID
    を記録し、指定され
    各サービスごとに各タスクのトレースID
    を記録し、指定され
    各サービスごとに各タスクのトレースID
    を記録し、指定され
    各サービスごとに各タスクのトレースID
    を記録し、指定され
    たトレースID
    によるインストルメンテーションをするには、
    たトレースID
    によるインストルメンテーションをするには、
    たトレースID
    によるインストルメンテーションをするには、
    たトレースID
    によるインストルメンテーションをするには、
    たトレースID
    によるインストルメンテーションをするには、
    たトレースID
    によるインストルメンテーションをするには、
    コードでの実装のほかNewRelix
    等のAPM
    やX-Ray
    等使って
    コードでの実装のほかNewRelix
    等のAPM
    やX-Ray
    等使って
    コードでの実装のほかNewRelix
    等のAPM
    やX-Ray
    等使って
    コードでの実装のほかNewRelix
    等のAPM
    やX-Ray
    等使って
    コードでの実装のほかNewRelix
    等のAPM
    やX-Ray
    等使って
    コードでの実装のほかNewRelix
    等のAPM
    やX-Ray
    等使って
    リアルタイムで行う
    リアルタイムで行う
    リアルタイムで行う
    リアルタイムで行う
    リアルタイムで行う
    リアルタイムで行う


















    View Slide

  5. ドリルダウン
    ドリルダウン
    ドリルダウン
    ドリルダウン
    ドリルダウン
    ドリルダウン
    インストルメンテーションはダッシュボードに表示可能なメ
    インストルメンテーションはダッシュボードに表示可能なメ
    インストルメンテーションはダッシュボードに表示可能なメ
    インストルメンテーションはダッシュボードに表示可能なメ
    インストルメンテーションはダッシュボードに表示可能なメ
    インストルメンテーションはダッシュボードに表示可能なメ
    トリックに集約され、調査する必要がある異常や変更を認識
    トリックに集約され、調査する必要がある異常や変更を認識
    トリックに集約され、調査する必要がある異常や変更を認識
    トリックに集約され、調査する必要がある異常や変更を認識
    トリックに集約され、調査する必要がある異常や変更を認識
    トリックに集約され、調査する必要がある異常や変更を認識
    可能
    可能
    可能
    可能
    可能
    可能
    メトリックではエラーの発生していることはわかっても、エ
    メトリックではエラーの発生していることはわかっても、エ
    メトリックではエラーの発生していることはわかっても、エ
    メトリックではエラーの発生していることはわかっても、エ
    メトリックではエラーの発生していることはわかっても、エ
    メトリックではエラーの発生していることはわかっても、エ
    ラーの理由の特定に役立つとは限らない
    ラーの理由の特定に役立つとは限らない
    ラーの理由の特定に役立つとは限らない
    ラーの理由の特定に役立つとは限らない
    ラーの理由の特定に役立つとは限らない
    ラーの理由の特定に役立つとは限らない












    View Slide

  6. インストルメント方法
    インストルメント方法
    インストルメント方法
    インストルメント方法
    インストルメント方法
    インストルメント方法
    インストルメンテーションでは何が起こったのか、成功した
    インストルメンテーションでは何が起こったのか、成功した
    インストルメンテーションでは何が起こったのか、成功した
    インストルメンテーションでは何が起こったのか、成功した
    インストルメンテーションでは何が起こったのか、成功した
    インストルメンテーションでは何が起こったのか、成功した
    のか失敗したのか、どのくらい時間がかかったのかを示すた
    のか失敗したのか、どのくらい時間がかかったのかを示すた
    のか失敗したのか、どのくらい時間がかかったのかを示すた
    のか失敗したのか、どのくらい時間がかかったのかを示すた
    のか失敗したのか、どのくらい時間がかかったのかを示すた
    のか失敗したのか、どのくらい時間がかかったのかを示すた
    めにコードを追加する必要がある
    めにコードを追加する必要がある
    めにコードを追加する必要がある
    めにコードを追加する必要がある
    めにコードを追加する必要がある
    めにコードを追加する必要がある
    Amazon
    では、アプリケーションの測定値は集約されずすべて
    Amazon
    では、アプリケーションの測定値は集約されずすべて
    Amazon
    では、アプリケーションの測定値は集約されずすべて
    Amazon
    では、アプリケーションの測定値は集約されずすべて
    Amazon
    では、アプリケーションの測定値は集約されずすべて
    Amazon
    では、アプリケーションの測定値は集約されずすべて
    ログファイルに書き込まれる
    ログファイルに書き込まれる
    ログファイルに書き込まれる
    ログファイルに書き込まれる
    ログファイルに書き込まれる
    ログファイルに書き込まれる
    Amazon
    では、最初にログを記録し、後から集約メトリック
    Amazon
    では、最初にログを記録し、後から集約メトリック
    Amazon
    では、最初にログを記録し、後から集約メトリック
    Amazon
    では、最初にログを記録し、後から集約メトリック
    Amazon
    では、最初にログを記録し、後から集約メトリック
    Amazon
    では、最初にログを記録し、後から集約メトリック
    を作成する
    を作成する
    を作成する
    を作成する
    を作成する
    を作成する


















    View Slide

  7. ログ記録のインストルメンテーション
    ログ記録のインストルメンテーション
    ログ記録のインストルメンテーション
    ログ記録のインストルメンテーション
    ログ記録のインストルメンテーション
    ログ記録のインストルメンテーション
    一般的な方法は、リクエストデータとデバッグデータの2
    種類
    一般的な方法は、リクエストデータとデバッグデータの2
    種類
    一般的な方法は、リクエストデータとデバッグデータの2
    種類
    一般的な方法は、リクエストデータとデバッグデータの2
    種類
    一般的な方法は、リクエストデータとデバッグデータの2
    種類
    一般的な方法は、リクエストデータとデバッグデータの2
    種類
    のログデータを出力する
    のログデータを出力する
    のログデータを出力する
    のログデータを出力する
    のログデータを出力する
    のログデータを出力する
    AWS
    ならCloudWatch Agent
    を使えばログをだしたり、アラ
    AWS
    ならCloudWatch Agent
    を使えばログをだしたり、アラ
    AWS
    ならCloudWatch Agent
    を使えばログをだしたり、アラ
    AWS
    ならCloudWatch Agent
    を使えばログをだしたり、アラ
    AWS
    ならCloudWatch Agent
    を使えばログをだしたり、アラ
    AWS
    ならCloudWatch Agent
    を使えばログをだしたり、アラ
    ームを設定可能
    ームを設定可能
    ームを設定可能
    ームを設定可能
    ームを設定可能
    ームを設定可能
    リクエストの詳細をログにすると費用がかかるけどログを
    リクエストの詳細をログにすると費用がかかるけどログを
    リクエストの詳細をログにすると費用がかかるけどログを
    リクエストの詳細をログにすると費用がかかるけどログを
    リクエストの詳細をログにすると費用がかかるけどログを
    リクエストの詳細をログにすると費用がかかるけどログを
    取らないと顧客からの問い合わせに回答することも、サービ
    取らないと顧客からの問い合わせに回答することも、サービ
    取らないと顧客からの問い合わせに回答することも、サービ
    取らないと顧客からの問い合わせに回答することも、サービ
    取らないと顧客からの問い合わせに回答することも、サービ
    取らないと顧客からの問い合わせに回答することも、サービ
    ス改善もできない
    ス改善もできない
    ス改善もできない
    ス改善もできない
    ス改善もできない
    ス改善もできない


















    View Slide

  8. Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    Amazon
    のベストプラクティス
    リクエストログのベストプラクティス
    リクエストログのベストプラクティス
    リクエストログのベストプラクティス
    リクエストログのベストプラクティス
    リクエストログのベストプラクティス
    リクエストログのベストプラクティス
    アプリケーションログのベストプラクティス
    アプリケーションログのベストプラクティス
    アプリケーションログのベストプラクティス
    アプリケーションログのベストプラクティス
    アプリケーションログのベストプラクティス
    アプリケーションログのベストプラクティス
    高スループットサービスのベストプラクティス
    高スループットサービスのベストプラクティス
    高スループットサービスのベストプラクティス
    高スループットサービスのベストプラクティス
    高スループットサービスのベストプラクティス
    高スループットサービスのベストプラクティス


















    View Slide

  9. リクエストログ記録方法
    リクエストログ記録方法
    リクエストログ記録方法
    リクエストログ記録方法
    リクエストログ記録方法
    リクエストログ記録方法

    View Slide

  10. 作業単位ごとに1
    つのリクエストのログエントリを作成する
    作業単位ごとに1
    つのリクエストのログエントリを作成する
    作業単位ごとに1
    つのリクエストのログエントリを作成する
    作業単位ごとに1
    つのリクエストのログエントリを作成する
    作業単位ごとに1
    つのリクエストのログエントリを作成する
    作業単位ごとに1
    つのリクエストのログエントリを作成する
    特定のリクエストに対して1
    つ以上のリクエストログエントリを作
    特定のリクエストに対して1
    つ以上のリクエストログエントリを作
    特定のリクエストに対して1
    つ以上のリクエストログエントリを作
    特定のリクエストに対して1
    つ以上のリクエストログエントリを作
    特定のリクエストに対して1
    つ以上のリクエストログエントリを作
    特定のリクエストに対して1
    つ以上のリクエストログエントリを作
    成しない
    成しない
    成しない
    成しない
    成しない
    成しない
    長時間実行タスクを複数のログエントリに分割する
    長時間実行タスクを複数のログエントリに分割する
    長時間実行タスクを複数のログエントリに分割する
    長時間実行タスクを複数のログエントリに分割する
    長時間実行タスクを複数のログエントリに分割する
    長時間実行タスクを複数のログエントリに分割する
    検証などを行う前に、リクエストの詳細を記録する
    検証などを行う前に、リクエストの詳細を記録する
    検証などを行う前に、リクエストの詳細を記録する
    検証などを行う前に、リクエストの詳細を記録する
    検証などを行う前に、リクエストの詳細を記録する
    検証などを行う前に、リクエストの詳細を記録する
    詳細度を上げてログを記録する方法を計画する
    詳細度を上げてログを記録する方法を計画する
    詳細度を上げてログを記録する方法を計画する
    詳細度を上げてログを記録する方法を計画する
    詳細度を上げてログを記録する方法を計画する
    詳細度を上げてログを記録する方法を計画する
    メトリック名を短くする
    メトリック名を短くする
    メトリック名を短くする
    メトリック名を短くする
    メトリック名を短くする
    メトリック名を短くする
    最大スループットでログ記録を処理するのに十分な大きさのログボ
    最大スループットでログ記録を処理するのに十分な大きさのログボ
    最大スループットでログ記録を処理するのに十分な大きさのログボ
    最大スループットでログ記録を処理するのに十分な大きさのログボ
    最大スループットでログ記録を処理するのに十分な大きさのログボ
    最大スループットでログ記録を処理するのに十分な大きさのログボ
    リュームを確保する
    リュームを確保する
    リュームを確保する
    リュームを確保する
    リュームを確保する
    リュームを確保する
    ディスクがいっぱいになったときのシステムの動作を検討する
    ディスクがいっぱいになったときのシステムの動作を検討する
    ディスクがいっぱいになったときのシステムの動作を検討する
    ディスクがいっぱいになったときのシステムの動作を検討する
    ディスクがいっぱいになったときのシステムの動作を検討する
    ディスクがいっぱいになったときのシステムの動作を検討する
    クロックを同期する
    クロックを同期する
    クロックを同期する
    クロックを同期する
    クロックを同期する
    クロックを同期する
    可用性メトリックのゼロカウントを生成する
    可用性メトリックのゼロカウントを生成する
    可用性メトリックのゼロカウントを生成する
    可用性メトリックのゼロカウントを生成する
    可用性メトリックのゼロカウントを生成する
    可用性メトリックのゼロカウントを生成する




























































    View Slide

  11. リクエストログの記録内容
    リクエストログの記録内容
    リクエストログの記録内容
    リクエストログの記録内容
    リクエストログの記録内容
    リクエストログの記録内容

    View Slide

  12. すべての依存関係の可用性とレイテンシーを記録する
    すべての依存関係の可用性とレイテンシーを記録する
    すべての依存関係の可用性とレイテンシーを記録する
    すべての依存関係の可用性とレイテンシーを記録する
    すべての依存関係の可用性とレイテンシーを記録する
    すべての依存関係の可用性とレイテンシーを記録する
    コールごと、リソースごと、ステータスコードごとなどの依存関係メ
    コールごと、リソースごと、ステータスコードごとなどの依存関係メ
    コールごと、リソースごと、ステータスコードごとなどの依存関係メ
    コールごと、リソースごと、ステータスコードごとなどの依存関係メ
    コールごと、リソースごと、ステータスコードごとなどの依存関係メ
    コールごと、リソースごと、ステータスコードごとなどの依存関係メ
    トリックを分割する
    トリックを分割する
    トリックを分割する
    トリックを分割する
    トリックを分割する
    トリックを分割する
    アクセスするときにメモリキューの深さを記録する
    アクセスするときにメモリキューの深さを記録する
    アクセスするときにメモリキューの深さを記録する
    アクセスするときにメモリキューの深さを記録する
    アクセスするときにメモリキューの深さを記録する
    アクセスするときにメモリキューの深さを記録する
    エラーの理由ごとに追加のカウンターを追加する
    エラーの理由ごとに追加のカウンターを追加する
    エラーの理由ごとに追加のカウンターを追加する
    エラーの理由ごとに追加のカウンターを追加する
    エラーの理由ごとに追加のカウンターを追加する
    エラーの理由ごとに追加のカウンターを追加する
    原因のカテゴリ別にエラーを整理する
    原因のカテゴリ別にエラーを整理する
    原因のカテゴリ別にエラーを整理する
    原因のカテゴリ別にエラーを整理する
    原因のカテゴリ別にエラーを整理する
    原因のカテゴリ別にエラーを整理する
    作業単位に関する重要なメタデータを記録する
    作業単位に関する重要なメタデータを記録する
    作業単位に関する重要なメタデータを記録する
    作業単位に関する重要なメタデータを記録する
    作業単位に関する重要なメタデータを記録する
    作業単位に関する重要なメタデータを記録する
    アクセス制御と暗号化でログを保護する
    アクセス制御と暗号化でログを保護する
    アクセス制御と暗号化でログを保護する
    アクセス制御と暗号化でログを保護する
    アクセス制御と暗号化でログを保護する
    アクセス制御と暗号化でログを保護する
    ログに極秘情報を過度に入力しない
    ログに極秘情報を過度に入力しない
    ログに極秘情報を過度に入力しない
    ログに極秘情報を過度に入力しない
    ログに極秘情報を過度に入力しない
    ログに極秘情報を過度に入力しない
    トレース ID
    をログに記録し、バックエンドコールで伝播する
    トレース ID
    をログに記録し、バックエンドコールで伝播する
    トレース ID
    をログに記録し、バックエンドコールで伝播する
    トレース ID
    をログに記録し、バックエンドコールで伝播する
    トレース ID
    をログに記録し、バックエンドコールで伝播する
    トレース ID
    をログに記録し、バックエンドコールで伝播する
    ステータスコードとサイズに応じて異なるレイテンシーメトリック
    ステータスコードとサイズに応じて異なるレイテンシーメトリック
    ステータスコードとサイズに応じて異なるレイテンシーメトリック
    ステータスコードとサイズに応じて異なるレイテンシーメトリック
    ステータスコードとサイズに応じて異なるレイテンシーメトリック
    ステータスコードとサイズに応じて異なるレイテンシーメトリック
    をログに記録する
    をログに記録する
    をログに記録する
    をログに記録する
    をログに記録する
    をログに記録する




























































    View Slide

  13. アプリケーションログのベストプラクテ
    アプリケーションログのベストプラクテ
    アプリケーションログのベストプラクテ
    アプリケーションログのベストプラクテ
    アプリケーションログのベストプラクテ
    アプリケーションログのベストプラクテ
    ィス
    ィス
    ィス
    ィス
    ィス
    ィス

    View Slide

  14. アプリケーションログにスパムが届かないようにする
    アプリケーションログにスパムが届かないようにする
    アプリケーションログにスパムが届かないようにする
    アプリケーションログにスパムが届かないようにする
    アプリケーションログにスパムが届かないようにする
    アプリケーションログにスパムが届かないようにする
    アプリケーションログのエラースパムのレートを制限する
    アプリケーションログのエラースパムのレートを制限する
    アプリケーションログのエラースパムのレートを制限する
    アプリケーションログのエラースパムのレートを制限する
    アプリケーションログのエラースパムのレートを制限する
    アプリケーションログのエラースパムのレートを制限する
    エラーのリクエストに対応するリクエストID
    を含める
    エラーのリクエストに対応するリクエストID
    を含める
    エラーのリクエストに対応するリクエストID
    を含める
    エラーのリクエストに対応するリクエストID
    を含める
    エラーのリクエストに対応するリクエストID
    を含める
    エラーのリクエストに対応するリクエストID
    を含める
    失敗したサービスコールからのリクエストID
    をログに記録す
    失敗したサービスコールからのリクエストID
    をログに記録す
    失敗したサービスコールからのリクエストID
    をログに記録す
    失敗したサービスコールからのリクエストID
    をログに記録す
    失敗したサービスコールからのリクエストID
    をログに記録す
    失敗したサービスコールからのリクエストID
    をログに記録す






    文字列の連結よりもフォーマット文字列を優先する
    文字列の連結よりもフォーマット文字列を優先する
    文字列の連結よりもフォーマット文字列を優先する
    文字列の連結よりもフォーマット文字列を優先する
    文字列の連結よりもフォーマット文字列を優先する
    文字列の連結よりもフォーマット文字列を優先する






























    View Slide

  15. 高スループットサービスのベストプラ
    高スループットサービスのベストプラ
    高スループットサービスのベストプラ
    高スループットサービスのベストプラ
    高スループットサービスのベストプラ
    高スループットサービスのベストプラ
    クティス
    クティス
    クティス
    クティス
    クティス
    クティス
    ※ここでいう「高スループット」は「毎秒2,000
    万件超えリクエス
    ※ここでいう「高スループット」は「毎秒2,000
    万件超えリクエス
    ※ここでいう「高スループット」は「毎秒2,000
    万件超えリクエス
    ※ここでいう「高スループット」は「毎秒2,000
    万件超えリクエス
    ※ここでいう「高スループット」は「毎秒2,000
    万件超えリクエス
    ※ここでいう「高スループット」は「毎秒2,000
    万件超えリクエス
    トを処理する」ものを指す
    トを処理する」ものを指す
    トを処理する」ものを指す
    トを処理する」ものを指す
    トを処理する」ものを指す
    トを処理する」ものを指す

    View Slide

  16. サンプリングをログに記録する
    サンプリングをログに記録する
    サンプリングをログに記録する
    サンプリングをログに記録する
    サンプリングをログに記録する
    サンプリングをログに記録する
    別のスレッドへのシリアル化とログフラッシュをオフロード
    別のスレッドへのシリアル化とログフラッシュをオフロード
    別のスレッドへのシリアル化とログフラッシュをオフロード
    別のスレッドへのシリアル化とログフラッシュをオフロード
    別のスレッドへのシリアル化とログフラッシュをオフロード
    別のスレッドへのシリアル化とログフラッシュをオフロード
    する
    する
    する
    する
    する
    する
    ログローテーションを頻繁に行う
    ログローテーションを頻繁に行う
    ログローテーションを頻繁に行う
    ログローテーションを頻繁に行う
    ログローテーションを頻繁に行う
    ログローテーションを頻繁に行う
    事前に圧縮されたログを書き込む
    事前に圧縮されたログを書き込む
    事前に圧縮されたログを書き込む
    事前に圧縮されたログを書き込む
    事前に圧縮されたログを書き込む
    事前に圧縮されたログを書き込む
    メモリを使う方法
    メモリを使う方法
    メモリを使う方法
    メモリを使う方法
    メモリを使う方法
    メモリを使う方法
    ramdisk/tmpfs
    へ書き込む
    ramdisk/tmpfs
    へ書き込む
    ramdisk/tmpfs
    へ書き込む
    ramdisk/tmpfs
    へ書き込む
    ramdisk/tmpfs
    へ書き込む
    ramdisk/tmpfs
    へ書き込む
    インメモリで集計する
    インメモリで集計する
    インメモリで集計する
    インメモリで集計する
    インメモリで集計する
    インメモリで集計する
    リソース使用率を監視する
    リソース使用率を監視する
    リソース使用率を監視する
    リソース使用率を監視する
    リソース使用率を監視する
    リソース使用率を監視する
















































    View Slide

  17. 適切なログ分析ツールを使おう
    適切なログ分析ツールを使おう
    適切なログ分析ツールを使おう
    適切なログ分析ツールを使おう
    適切なログ分析ツールを使おう
    適切なログ分析ツールを使おう
    ローカルログ分析
    ローカルログ分析
    ローカルログ分析
    ローカルログ分析
    ローカルログ分析
    ローカルログ分析
    jq / RecordStorm
    jq / RecordStorm
    jq / RecordStorm
    jq / RecordStorm
    jq / RecordStorm
    jq / RecordStorm
    AWS
    AWS
    AWS
    AWS
    AWS
    AWS
    CloudWatch Logs Insights/X-Ray/Athena
    CloudWatch Logs Insights/X-Ray/Athena
    CloudWatch Logs Insights/X-Ray/Athena
    CloudWatch Logs Insights/X-Ray/Athena
    CloudWatch Logs Insights/X-Ray/Athena
    CloudWatch Logs Insights/X-Ray/Athena
























    View Slide

  18. まとめ
    まとめ
    まとめ
    まとめ
    まとめ
    まとめ
    ログの記録とシステム監視のメトリクスを取得する
    ログの記録とシステム監視のメトリクスを取得する
    ログの記録とシステム監視のメトリクスを取得する
    ログの記録とシステム監視のメトリクスを取得する
    ログの記録とシステム監視のメトリクスを取得する
    ログの記録とシステム監視のメトリクスを取得する
    インストルメンテーションの出力 (
    ダッシュボード上のグラ
    インストルメンテーションの出力 (
    ダッシュボード上のグラ
    インストルメンテーションの出力 (
    ダッシュボード上のグラ
    インストルメンテーションの出力 (
    ダッシュボード上のグラ
    インストルメンテーションの出力 (
    ダッシュボード上のグラ
    インストルメンテーションの出力 (
    ダッシュボード上のグラ
    フ、個々のログファイル)
    を見て、CloudWatch Logs
    フ、個々のログファイル)
    を見て、CloudWatch Logs
    フ、個々のログファイル)
    を見て、CloudWatch Logs
    フ、個々のログファイル)
    を見て、CloudWatch Logs
    フ、個々のログファイル)
    を見て、CloudWatch Logs
    フ、個々のログファイル)
    を見て、CloudWatch Logs
    Insights
    などの分散ログ分析ツールを使用する
    Insights
    などの分散ログ分析ツールを使用する
    Insights
    などの分散ログ分析ツールを使用する
    Insights
    などの分散ログ分析ツールを使用する
    Insights
    などの分散ログ分析ツールを使用する
    Insights
    などの分散ログ分析ツールを使用する
    コードにインストルメンテーションを追加し、テストする
    コードにインストルメンテーションを追加し、テストする
    コードにインストルメンテーションを追加し、テストする
    コードにインストルメンテーションを追加し、テストする
    コードにインストルメンテーションを追加し、テストする
    コードにインストルメンテーションを追加し、テストする
    適切なインストルメンテーションを更新・追加するのは永遠
    適切なインストルメンテーションを更新・追加するのは永遠
    適切なインストルメンテーションを更新・追加するのは永遠
    適切なインストルメンテーションを更新・追加するのは永遠
    適切なインストルメンテーションを更新・追加するのは永遠
    適切なインストルメンテーションを更新・追加するのは永遠
    に続く
    に続く
    に続く
    に続く
    に続く
    に続く
























    View Slide