Azure

DynatraceでAzureを監視してみる。Azure Kubernetes Serviceを監視してみる。

はじめに

DynatraceでAzure Kubernetes Serviceを監視してみたいと思います。ドキュメントは少々分かりにくいので順を追って説明していきます。

前提条件

Dynatraceのセットアップが完了していること。

DynatraceでAzureを監視してみる。セットアップから仮想マシンの死活監視まで。 - 技術的な何か。
DynatraceでAzureを監視してみる。セットアップから仮想マシンの死活監視まで。 - 技術的な何か。

はじめに 最近Dynatraceという監視のソフトウェアをよく耳にするようになってきました。まだ、日本市場での認知度は少ないようですが、Azureへの対応もされているので仮想マシンの監視を試してみたい

level69.net

Azure Kubernetes Service(以下 AKS)が構築されてkubectlで展開が行えること。

クイック スタート: Azure CLI を使用して Azure Kubernetes Service (AKS) クラスターをデプロイする - Azure Kubernetes Service | Microsoft Learn
クイック スタート: 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
Deployment - Dynatrace Docs

Deploy Dynatrace Operator on Kubernetes

www.dynatrace.com

手順は以下になります。

  1. Tokenの作成
  2. 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
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
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
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が一歩上手な気がします。

-Azure
-,