Kubernetes(K8s)という荒波の中で、システムが「今、何を感じ、何に苦しんでいるのか」を正確に把握するのは容易ではありません。多くのエンジニアが「メトリクスは見ているが、本当の異常には気づけない」という地獄に陥ります。
今日は、その混沌を静寂に変えるための鍵、Datadog Cluster Agentの構築術を伝授します。単なるインストール手順ではありません。世界中の現場で鍛え抜かれた「オブザーバビリティの神髄」を、ここに凝縮しました。
—
1. なぜ「Cluster Agent」が必要なのか?(本質的理解)
K8s監視で初心者が陥る罠は、すべてのノードに「Node Agent」だけをバラ撒くことです。しかし、これではK8sのAPIサーバーに過剰な負荷がかかり、メトリクスの収集効率も悪化します。
Cluster Agentの役割は「司令塔」です。
- APIサーバーの負荷軽減: 監視対象のメタデータ収集を一手に引き受け、APIサーバーへのクエリを最適化します。
- オートスケーリングの連携: HPA(Horizontal Pod Autoscaler)と連携し、CPU/メモリ以外の「ビジネス指標」でスケーリングさせるための架け橋となります。
- 責務の分離: 「ノードの監視」と「クラスター全体の俯瞰」を分離することで、監視基盤自体がボトルネックになるのを防ぎます。
—
2. 構築のベストプラクティス:Helmによるデプロイ
Datadogの導入には「Helm」一択です。手動のYAML管理は、障害発生時にあなたを裏切ります。
事前準備
Datadog API KeyとApp KeyをSecretとして作成しておきましょう。
kubectl create secret generic datadog-secret \
–from-literal=api-key=
–from-literal=app-key=
`values.yaml` の極意
ただインストールするのではなく、「ノイズを排除し、必要なデータだけを正確に拾う」設定が肝です。
values.yaml の核心部分
datadog:
apiKeyExistingSecret: datadog-secret
appKeyExistingSecret: datadog-secret
clusterName: production-cluster-01 # 必須。これがないと死ぬ気で後悔します
clusterAgent:
enabled: true
replicas: 2 # 高可用性のため、最低2つは立てるのがプロの作法
metricsServer:
enabled: true # K8sのメトリクスサーバーと連携し、精度を高める
agents:
image:
tag: latest
podAnnotations:
ad.datadoghq.com/nginx.check_names: ‘[“nginx”]’ # 自動検出の魂
—
3. 「HelloWorld」的な動作確認の極意
インストールして終わりではありません。「正しく見えているか」を確認するまでが監視です。
1. Agentの生存確認:
`kubectl get pods -n
2. リーダー選出の確認:
Cluster Agentのログを確認し、リーダーが選出されているかチェックしてください。
`kubectl logs
3. Datadog画面でのメトリクス確認:
Datadogの「Metrics Explorer」で `kubernetes.cpu.usage.total` を検索してください。グラフが描画されれば、あなたのクラスターは息を吹き返した証拠です。
—
4. 現場で役立つ「予兆検知」の定石
監視のゴールは「アラートを鳴らすこと」ではなく「ユーザーに影響が出る前に手を打つこと」です。
- CrashLoopBackOffを即死検知する:
ログ監視を組み合わせて、「再起動回数」が閾値を超えたらSlackに通知を飛ばしましょう。
- リソースの「余白」を監視する:
CPU使用率そのものより、「Request(予約量)に対する実使用量の割合」を見てください。これが100%に近づく時、あなたのサービスはいつダウンしてもおかしくない状態です。
—
先輩エンジニアからの最後のアドバイス
監視ツールは「魔法の杖」ではありません。「何を知りたいか」という問いが鋭ければ鋭いほど、Datadogは驚くほど雄弁にクラスターの深淵を語りかけてくれます。
まずはこのCluster Agentを構築し、ダッシュボードに表示される「緑色のライン」を愛でることから始めてください。それが、運用という泥沼から抜け出し、システムを支配するエンジニアへの第一歩です。
設定で詰まったら、いつでも戻ってきてください。私たちは、システムという名の生き物と対話する旅の途上にいるのですから。