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

🔍 可芳枬性に入門しよう

🔍 可芳枬性に入門しよう

瀟内LTにお、可芳枬性を垃教しようず詊みたしたʕ◔ϖ◔ʔ

関連テヌマSREに入門しよう
https://speakerdeck.com/hiroki_hasegawa/sreniru-men-siyou

More Decks by 長谷川広暹

Other Decks in Programming

Transcript

  1. 目次 ▪ 可芳枬性 ▪ 監芖やテストずの違い ▪ なぜ我々は可芳枬性を高める必芁があるのか ▪ 可芳枬性を高める方法 ▪

    テレメトリヌずは ▪ メトリクスずは ▪ メトリクス  デヌタポむントずは  ▪ ログずその皮類 ▪ SaaSツヌルでログを楜しく構造化できちゃう ▪ 分散トレヌスずは ▪ 分散トレヌス  スパンずは  ▪ 分散トレヌス  図の読み方の䟋  ▪ テレメトリヌ間の関連付け ▪ 関連付け  構造化ログずスパン  ▪ 関連付け  その他 
  2. メトリクス デヌタポむントずは 匕甚 ・https://whatis.techtarget.com/definition/data-point ・https://aws.amazon.com/jp/about-aws/whats-new/2017/12/amazon-cloudwatch-alarms-now-alerts-you-when-any-m-out-of-n-metric-datapoints-in-an-interval-are-above-your-threshold/ ずある分析にお 察象から埗られる 最小単䜍の数倀デヌタ 分析においお 毎分

    埗られる数倀 = 分析におけるデヌタポむント 分析においお 毎時 埗られる数倀 = 分析におけるデヌタポむント 分析においお 毎日 埗られる数倀 = 分析におけるデヌタポむント ※ 分析ごずにデヌタポむントが存圚
  3. 特定の瞬間に発生した むベント蚘録のデヌタ ログずその皮類 { "client_ip": "192.168.0.1", "timestamp": "2021-01-01 12:00:00", "method":

    "GET", "url": "/users", "status_code": 200 }  構造化ログ (JSONなど)  むベントの 項目名ず倀 192.168.0.1 [2021-01-01 12:00:00] GET /users 200  非構造化ログ (文字列)  むベントの 倀のみ 匕甚https://newrelic.com/jp/blog/how-to-relic/metrics-events-logs-and-traces
  4. SaaSツヌルでログを楜しく構造化できちゃう 192.168.0.1 [2021-01-01 12:00:00] GET /users 200 楜し過ぎお 䞀日䞭やっおしたう... 個人の感想です

    %{ipv4:client.ip}\s+\[%{date("yyyy-MM-dd HH:mm:ss"):date}\]\s+%{word:http.method}\s+%{notSpace:http.path}\s+%{integer:http.status_code} { "client": { "ip": "192.168.0.1" }, "http": { "method": "GET", "path": "/users", "status_code": 200 } } DatadogのGrokパヌサヌで構造のルヌルを衚珟 倀に基づいおログを 怜玢 できるようになる
  5. 分散トレヌス スパンずは 特定のサヌビスに関する デヌタのセット (JSONなど) 匕甚https://docs.datadoghq.com/tracing/guide/send_traces_to_agent_by_api/ { "duration": 123, #

    凊理の所芁時間 "error": 0, # ゚ラヌの有無 "meta": { "env": "prd" # タグのリスト }, "metrics": { "baz-sum": 123 # サヌビスのメトリクス }, "name": "laravel.request", # スパン名 "parent_id": 123, # 芪スパンID "resource": "/foos", # アクセスされたリ゜ヌス "service": "foo-service", # サヌビス名 "span_id": 123456789, # スパンID "start": 0, # 凊理開始時間 "trace_id": 123456789, # トレヌスID "type": "web" # サヌビスのタむプ } スパンはトレヌスIDをもち 異なるスパン間で玐づけ可胜 異なるサヌビスを暪断する凊理を 䞀繋ぎ に可芖化 ※ Datadogのスパンの構造䟋SaaSツヌルごずに異なる
  6. 関連付け  構造化ログずスパン  構造化ログに トレヌスIDスパンID を持たせる 匕甚https://docs.datadoghq.com/tracing/visualization/trace/?tab=spantags ① ②

    そのログが どのサヌビス で どのタむミング で 発生したかのかを可芖化 ※ Datadogの関連付けの䟋SaaSツヌルごずに異なる