Linux Update エージェントに関する問題のトラブルシューティング
重要
Log Analytics エージェントを使用した変更履歴とインベントリは 2024 年 8 月 31 日に廃止されます。新しいサポート エージェントとして Azure Monitoring Agent を使用することをお勧めします。 Log Analytics を使用する変更履歴とインベントリから Azure Monitoring Agent バージョンを使用した変更履歴とインベントリへの移行については、こちらのガイダンスに従ってください。
Update Management にマシンが準備完了 (正常) と表示されない理由は多数存在する可能性があります。 Linux Hybrid Runbook Worker エージェントの正常性を検査して、背後にある問題を特定できます。 マシンの 3 つの準備状態を次に示します。
- 準備完了: Hybrid Runbook Worker が展開され、最後に表示されてからの経過時間が 1 時間未満である。
- 切断: Hybrid Runbook Worker が展開され、最後に表示されてからの経過時間が 1 時間以上である。
- 未構成: Hybrid Runbook Worker が見つからないか、デプロイが終了していない。
Note
Azure portal に表示される内容とマシンの現在の状態の間で、わずかに遅延が発生する可能性があります。
この記事では、Azure portal から Azure マシンを対象として、また、オフラインのシナリオで Azure 以外のマシンを対象としてトラブルシューティング ツールを実行する方法について説明します。
Note
このトラブルシューティング スクリプトでは現在、プロキシ サーバーが構成されている場合、プロキシ サーバー経由でトラフィックがルーティングされません。
トラブルシューティングの開始
Azure マシンの場合は、ポータルの [Update Agent Readiness]\(Update エージェントの準備\) 列にある [トラブルシューティング] リンクを選択すると、[Troubleshoot Update Agent]\(Update エージェントのトラブルシューティング\) ページが起動します。 Azure 以外のマシンの場合は、リンクをクリックすると、この記事が表示されます。 Azure 以外のコンピューターのトラブルシューティングについては、「 オフライン トラブルシューティング 」セクションの手順を参照してください。
Note
検査を行うには VM が実行中である必要があります。 VM が実行されていない場合は、[Start the VM]\(VM を起動\) が表示されます。
[Troubleshoot Update Agent]\(Update エージェントのトラブルシューティング\) ページで [チェックを実行] を選択すると、トラブルシューティング ツールが開始します。 トラブルシューティング ツールは、[実行コマンド] を使用してマシンでスクリプトを実行し、依存関係を検証します。 トラブルシューティング ツールが終了すると、チェック結果が返されます。
チェックが完了すると、結果がウィンドウに返されます。 チェック セクションには、各チェックの対象が示されます。
前提条件の確認
オペレーティング システム
オペレーティング システム チェックでは、サポートされるオペレーティング システムのいずれかが Hybrid Runbook Worker によって実行されているかどうかが確認されます。
Dmidecode チェック
VM が Azure VM であるかどうかを確認するには、次のコマンドを使用して資産タグの値を確認します。
sudo dmidecode
資産タグが 7783-7084-3265-9085-8269-3286-77 と異なる場合は、VM を再起動して再登録を開始します。
監視エージェント サービスの正常性チェック
監視エージェント
これを修正するには、Azure Log Analytics Linux エージェントをインストールし、必要なエンドポイントと通信していることを確認します。 詳細については、「 Linux コンピューターへの Log Analytics エージェントのインストール」を参照してください。
このタスクは、フォルダーが存在するかどうかを確認します。
/etc/opt/microsoft/omsagent/conf/omsadmin.conf
エージェントの状態の監視
この問題を解決するには、次のコマンドを使用して OMS エージェント サービスを開始する必要があります。
sudo /opt/microsoft/omsagent/bin/service_control restart
検証するには、次のコマンドを使用してプロセス チェックを実行できます。
process_name="omsagent"
ps aux | grep %s | grep -v grep" % (process_name)"
詳細については、「 Linux 用 Log Analytics エージェントに関する問題のトラブルシューティング」を参照してください
マルチホーム
このチェックでは、エージェントが複数のワークスペースに報告しているかどうかが判断されます。 Update Management では、マルチホームがサポートされていません。
この問題を解決するには、OMS エージェントを完全に消去し、Update 管理にリンクされたワークスペースで再インストールします。
このパスの下にあるディレクトリをチェックして、これ以上マルチホームがないことを確認します。
/var/opt/microsoft/omsagent.
これらはワークスペースのディレクトリであるため、ディレクトリの数は OMSAgent にオンボードされているワークスペースの数と等しくなります。
Hybrid Runbook Worker
この問題を解決するには、次のコマンドを実行します。
sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/PerformRequiredConfigurationChecks.py'
このコマンドは、omsconfig エージェントに強制的に Azure Monitor と通信して最新の構成を取得させます。
検証して、次の 2 つのパスが存在するかどうかを確認します。
/opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/VERSION </br> /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/configuration.py
Hybrid Runbook Worker の状態
このチェックでは、Hybrid Runbook Worker がマシンで実行されていることが確認されます。 Hybrid Runbook Worker が正しく実行されている場合は、下の例のプロセスが存在する必要があります。
ps -ef | grep python
nxautom+ 8567 1 0 14:45 ? 00:00:00 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/main.py /var/opt/microsoft/omsagent/state/automationworker/oms.conf rworkspace:<workspaceId> <Linux hybrid worker version>
nxautom+ 8593 1 0 14:45 ? 00:00:02 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/hybridworker.py /var/opt/microsoft/omsagent/state/automationworker/worker.conf managed rworkspace:<workspaceId> rversion:<Linux hybrid worker version>
nxautom+ 8595 1 0 14:45 ? 00:00:02 python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/worker/hybridworker.py /var/opt/microsoft/omsagent/<workspaceId>/state/automationworker/diy/worker.conf managed rworkspace:<workspaceId> rversion:<Linux hybrid worker version>
Update Management によって操作のエンドポイントから Hybrid Runbook Worker パッケージがダウンロードされます。 そのため、Hybrid Runbook Worker が実行されておらず、操作のエンドポイントを確認できない場合、更新できないことがあります。
この問題を解決するには、次のコマンドを実行します。
sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/PerformRequiredConfigurationChecks.py'
このコマンドは、omsconfig エージェントに強制的に Azure Monitor と通信して最新の構成を取得させます。
それでも問題が解決しない場合は、 omsagent ログ コレクター ツールを実行します
接続チェック
プロキシが有効なチェック
この問題を解決するには、プロキシを削除するか、プロキシ アドレスが 前提条件の URLにアクセスできることを確認します。
タスクを検証するには、次のコマンドを実行します。
HTTP_PROXY
IMDS 接続チェック
この問題を解決するには、IP 169.254.169.254へのアクセスを許可します。 詳細については、「 Access Azure Instance Metadata Service」を参照してください
ネットワークが変更されたら、トラブルシューティング ツールを再実行するか、次のコマンドを実行して検証できます。
curl -H \"Metadata: true\" http://169.254.169.254/metadata/instance?api-version=2018-02-01
一般的なインターネット接続
このチェックでは、コンピューターがインターネットにアクセスできることを確認し、インターネットをブロックして特定の URL のみを許可している場合は無視できます。
任意の http url の CURL。
登録エンドポイント
このチェックでは、Hybrid Runbook Worker が Azure Automation および Log Analytics ワークスペースと正しく通信できるかどうかが確認されます。
Hybrid Runbook Worker エージェントが登録エンドポイントと通信できるように、プロキシとファイアウォールが構成されている必要があります。 アドレスと開くポートの一覧については、「 ネットワークの計画」を参照してください
前提条件の URLを許可して、この問題を修正します。 詳細については、「 Update Management、変更履歴とインベントリ 」を参照してください
ネットワークの変更を行った後は、指定された jrds エンドポイントでトラブルシューティング ツールまたは CURL を再実行できます。
操作エンドポイント
このチェックでは、Log Analytics エージェントが Job Runtime Data Service と正しく通信できるかどうかを判別します。
Hybrid Runbook Worker エージェントが Job Runtime Data Service と通信できるように、プロキシとファイアウォールが構成されている必要があります。 アドレスと開くポートの一覧については、「ネットワークの計画」を参照してください。
Log Analytics エンドポイント 1
このチェックでは、Log Analytics エージェントで必要なエンドポイントにマシンがアクセスできることが確認されます。
前提条件の URLを許可して、この問題を修正します。
ネットワークの変更を行った後は、指定された ODS エンドポイントでトラブルシューティング ツールまたは Curl を再実行できます。
Log Analytics エンドポイント 2
このチェックでは、Log Analytics エージェントで必要なエンドポイントにマシンがアクセスできることが確認されます。
前提条件の URLを許可して、この問題を修正します。
ネットワークの変更を行った後は、指定された OMS エンドポイントでトラブルシューティング ツールまたは Curl を再実行できます
ソフトウェア リポジトリ
前提条件のリポジトリ URL を許可して、この問題を修正します。 RHEL については、 こちらを参照してください。
ネットワークの変更を行った後は、トラブルシューティング ツールを再実行するか、または
パッケージ マネージャーで構成されたソフトウェア リポジトリの Curl を再実行できます。
リポジトリを更新すると、通信を確認することができます。
sudo apt-get check
sudo yum check-update
Note
チェックはオフライン モードでのみ使用できます。
オフラインでのトラブルシューティング
スクリプトをローカルに実行することで、Hybrid Runbook Worker のトラブルシューティング ツールをオフラインで使用できます。 Python スクリプト UM_Linux_Troubleshooter_Offline.py は GitHub にあります。
Note
現在のバージョンのトラブルシューティング スクリプトでは、Ubuntu 20.04 はサポートされていません。
このスクリプトの出力例を次に示します。
Debug: Machine Information: Static hostname: LinuxVM2
Icon name: computer-vm
Chassis: vm
Machine ID: 00000000000000000000000000000000
Boot ID: 00000000000000000000000000000000
Virtualization: microsoft
Operating System: Ubuntu 16.04.5 LTS
Kernel: Linux 4.15.0-1025-azure
Architecture: x86-64
Passed: Operating system version is supported
Passed: Microsoft Monitoring agent is installed
Debug: omsadmin.conf file contents:
WORKSPACE_ID=00000000-0000-0000-0000-000000000000
AGENT_GUID=00000000-0000-0000-0000-000000000000
LOG_FACILITY=local0
CERTIFICATE_UPDATE_ENDPOINT=https://00000000-0000-0000-0000-000000000000.oms.opinsights.azure.com/ConfigurationService.Svc/RenewCertificate
URL_TLD=opinsights.azure.com
DSC_ENDPOINT=https://scus-agentservice-prod-1.azure-automation.net/Accou nts/00000000-0000-0000-0000-000000000000/Nodes\(AgentId='00000000-0000-0000-0000-000000000000'\)
OMS_ENDPOINT=https://00000000-0000-0000-0000-000000000000.ods.opinsights .azure.com/OperationalData.svc/PostJsonDataItems
AZURE_RESOURCE_ID=/subscriptions/00000000-0000-0000-0000-000000000000/re sourcegroups/myresourcegroup/providers/microsoft.compute/virtualmachines/linuxvm 2
OMSCLOUD_ID=0000-0000-0000-0000-0000-0000-00
UUID=00000000-0000-0000-0000-000000000000
Passed: Microsoft Monitoring agent is running
Passed: Machine registered with log analytics workspace:['00000000-0000-0000-0000-000000000000']
Passed: Hybrid worker package is present
Passed: Hybrid worker is running
Passed: Machine is connected to internet
Passed: TCP test for {scus-agentservice-prod-1.azure-automation.net} (port 443) succeeded
Passed: TCP test for {eus2-jobruntimedata-prod-su1.azure-automation.net} (port 4 43) succeeded
Passed: TCP test for {00000000-0000-0000-0000-000000000000.ods.opinsights.azure. com} (port 443) succeeded
Passed: TCP test for {00000000-0000-0000-0000-000000000000.oms.opinsights.azure. com} (port 443) succeeded
Passed: TCP test for {ods.systemcenteradvisor.com} (port 443) succeeded