仮想マシンの監視 (仮想化されたネットワーク機能の場合)
このセクションでは、通信オペレーターが仮想化されたネットワーク機能 (VNF) ワークロードを監視するために使用できるオプションのツールについて説明します。 Azure Monitoring エージェント (AMA) を使用すると、VNF を実行している仮想マシン (VM) からログとパフォーマンス メトリックを収集できます。 AMA の前提条件の 1 つは、Arc から Azure への接続 (Azure Arc for Servers を使用) です。
マネージド ID 認証を使用した CLI での拡張機能のオンボード
CLI を使用して VM で監視エージェントを有効にする場合は、適切なバージョンの CLI がインストールされていることを確認します。
- azure-cli: 2.39.0 以降
- azure-cli-core: 2.39.0 以降
- Resource-graph: 2.1.0 以降
Azure CLI 以降のドキュメントで、複数のオペレーティング システムにインストールする方法、および CLI 拡張機能をインストールする方法について説明します。
Arc 接続
Azure Arc 対応サーバーを使用すると、Operator Nexus などのオンプレミス クラウド環境など、Azure の外部でホストされている Linux 物理サーバーと仮想マシンを管理できます。 ハイブリッド マシンとは、Azure で実行されていないマシンです。 ハイブリッド マシンは、Azure に接続されると接続済みマシンになり、Azure 内のリソースとして扱われます。 接続されている各マシンにはリソース ID があり、それによってマシンをリソース グループに含めることができます。
前提条件
開始する前に、必ず前提条件を確認し、ご利用のサブスクリプションおよびリソースが要件を満たしていることを確認してください。 前提条件の一部を次に示します。
- VNF VM は CloudServicesNetwork (VM が Operator Nexus サービスとの通信に使用するネットワーク) に接続されています。
- VNF VM への SSH アクセス権があります。
- プロキシと wget のインストール:
- wget がインストールされていることを確認します。
- プロキシを環境変数として設定するには、次を実行します。
echo "http\_proxy=http://169.254.0.11:3128" \>\> /etc/environment
echo "https\_proxy=http://169.254.0.11:3128" \>\> /etc/environment
- スクリプトの実行、パッケージの依存関係のインストールなどを行うことができる VNF VM に対する適切なアクセス許可があります。詳細については、リンクをご覧ください。
- Azure Arc 対応サーバーを使用するには、次の Azure リソース プロバイダーがサブスクリプションに登録されている必要があります。
- Microsoft.HybridCompute
- Microsoft.GuestConfiguration
- Microsoft.HybridConnectivity
これらのリソース プロバイダーがまだ登録されていない場合は、次のコマンドを使用して登録できます。
az account set --subscription "{Your Subscription Name}"
az provider register --namespace 'Microsoft.HybridCompute'
az provider register --namespace 'Microsoft.GuestConfiguration'
az provider register --namespace 'Microsoft.HybridConnectivity'
展開
手動で一連の手順を実行することで、環境内のサーバーを Arc 接続できます。 VNF VM は、デプロイ スクリプトを使用して Azure に接続できます。 または、提供されているテンプレート スクリプトを実行することで、自動化された方法を使用することもできます。 このスクリプトを使用して、エージェントのダウンロードとインストールを自動化できます。
この方法では、エージェントをインストールおよび構成するために、マシンに対する管理者権限が必要です。 Linux マシンでは、ルート アカウントを使用して、必要な agentry をデプロイできます。
ダウンロードとインストールを自動化し、Azure Arc との接続を確立するスクリプトは、Azure portal から入手できます。 次の手順を使用して、プロセスを完了します。
お使いのブラウザーで Azure portal に移動します。
[メソッドを選択してください] ページで、[単一のサーバーを追加] タイルを選択し、[スクリプトの生成] を選択します。
[前提条件] ページで、[次へ] を選択します。
[リソースの詳細] ページで、次の情報を設定します。
[サブスクリプション] ドロップダウン リストで、マシンを管理するサブスクリプションを選択します。
[リソース グループ] ドロップダウンの一覧で、マシンを管理するリソース グループを選択します。
[リージョン] ドロップダウンの一覧で、サーバーのメタデータを格納する Azure リージョンを選びます。
[オペレーティング システム] ドロップダウン リストで、VNF VM のオペレーティング システムを選択します。
コンピューターがプロキシ サーバー経由の通信でインターネットに接続する場合は、プロキシ サーバーの IP アドレスを指定します。 名前とポート番号を使用する場合は、その情報を指定します。
タグを選択します。
[タグ] ページで、提案されている既定の物理的な場所のタグを確認し、値を入力するか、カスタム タグを 1 つ以上指定して標準をサポートします。
[Next:Download and run script](次: スクリプトをダウンロードして実行する) を選択します。
[Download and run script]\(次: スクリプトをダウンロードして実行する\) ページで概要情報を確認し、[ダウンロード] を選択します。 引き続き変更が必要な場合は、[前へ] を選択します。
注:
- エラー フラグ時の終了をスクリプトの先頭に設定して早めに失敗となるようにし、最後まで誤ったまま処理しないようにします。 たとえば、シェル スクリプトでは、スクリプトの先頭に "set -e" を使用します。
- スクリプトに export http_proxy=<PROXY_URL> と export https_proxy=<PROXY_URL> を Arc 接続スクリプトのエクスポート ステートメントと共に追加します。 (プロキシ IP - 169.254.0.11:3128)。
azcmagent
をサーバーにデプロイするには、ルート アクセス権を持つアカウントを使用してサーバーにサインインします。 スクリプトをコピーしたフォルダーに移動し、./OnboardingScript.sh スクリプトを実行することでサーバー上でそのスクリプトを実行します。
セットアップの完了後にエージェントが起動しない場合は、詳細なエラー情報のログを確認します。 ログ ディレクトリは /var/opt/azcmagent/log
です。
エージェントをインストールし、Azure Arc 対応サーバーに接続するように設定した後、Azure portal でサーバーが正常に接続されていることを確認します。
図: Arc 登録済み VM のサンプル
トラブルシューティング
注: スクリプトの実行中にエラーが発生した場合は、次の手順に進む前に、エラーを修正してスクリプトを再実行してください。
一般的なエラーの原因:
- 必要なアクセス許可がありません。
- wget パッケージが VM にインストールされていません。
- パッケージの依存関係のインストールに失敗した場合は、プロキシに必要なドメインが許可 URL に追加されていません。 たとえば、Ubuntu では、apt が ".ubuntu.com" に到達できないため、依存関係のインストールに失敗します。 必要なエグレス エンドポイントをプロキシに追加します。
Azure Monitor エージェント
Azure Monitor エージェントは、Azure VM 拡張機能 ver Arc 接続マシンとして実装されます。 また、エージェントが収集するデータを定義するデータ収集ルールとの関連付けを作成するためのオプションも示します。 Azure Monitor エージェント をインストール、アップグレード、アンインストールする場合、サーバーを再起動する必要はありません。
データ収集ルールを使用して、ログとメトリックの収集を構成してください。
図: ソースを追加する DCR
注: DCR で構成されたメトリックは、まだ Azure Monitor メトリックでサポートされていないため、宛先が Log Analytics ワークスペースに設定されている必要があります。
図: DCR の宛先の追加
前提条件
Azure Monitor エージェントをインストールする前に、次の前提条件を満たす必要があります。
- アクセス許可: Azure portal 以外の方法でエージェントをインストールする場合は、次のロールの割り当てが必要です。
組み込みのロール | スコープ | 理由 |
---|---|---|
仮想マシン共同作成者 Azure Connected Machine リソース管理者 | Azure Arc 対応サーバー | エージェントをデプロイするため |
アクション Microsoft.Resources/deployments/ を含む任意のロール* | サブスクリプションおよび/またはリソース グループおよび/または | Azure Resource Manager テンプレートをデプロイするには |
Azure Monitoring エージェントのインストール
仮想マシンが Arc に接続された後、プロキシ情報を提供するために、Azure Cloud Shell から "settings.json" という名前のローカル ファイルを作成します。
図: settings.json ファイル
次のコマンドを使用して、これらの Azure Arc 対応サーバーに Azure Monitoring エージェントをインストールします。
az connectedmachine extension create --name AzureMonitorLinuxAgent --publisher Microsoft.Azure.Monitor --type AzureMonitorLinuxAgent --machine-name \<arc-server-name\> --resource-group \<resource-group-name\> --location \<arc-server-location\> --type-handler-version "1.21.1" --settings settings.json
Azure Monitor エージェントを使用して仮想マシンからデータを収集するには、次の手順を実行します。
Azure Monitor エージェントがどのデータをどの送信先に送信するかを定義するデータ収集ルール (DCR) を作成します。
データ収集ルールを特定の仮想マシンに関連付けます。
ポータルを使用したデータ収集ルール
DCR を作成して Log Analytics ワークスペースに関連付ける手順については、こちらをご覧ください。
最後に、指定された Log Analytics ワークスペースでログが取得されているかどうかを確認します。
CLI を使用したデータ収集ルール
これらの仮想マシンからログとメトリックを収集できるようにするために、DCR を作成して関連付けるコマンドを次に示します。
DCR の作成:
az monitor data-collection rule create --name \<name-for-dcr\> --resource-group \<resource-group-name\> --location \<location-for-dcr\> --rule-file \<rules-file\> [--description] [--tags]
ルールファイルの例:
DCR の関連付け:
az monitor data-collection rule association create --name \<name-for-dcr-association\> --resource \<connected-machine-resource-id\> --rule-id \<dcr-resource-id\> [--description]
その他のリソース
- ブックのドキュメントを確認し、Operator Nexus テレメトリのサンプルの Operator Nexus ブックを使用できます。
- Azure Monitor アラート、Azure Monitor アラート ルールの作成方法を確認し、サンプルの Operator Nexus Alert テンプレートを使用します。