
StatsD(スタッツディー)は、2011年にEtsy社が公開したシンプルなメトリクス送信プロトコル兼ノードデーモンで、アプリケーションからUDP経由でカウンタやタイマー、ゲージなどを送るための事実上の標準として広く普及しました。テキストベースの簡潔な仕様、UDPによる極めて低いオーバーヘッド、各種言語クライアントの充実、そしてDatadog/Graphite/Prometheus/Telegrafなど多数のバックエンドが対応している点が、現在でも多くの環境で生き続けている理由です。
この記事の目次
- StatsDの誕生背景と特徴
- PrometheusやOTelとの関係
- DogStatsDなど派生規格
- StatsD運用のポイント
- まとめ
StatsDの誕生背景と特徴

StatsDは、Etsy社が自社の「すべてを計測する」文化を支える基盤として2011年に開発し、オープンソース化しました。アプリケーション側はUDPで「メトリクス名:値|種別」という形式の1行を送るだけでよく、ライブラリも非常に薄いため、ホットパスに計測を仕込んでもアプリの性能をほとんど損なわない点が画期的でした。UDPゆえに到達保証はありませんが、観測指標の用途では多少の欠損は許容され、それよりも開発者が気軽に計測コードを書ける文化が重視されました。
サポートするメトリクス種別は、カウンタ(Counter)、タイマー(Timer)、ゲージ(Gauge)、セット(Set)、ヒストグラム(Histogram、実装依存)など。タイマーはレスポンスタイムなどの分布を扱うのに便利で、サーバー側で平均・中央値・95パーセンタイルなどに集計されます。仕様がシンプルなため拡張も容易で、後発のクライアントやサーバーが独自にラベル(タグ)をサポートしてきました。
PrometheusやOTelとの関係

Prometheusはプル型のメトリクスシステムで、StatsDのプッシュ型と方向性が逆ですが、両者をブリッジするためのアダプタが存在します。代表的なものに「statsd_exporter」があり、UDPで送られてきたStatsDメトリクスをPrometheus形式に変換してExposerします。これにより、レガシーアプリのStatsD計装をPrometheus環境にスムーズに取り込むことが可能です。
また、OpenTelemetry Collectorにも「StatsDレシーバ」が存在し、StatsDで送られたデータをOTLP形式に変換して各種バックエンドへ送信できます。Datadog、Telegraf、Vector、Graphiteなど多くのツールがStatsD互換の入力をサポートしており、過去に書かれた計装コードを大きく書き直すことなくモダンな可観測性基盤に統合できる点は、StatsDが今でも現役で使われ続ける大きな理由です。
DogStatsDなど派生規格

標準のStatsD仕様は機能が限定的なため、Datadog社がタグ・ヒストグラム・イベントなどを拡張した「DogStatsD」を公開しました。これはStatsD互換の上にカンマ区切りでタグを付与する形を取り、多次元的なメトリクス表現を可能にします。Telegrafなどの他ツールでも類似のタグ拡張がサポートされ、多くのStatsD互換ツールが事実上のDogStatsD互換を提供しています。
これにより、現代のラベル中心の可観測性パラダイムにもStatsDは追随しており、Kubernetes環境などで「サービス名」「ホスト」「環境」「バージョン」といった多次元の切り口で集計するユースケースに対応できます。一方で、サンプリング設定やUDPバッファのチューニングが甘いと取りこぼしが起きやすいため、計測の精度に対する要件次第ではTCPベースの仕組みやOTel計装を併用する判断も必要です。
StatsD運用のポイント

StatsDを本番運用する場合の典型的なチューニングポイントは、OSのUDPバッファサイズと、アプリケーション側のサンプリング設定です。バッファが小さいとピーク時にパケットドロップが発生し、メトリクスが欠損します。サンプリング比はリクエスト数が膨大なメトリクスで有効ですが、低頻度の指標に対して使うと統計的に意味のある結果を得にくくなるため使い分けが必要です。
また、メトリクス名の命名規約を統一しておかないと、後からタグ移行や集計ルール変更が難しくなります。サービス名→領域→指標名のような階層を意識し、ピリオドまたはドット区切りで論理的に整理するのが定石です。バックエンドの選定では、まずは既存のPrometheus環境にstatsd_exporterで接続するか、新規にDatadogなどSaaSへ送るかで設計が大きく変わります。要件を明確にしてから設計に入ることが、長期的に扱いやすい計測基盤につながります。
まとめ
StatsDは、2011年のEtsyによる公開以来、シンプルな仕様と圧倒的な対応の広さによって長く愛され続けている計測プロトコルです。Prometheus/OpenTelemetryといった現代的なエコシステムとも各種アダプタを介して連携でき、レガシーな計装をモダンな可観測性基盤に取り込むうえで実用的な選択肢となります。タグ拡張のDogStatsDなどを活用しつつ、現代的なラベル中心の運用にも十分に対応可能です。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント