はじめに
DynatraceでAzure Kubernetes Serviceを監視してみたいと思います。ドキュメントは少々分かりにくいので順を追って説明していきます。
前提条件
Dynatraceのセットアップが完了していること。
-
DynatraceでAzureを監視してみる。セットアップから仮想マシンの死活監視まで。 - 技術的な何か。
はじめに 最近Dynatraceという監視のソフトウェアをよく耳にするようになってきました。まだ、日本市場での認知度は少ないようですが、Azureへの対応もされているので仮想マシンの監視を試してみたい
level69.net
Azure Kubernetes Service(以下 AKS)が構築されてkubectlで展開が行えること。
-
クイック スタート: Azure CLI を使用して Azure Kubernetes Service (AKS) クラスターをデプロイする - Azure Kubernetes Service | Microsoft Learn
Kubernetes クラスターのデプロイ、および Azure Kubernetes Service (AKS) でのアプリケーションのデプロイを、Azure CLI を使用して迅速に行う方法について ...
docs.microsoft.com
AKSを登録
基本的な手順はドキュメント通りですが、分かりにくい部分もあったので説明していきたいと思います。Dynatraceの推奨設定で行います。
-
Deployment — Dynatrace Docs
Deploy Dynatrace Operator on Kubernetes
www.dynatrace.com
手順は以下になります。
- Tokenの作成
- kubectlでDynatrace Operatorを展開
Tokenの作成
実はここが一番ハマりました。
左メニューの一番下にあるアクセストークンを開きます。
注意することは、左メニューのKubernetesはまったく関係ないです。これも進めるとTokenの作成画面に行きつきますが違います。
設定のIntegration→Accrss tokensでもありません。
アクセストークンを開き、トークンを作成します。
- トークン名:任意
- スコープの検索で必要な権限を与えます
- 下記で検索してチェックを入れると追加されます
- Access problem and event feed, metrics, and topology
- Read configuration
- Write configuration
- PaaS integration - Installer download
- Read Entities(Opetion)
作成時に一度だけ表示されるトークンはメモしておきます。
アクセストークンは推奨されているOneAgentの展開方法では上記の権限の1つで問題ありません。
- classicFullStack
ただし、以下のOneAgentでは下記のほかにもう一つアクセストークンが必要になります。
- applicationMonitoring
- hostMonitoring
- cloudNativeFullStack(プレビュー)
Data Ingest Tokenです。
下記のスコープで権限を与え、別途トークンを作成します。
- Ingest Metrics
今回は、classicFullStackで展開します。
-
GitHub - Dynatrace/dynatrace-operator: Automate Kubernetes observability with Dynatrace
Automate Kubernetes observability with Dynatrace. Contribute to Dynatrace/dynatrace-operator develop ...
github.com
AKSにDynatraceを展開
以下でAKSに展開します。
ネームスペースの作成
kubectl create namespace dynatrace
Dynatrace Operatorの展開
kubectl apply -f https://github.com/Dynatrace/dynatrace-operator/releases/latest/download/kubernetes.yaml
トークンの設定(<トークン>は上記で確認したトークンを入れます。)
kubectl -n dynatrace create secret generic dynakube --from-literal="apiToken=<トークン>"
下記よりclassicFullStack.yamlをダウンロードしてきます。
-
dynatrace-operator/config/samples at v0.4.2 · Dynatrace/dynatrace-operator · GitHub
Automate Kubernetes observability with Dynatrace. Contribute to Dynatrace/dynatrace-operator develop ...
github.com
ダウンロード後、以下を編集します。
ENVIROMENTIDはダッシュボードのURLの最初にあるiax2384102みたいなやつです。
kubectl apply -f classicFullStack.yaml
以上ですべての展開が完了です。
すべてのPodsが立ち上がったことを確認します。
kubectl get po -n dynatrace
サンプルアプリケーションの導入
AKSに展開しただけではイメージはつかめないと思いますのでサンプルのアプリケーションを展開します。
サンプルはAKSのドキュメント内のサンプルです。
-
Kubernetes on Azure チュートリアル - Azure Kubernetes Service (AKS) 用のアプリケーションを準備する - Azure Kubernetes Service | Microsoft Learn
この Azure Kubernetes Service (AKS) チュートリアルでは、Docker Compose を使用して複数コンテナー アプリを準備およびビルドする方法を説明します。その後、A ...
docs.microsoft.com
サンプルをダウンロードしてきます。
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
cd azure-voting-app-redis
AKSにアプリケーションを展開します。
kubectl apply -f azure-vote-all-in-one-redis.yaml
確認
Dynatraceの画面を確認します。
最初にホストが登録されていることを確認します。
AKSのノードが確認できます。
テクノロジーとプロセスを確認するとさらに詳細が確認できます。プロセスが確認できたります。
トポロジーを表示することも可能です。
他にもいろいろを表示ができますが、今回は登録するまでです。
まとめ
DynatraceでAKSを監視する方法を紹介しました。基本的にはプラットフォームに依存することなくKubernetes を監視運用できるの便利かと思います。
DatadogやNew Relicなどに比べ見やすいような気がします。visualizationはDynatraceが一歩上手な気がします。