EKS に Datadog Agent をインストールして監視してみた
EKS(on EC2) を Datadog で監視する際の使用感を見てみたかったので、Agent をインストールして各種ダッシュボードを見てみました。あわせてログも取り込んでみました。
インストールしてみる
Integrations > Agent > Kubernetes に記載の手順で helm を利用してインストールすることが可能です。
API Key は Select API Keys
から選択することで、コピペ用のコマンドに埋め込まれました。楽ちんですね。
Datadog は 2023 年 4 月に日本リージョンが追加されたので、今回はそちらを利用してみました。
下記リンク先のサイトパラメータを指定することで、利用リージョンを指定可能です。
実際にインストールしていきます。
helm repo add datadog https://helm.datadoghq.com helm repo update curl -O https://raw.githubusercontent.com/DataDog/helm-charts/master/charts/datadog/values.yaml
ログも取り込みたかったので、下記パラメータをデフォルト値から true に変更します。
datadog: logs: enabled: true containerCollectAll: true
helm install を実行します。
helm install datadog -f values.yaml --set datadog.site='ap1.datadoghq.com' --set datadog.apiKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX datadog/datadog
正しくインストールできると、Service Mgmt > Event Management に Datadog agent (v. xxx) started on xxx と表示されます。
各 Node の情報を確認してみます。
Node のリソースをどのコンテナが消費しているかも簡単に確認可能です。
Pod ごとのダッシュボードも最初から利用できました。
CPU 使用率やメモリ使用率、CrashLoopBackOff や Container OOM Killed の数などとりあえず見たい情報はすぐに確認できて良い感じです。
ログも取り込みできていました。
エラーログの数も視覚的にわかって便利です。
今回は Amazon EBS CSI ドライバーがスナップショット機能を使用する際に利用する Snapshotter がインストールされていないことでエラーになっていたので、external-snapshotter をインストールして解消しました。
まとめ
簡単にインストールできて、すぐに監視できるのは本当に良いですね。
できることが多く、やれることを全然把握できていないので今後も触ってみます。