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
470
システム担当者のためのクラウドとコンテナライゼーション ~効果を最大化する思考~
koh_naga
0
180
AWS Load balancer controller使用下でのAWSリソースのライフサイクル分離
koh_naga
0
450
Other Decks in Programming
See All in Programming
Modern Angular with Signals and Signal StoreNew Rules for Your Architecture @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
130
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
260
Ça bouge du côté des animations CSS !
goetter
2
170
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
310
Introduction to C Extensions
sylph01
3
130
バッチを作らなきゃとなったときに考えること
irof
2
560
CIBMTR振り返り+敗北から学ぶコンペの取り組み方反省
takanao
1
220
The Price of Micro Frontends… and Your Alternatives @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
270
運用しながらリアーキテクチャ
nealle
0
210
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
190
はじめてのIssueOps - GitHub Actionsで実現するコメント駆動オペレーション
tmknom
4
790
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
310
Featured
See All Featured
Statistics for Hackers
jakevdp
797
220k
The Cult of Friendly URLs
andyhume
78
6.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
We Have a Design System, Now What?
morganepeng
51
7.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Faster Mobile Websites
deanohume
306
31k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
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