Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Datadogログ萬屋
Search
k-nagase
October 05, 2022
Programming
0
170
Datadogログ萬屋
実運用を経てDatadogにてログを扱っていく際に設定しておくべき機能・知っておくべき機能をまとめてご紹介します。
k-nagase
October 05, 2022
Tweet
Share
More Decks by k-nagase
See All by k-nagase
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
460
システム担当者のためのクラウドとコンテナライゼーション ~効果を最大化する思考~
koh_naga
0
180
AWS Load balancer controller使用下でのAWSリソースのライフサイクル分離
koh_naga
0
450
Other Decks in Programming
See All in Programming
テストをしないQAエンジニアは何をしているか?
nealle
0
100
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
12
6.1k
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
270
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.2k
ErdMap: Thinking about a map for Rails applications
makicamel
1
1.2k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.1k
チームの立て直し施策をGoogleの 『効果的なチーム』と見比べてみた
maroon8021
0
320
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
9
1.3k
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
190
DMMオンラインサロンアプリのSwift化
hayatan
0
280
[Fin-JAWS 第38回 ~re:Invent 2024 金融re:Cap~]FaultInjectionServiceアップデート@pre:Invent2024
shintaro_fukatsu
0
380
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
280
Featured
See All Featured
Producing Creativity
orderedlist
PRO
343
39k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Rails Girls Zürich Keynote
gr2m
94
13k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
128
19k
Fireside Chat
paigeccino
34
3.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
No one is an island. Learnings from fostering a developers community.
thoeni
20
3.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Transcript
Datadogログ萬屋
© 2022 3-shake Inc. 2 自己紹介 - 株式会社スリーシェイク Sreake事業部 -
業務: SREとしてインフラ扱ったり、コード読み書きしたり - スマホアプリのバックエンド構築・運用支援 - 趣味: 料理、お酒、車 永瀬滉平
© 2022 3-shake Inc. 3 Datadogでログ管理を始めていく際に必要となるであろう機能を、実際に 設定していく流れに沿って紹介しようと思います。 1. ログ収集 2.
パイプライン作成 3. IndexやArchiveに出力する 4. 秘匿情報の保護 5. datadog agentでフィルタリング 6. Archive / Rehydrate 今日話すこと
© 2022 3-shake Inc. 4 Datadogでログを管理すると何が嬉しい? • 様々なクラウドプロバイダーや環境が入り混じった環境でのログを一括管理できると見や すく活用しやすい •
ログに求められる要件を満たすような機能が一通り提供されている ◦ ログの整形・加工 ◦ 秘匿情報のマスク ◦ 検索機能 ◦ 長期保管
© 2022 3-shake Inc. 5 料金体系 • 取り込み: 0.10$ /
GB • ログの保持期間によって料金が変わる ◦ Archiveでは取り込み料金がかかる ◦ Rehydrate from Archiveでは以下表の保持期間に相当する料金がかかる https://www.datadoghq.com/ja/pricing/?product=%E3%83%AD%E3%82%B0%E7%AE%A1%E7%90%86#%E3%83%AD%E3%82%B0%E7%AE%A1%E7%90%86 保持期間 3日 7日 15日 30日 料金(100万ログイベント/月) 1.06$ 1.27$ 1.70$ 2.50$
© 2022 3-shake Inc. 6 ログ収集 Datadogではログエンドポイントが公開されており、 Agentやインテグレーションを使うことでログ取得・エンドポイン トへ送信することで取り込むことができる。 •
取り込む前にできることの例 ◦ 残しておく必要のないログを除外 ◦ エラータイプや必要な属性の付与 ◦ 機密情報のマスク • 取り込んだ後にできることの例 ◦ ログの保持 ◦ フォーマット・属性の付与 ◦ アラートの設定 https://docs.datadoghq.com/ja/logs/log_collection/
© 2022 3-shake Inc. 7 Pipelineを作成 ログは整形され、必要なメタデータが付与されていることが「使えるログ」の大前提です。 このようにログを加工する作業は PipelineとProcesserを使って行います。 プリセットのパイプラインライブラリが充実しているため、まずはそれを試してみると良いでしょう
https://docs.datadoghq.com/ja/logs/processing/pipelines/
© 2022 3-shake Inc. 8 Pipelineを作成 Datadogでは基本的にJSON形式でログを扱うため、値を GrokパースしてJSON形式に整形するプロセッサーをパイ プライン内で組む必要がある •
パイプライン毎のプロセッサー数は最大 20 で使用することが推奨されている • Grok プロセッサー毎のパース規則は最大 10 で使用することが推奨されている https://docs.datadoghq.com/ja/logs/processing/pipelines/
© 2022 3-shake Inc. 9 IndexやArchiveに出力する Pipelineで処理したログを、どこに取り込むのかを決める。まずは Indexに残すか直接Archive(後述)に出 力するかを選定する Indexに残すことで、
• ログエクスプローラでの閲覧や調査 • 自動分析・異常検知機能の使用 • 監視設定 ができるようになる https://docs.datadoghq.com/ja/logs/indexes/ Indexは複数作成して、ログごとにIndexに残す日数を変えることができる
© 2022 3-shake Inc. 10 秘匿情報の保護 ログにトークンやAPI keyのような秘匿情報が含まれている場合、 Sensitive Data
Scannerという機能でマスクするこ とができる。 プリセットのスキャニングルールライブラリが充実しており、クレジットカード番号やメジャーなクラウドプロバイダのトー クン系のような基本的なフォーマットは揃っている
© 2022 3-shake Inc. 11 秘匿情報の保護 ただし秘匿情報は取り込む前にマスクした方が漏洩のリスクを低減でき、セキュリティの観点で推奨 datadog agentでもマスクする機能があるため、可能な限りこちらを使用するのが望ましい。 https://docs.datadoghq.com/ja/agent/logs/advanced_log_collection/?tab=configurationfile#%E3%83%AD%E3%82%B0%E3%81%AE%E6%A9%9F%E5%AF%86%E3%83%87%E
3%83%BC%E3%82%BF%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%A9%E3%83%93%E3%83%B3%E3%82%B0 - type: mask_sequences name: visa_mc_amex_diners_discover_jcb_credit_card replace_placeholder: "[CREDIT CARD REDACTED]" pattern: (?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800| 35\d{3})\d{11}) よく使われるマスキングのルールが公開されています。 https://docs.datadoghq.com/ja/logs/guide/commonly-used-log-processing-rules/
© 2022 3-shake Inc. 12 datadog agentでフィルタリング • agentで不必要なログはあらかじめ除外する ◦
ログ取り込みに係る料金を減らすため • Goの正規表現構文に従って記載する必要がある ◦ https://regex101.com/ で文法のテストが可能 https://docs.datadoghq.com/ja/agent/logs/advanced_log_collection/?tab=configurationfile https://pkg.go.dev/regexp/syntax logs: - type: file path: /my/test/file.log service: cardpayment source: java log_processing_rules: - type: exclude_at_match name: exclude_datadoghq_users pattern: \
[email protected]
logs: - type: file path: /my/test/file.log service: cardpayment source: java log_processing_rules: - type: include_at_match name: include_datadoghq_users pattern: \
[email protected]
パターンに一致するログを除外する設定 パターンに一致するログを取り込む設定
© 2022 3-shake Inc. 13 Archive / Rehydrate • Archive:
Index化されたかに関わらず全てのログをクラウドストレージに保存する ◦ AWS S3, Azure Storage, Google Cloud Storageに対応 • Rehydrate: Archiveしたログを復元しログエクスプローラーで閲覧・分析できるようにする Rehydrateでは設定している保管期間分の料金がかかります。 Archiveしているログは量が膨大であること が考えられるため、クエリを用いた復元であらかじめログを絞り込んでおくことを推奨。 https://docs.datadoghq.com/ja/logs/archives/rehydrating/ https://docs.datadoghq.com/ja/logs/log_configuration/archives/
© 2022 3-shake Inc. 14 APMとログの関連付け • マイクロサービスの形をとっている場合、分散トレーシングとして APMを使用する •
トレースIDをログにも紐づけることで APMでのパフォーマンス分析にログも使用できるようになる https://docs.datadoghq.com/tracing/other_telemetry/connect_logs_and_traces/
© 2022 3-shake Inc. 15 まとめ ログはトラブルシューティングやシステムの状態監視、監査などの場面での重要なデータソースです。 Datadogはこ れをより良く管理・運用するための機能が提供された便利なツールです。 ただそれ以前に以下のような事項をしっかり定めて周知しておくことが大切です。
• ログの形式・ログレベルの定義 • アプリケーションの役割と振る舞いを踏まえた出し方の方針 • 保持期間 • 保護する秘匿情報の定義 これらを共通認識として開発を進めていくことが、 意味のある役立つログ につながる近道だと考えています。
Thank you