はじめに
本記事はDynatraceによるKubernetes環境の監視の仕方について解説した記事になります。
Kubernetesを試しに導入してみたけれど、どうやって監視すれば良いのか、そもそもKubernetesの何を監視すれば良いのかわからない方も多いのではないでしょうか。
また、監視の仕方を調べても知らない用語が出てきたり、別の監視ツールが必要になりそういうことはわかってもその導入方法や設定方法を調べるのに非常に苦労していないでしょうか。
Dynatraceは非常に簡単に導入することができ、デフォルトで必要な設定がされているため監視を始めるための工数を大幅に減らすことが可能です。
本記事では、DynatraceによるKubernetesの監視方法について紹介していきたいと思います。
15日間の無料トライアルを利用することができるので、自分の環境でも簡単に試してみることができます。
Dynatraceフリートライアル
Kubernetes環境
今回はAWS EC2インスタンス上にUbuntu Serverを立てそこにMicroK8sを導入します。
ubuntu@ip-10-0-11-229:~$ uname -a
Linux ip-10-0-11-229 5.8.0-1042-aws #44~20.04.1-Ubuntu SMP Mon Aug 2 11:25:34 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
MicroK8sのインストール手順
すでにKubernetesの環境がある方はスキップしてください。
- パッケージの更新とタイムゾーンの変更
sudo sh -c "
DEBIAN_FRONTEND="noninteractive" && \
apt update && \
apt -y upgrade && \
timedatectl set-timezone Asia/Tokyo && \
reboot
"
- MicroK8sのインストールと初期設定
詳細は公式サイトのドキュメントを確認していただくとして、ここでは簡単に手順だけ記載しておきます。
microk8s kubectl
コマンドですとOperatorをインストールする際のスクリプトが対応できないので、kubectl
コマンドも併せてインストールします。
sudo snap install microk8s --classic
sudo snap install kubectl --classic
sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube
また、補完の設定を実施し、一度ログアウト
してから再度ログイン
します。
echo "source <(kubectl completion bash)" >> ~/.bashrc
以下のコマンドでrunning
状態か確認します。
ubuntu@ip-10-0-11-78:~$ microk8s status --wait-ready
microk8s is running
<略>
ubuntu@ip-10-0-11-78:~$ microk8s kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-10-0-11-78 Ready <none> 10m v1.21.3-3+90fd5f3d2aea0a
アドオンを有効化します。
microk8s enable dns ingress rbac storage
最後にkubectl
コマンドでクラスタ操作できるように設定します。
microk8s config > ~/.kube/config
これでkubernetesの環境構築は終了です。
Dynatrace Operatorのデプロイ
ここからはDynatrace側で監視をするためのOperatorの導入作業を実施します。
スクリーンショット多めなので、長く思えますがやることはとても簡単です。
デプロイ
左のメニューからManage
- Deploy Dynatrace
を開きます。
Start Installation
ボタンをクリックします。
Download Dynatrace OneAgentのページが開きますので、今回はKubernetes
をクリックします。
Monitor Kubernetes / OpenShiftのページが開きます。
Name
にクラスタ名を入力し、Create Tokens
ボタンをクリックします。
**Execute the following command in your terminal:**の下にOperatorをインストールするためのコマンドが表示されますので、Copy
をクリックします。
Dynatrace Operatorのインストール
Ubuntuのターミナルに戻って、先ほどのコマンドをペーストします。
Kubernetes monitoring successfully setup.
と表示されれば無事にインストールが完了します。
左のメニューからManage
- Deployment status
を開きます。
OneAgents
を選択すると先ほどインストールしたホストが表示されます。(すぐに表示されない場合は2,3分お待ちください)
複数ノードから構成されている場合、全てのノードがここに表示されます。
また、ActiveGate
を選択するとdynakube-kubemon-0
とdynakube-routing-0
の2つが表示されます。
イベント取得の設定
KubernetesのEvent情報の取得については、2021年8月現在、Early adopter機能となりますためデフォルトでは有効になっておりません。
また、APIサーバーのSSL証明書に自己署名証明書を使用している場合は、クラスタ表示画面で以下のような警告メッセージが表示されるため、SSL証明書のチェックを無効にします。
左のメニューからManage
- Settings
を開きます。
Cloud and virtualization
の配下にあるKubernetes
をクリックします。
設定を変更したいクラスタの右側に表示されているペンシルアイコンをクリックします。
Require vaild certificates for communication with API server (recommended)
のチェックを外します。
下にスクロールし、Monitor events
、Opt in to the Kubernetes events feature for analysis and alerting
、include all events relevant for Davis
の3つを有効にし、Save
ボタンをクリックします。
お疲れ様でした!以上でDynatraceによるKubernetesの監視を開始することができました!
Kubernetesのモニタリング
左のメニューからObserve and explore
- Dashboards
を開くとデフォルトでKubernetesに関連したダッシュボードが3つ作られていることが確認できます。
それぞれ以下のようなイメージになります。クラスタもノードも1つだけでさみしい感じですが、、、
これらをベースにダッシュボードをカスタマイズすることも可能ですので、ぜひ試してみてください!
次回は、実際にKubernetes上にアプリケーションを立ち上げて、Dynatraceからどのように見えるのか紹介したいと思います。