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
200
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
510
システム担当者のためのクラウドとコンテナライゼーション ~効果を最大化する思考~
koh_naga
0
200
AWS Load balancer controller使用下でのAWSリソースのライフサイクル分離
koh_naga
0
480
Other Decks in Programming
See All in Programming
KotlinConf 2025 現地参加の土産話
n_takehata
0
100
Passkeys for Java Developers
ynojima
3
860
データベースコネクションプール(DBCP)の変遷と理解
fujikawa8
1
260
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
220
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
130
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
320
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
600
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
120
C++20 射影変換
faithandbrave
0
490
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
110
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
120
複数アプリケーションを育てていくための共通化戦略
irof
10
3.9k
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Raft: Consensus for Rubyists
vanstee
140
7k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Thoughts on Productivity
jonyablonski
69
4.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
What's in a price? How to price your products and services
michaelherold
245
12k
How STYLIGHT went responsive
nonsquared
100
5.6k
Producing Creativity
orderedlist
PRO
346
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
For a Future-Friendly Web
brad_frost
179
9.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
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