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

SMTPでのOpenTelemetryの可能性を考えてみる

ryuichi1208
May 09, 2024
2.8k

 SMTPでのOpenTelemetryの可能性を考えてみる

ryuichi1208

May 09, 2024
Tweet

Transcript

  1. 技術部プラットフォームグループ 2021年 中途入社 2 自己紹介 渡部 龍一 Watanabe Ryuichi •

    ロール: SRE、メールエンジニア(自称) • SNS: @ryuichi_1208 • 好きなこと: EOL対応、障害対応
  2. 5 送信者 MTA MDA MTA MDA SMTP SMTP MXレコード 問い合わせ

    DNSサーバ 宛先: [email protected] 送信元サーバ 送信先サーバ mail box 受信者
  3. 11 • 送信⽤メールクライアント⾃体がバグっている • アプリケーションのバグ • ウイルス判定されている • リレー設定のミス •

    メールサーバのサービスが⽌まっている • IPレピュテーションの低下によって送信先で拒否されている • 送信先のメールサーバで拒否する設定になっている 考えられる原因
  4. 15 • アプリケーションでtrace idを発⾏してヘッダーに挿⼊する ◦ traceparentをメールヘッダーに⼊れる • Postfixでは、Milterと呼ばれるAPIが提供されている ◦ 「mail

    filter」の略 ▪ Rspamd / clamav-milter ◦ SMTPプロトコル処理の各段階をフックできる ▪ DATAコマンドやMAIL FROMコマンドの各フェーズでトレースの送信ができる ◦ Milterでアトリビュートを⼊れつつtraceを送信 trace
  5. 16 • Postfixではメールヘッダーをログに書き出すことができる ◦ /etc/postfix/header_checksあたりに追記 ▪ /^Received:/ PREPEND traceparent: $traceparen

    ▪ td-agentからlokiなりのOtel Backendに送信して連携 • Milterでログを出⼒して送信する⽅針でも良い ◦ 送信元や送信ステータスを属性として出⼒ log