Slide 1

Slide 1 text

1 Masaki Takeya, Kyndryl CRE & SRE Leader November 20, 2024 レガシーシステムへの 導入奮闘記

Slide 2

Slide 2 text

2 About Me Masaki Takeya 所属部門: 1st Line Manager of Advanced Delivery, Kyndryl Japan プロフェッション: Site Reliability Engineer 専門領域: Ansible, AWS, Datadog, Agile, SRE, DevOps 資格取得: 私の主成分はこちら!

Slide 3

Slide 3 text

3 About Company 2021年にIBMから独立し、テクノロジー・サービスの新会社として誕生。 新しい会社でありながら2兆円規模で、 全世界で約9万人の従業員を抱える世界最大級のグローバルIT企業です。 世界最大のITインフラサービスプロバイダー

Slide 4

Slide 4 text

4 私が担当するお客様環境のITアーキテクチャ AWS Cloud Datadog Datadog agent & tracer Synthetic Monitoring On-prem DC Amazon CloudWatch Metrics Logs Alarms Compute layer Data layer UI and Storage layer App Server (Unix) Database Datadog agent Datadog tracer Datadog agent Collector Datadog agent Team Notification Metrics Logs Dashboards Traces Anomalies Alert Synthetics Watchdog TM AWS Integration (CW Metrics / Events / Tags) Real User Monitoring Metrics Trace Log Fluent Bit AWS Integration (Managed Service Log) Metrics Datadog agent Trace Metrics Log

Slide 5

Slide 5 text

5 今日のテーマはこちら! オンプレミス環境におけるDatadog導入の苦労話 AWS環境でのDatadog活用や新機能も話したいけど・・・ よりニッチな環境でのDatadog活用の苦労話を共有して、 改めてDatadogの素晴らしさを知るのも逆に面白い!?

Slide 6

Slide 6 text

6 DatadogへのAPMトレース送信 - Unixサーバー編 - • Unix用のDatadog AgentはAPMトレース収集機能を持たないため、 別途Linuxサーバー等でDatadog Agentを構築する必要がある。 • Linux用Agentの datadog.yaml の apm_config セクションで apm_non_local_traffic: true を設定し、別サーバーからのAPMト レースを収集できるようにする。(これにより 127.0.0.1:8126 で LISTENしていたものが *:8126 でLISTENするようになる) Datadog On-prem DC App Server (Unix) Database Datadog agent Datadog tracer Datadog agent Collector (Linux) Datadog agent Traces ## @param receiver_port - integer - optional - default: 8126 ## @env DD_APM_RECEIVER_PORT - integer - optional - default: 8126 ## The port that the trace receiver should listen on. ## Set to 0 to disable the HTTP receiver. # # receiver_port: 8126 ## @param receiver_socket - string - optional ## @env DD_APM_RECEIVER_SOCKET - string - optional ## Accept traces through Unix Domain Sockets. ## It is off by default. When set, it must point to a valid socket file. # # receiver_socket: ## @param apm_non_local_traffic - boolean - optional - default: false ## @env DD_APM_NON_LOCAL_TRAFFIC - boolean - optional - default: false ## Set to true so the Trace Agent listens for non local traffic, ## i.e if Traces are being sent to this Agent from another host/container # # apm_non_local_traffic: false datadog.yaml ファイル apm_config セクション抜粋: ← trueに変更する Trace

Slide 7

Slide 7 text

7 Datadogへのログ送信 - Unixサーバー編 - • Unix用のDatadog Agentはログ転送機能を持たないため、別途 Datadog APIを実行するLog forwarderを開発する必要がある。 • エージェント構成ディレクトリ (/etc/datadog-agent/conf.d/) に、 dd-agent ユーザーがアクセス可能な新規ディレクトリ (.d) をログソースごとに作成し、その 下に設定ファイル conf.yaml を作成し、収集対象ログを定義する。 Datadog On-prem DC App Server (Unix) Database Datadog agent Datadog tracer Datadog agent Log Logs Datadog Log forwarder logs: - type: file path: "/.log" service: "" source: ""

Slide 8

Slide 8 text

8 まとめ レガシーシステムに対しても(頑張れば)Datadog導入はできる! 全てのサービスに一貫したタグを手動で適用する必要がある ので、メトリクス、トレース、ログを同一画面上で参照すること が非常に手間。早くオンプレミス環境をAWSに移行したい…

Slide 9

Slide 9 text

9