Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ペパボのオブザーバビリティ研修2024 説明資料

ペパボのオブザーバビリティ研修2024 説明資料

GMOペパボ株式会社における2024年の新卒技術研修の一つ「オブザーバビリティ研修」の説明用資料です。
https://tech.pepabo.com/2024/07/23/o11y-training-2024/ に研修内容の詳細や研修の設計意図などを記載しています。ぜひ合わせてお読みください。

kesompochy

July 22, 2024
Tweet

More Decks by kesompochy

Other Decks in Technology

Transcript

  1. 4 こんにちは 技術部プラットフォームグループ 2022年 新卒⼊社 染⽮健⼈ Someya Kento • よく使うIDは

    @kesompochy • 業務ではSREな活動が多いです • Bunが好きです • 得意技ははかいこうせんです
  2. オブザーバビリティの概要 9 - 制御⼯学においては、システムの外部出⼒からシステムの内部状態を 推測できる度合い - 現代のWebシステムにおいても同じ - 具体的には -

    コードを変更せずともデバッグができるかどうか - 異常の調査を⾏き詰まることなくやり切れるかどうか - システムがどんなに斬新で奇妙な状態であってもその状態を正確 に説明できるかどうか オブザーバビリティとは?
  3. オブザーバビリティはなぜ重要? 29 - 単純モノリスなアーキテクチャなら問題が起きがちな箇所は限られる - クラウドネイティブで複雑なアーキテクチャだと⼤変 - コンテナは⼤量に⽣まれたり死んだりする - 複数のマイクロサービス同⼠が通信しあう

    - イミュータブルなインフラにはデバッグのための変更を加えにくい - 複雑なシステムのデバッグのために、外部から調査可能なデータがほしい 現代のシステムは複雑すぎる
  4. 可観測性ツール 33 - ペパボで使っているのは次のもの - SaaS - Datadog - New

    Relic - Mackerel - OSS - Grafana - SaaS版も提供されている 世の中にはたくさんのオブザーバビリティツールがある
  5. 可観測性ツール 34 - 多機能な可観測性ツールを提供するSaaS - ログ - APM - メトリクス

    - クラウドセキュリティ - などなど - パブリッククラウドとの統合も可能 Datadog
  6. ログ 46 - システムが出⼒するテキストデータ - たとえば - エラーログ - プログラムでエラーが発⽣したときにエラー内容などを出⼒する

    - アクセスログ - システムへのアクセスが発⽣したときにアクセス元情報などを出⼒する - 監査ログ - システム内で何かの作業が⾏われたときに作業者や作業内容などを出⼒する ログとは
  7. ログ 47 - 構造化されているとシステムが機械的に情報を扱えるようになるので調査が捗る - 現代だとLLMによって⾮構造化ログも効率的に扱えるかも - JSON形式やlogfmt形式での構造化がよく使われる - ⾮構造化ログの例

    - 構造化ログの例 - key=valueの連続構造 - パースしやすい ログの構造化 14:30:15 User john.doe logged in from 192.168.1.100 4:30:20 Basic authentication accepted by user john.doe 14:30:27 Request succeeded response_time=0.5s time=14:30:15 event=login user=john.doe ip=192.168.1.100 time=14:30:20 event=auth method=basic user=john.doe time=14:30:27 event=request status=success response_time=0.5s
  8. トレース 51 - 複数の分かれたサービス間での⼀連の処理を追跡したもの - マイクロサービスだと、分散トレースがあると便利 - 裏を返して、分散トレースがない世界を想像してみよう - サービスAの対象トレースを探し、

    - サービスBのトレース⼀覧を眺め、 - サービスBのトレースをサービスAの対象トレースの時刻と突合して... - たぶんこのトレースとこのトレースが⼀連だ(と思う) 分散トレース
  9. OpenTelemetry 55 - アプリケーションがそれぞれ 計装(Instrumentation)する - 計装されたテレメトリーを OTel Collectorに送信する -

    OTel Collectorを使わないこともできる - OTel Collectorが処理したデータを 任意のBackendにExportする OpenTelemetry概略
  10. 監視 57 - 対象を継続的に観察し、意図していない状態になっていないかどうかを確 認すること - たとえば - 外形監視 -

    https://pepabo.comにGETリクエストを投げて1秒以内に200が返るか? - メトリクス監視 - ホストマシンのCPU使⽤率が90%を超えないか? - ログ監視 - “Error”を含むログが出ないか? 監視とは
  11. 監視 59 - ツール依存 - 監視を⽀えにする - 監視を「ロール」として扱う - 偽陽性アラート

    - 作ってそのまま - ユーザーのことを考慮しない監視 アンチパターン
  12. 総合演習 67 - 次のすべての内容を含むデモの発表を求めます! - ⾃分のサービスを任意の⽅法で壊す - アクセスできない(可⽤性の問題) - エラーが出る(可⽤性の問題)

    - データがおかしい(完全性の問題) - ⾒えてはいけないデータが⾒える(機密性の問題) - サーバーに侵⼊された(機密性の問題) - 監視システムによってサービスが壊れたことを検知する - 向上した可観測性によって、壊れた原因を特定できる - 直す 総合演習を完成させよう!
  13. おすすめの本 68 - 『オブザーバビリティ‧エンジニアリング』 - 2023年01月 Charity Majors、Liz Fong-Jones、George Miranda 著、大谷

    和紀、山口 能迪 訳 オライリー・ジャパン - 『⼊⾨ 監視 ―モダンなモニタリングのためのデザインパターン』 - 2019年01月 Mike Julian 著、松浦 隼人 訳 オライリー・ジャパン - 『SRE サイトリライアビリティエンジニアリング ―Googleの信頼性 を⽀えるエンジニアリングチーム』 - 2017年08月 Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy 編、澤田 武男、関根 達夫、細川 一茂、矢吹 大輔 監訳、Sky株 式会社 玉川 竜司 訳 オライリー・ジャパン 参考⽂献