Linux コンピューターに Log Analytics エージェントをインストールする

注意

この記事では、間もなくサポート終了 (EOL) 状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。 この記事では、他のクラウドやオンプレミスでホストされている Linux コンピューターに Log Analytics エージェントをインストールする方法の詳細について説明します。

重要

従来の Log Analytics エージェントは、2024 年 8 月までに非推奨になります。 この日付を過ぎると、Microsoft は Log Analytics エージェントのサポートを提供しなくなります。 引き続きデータの取り込みを行うには、2024 年 8 月より前に Azure Monitor エージェントに移行してください。

この記事で説明するインストール方法は次のとおりです。

  • GitHub でホストされているラッパー スクリプトを使用して Linux 用エージェントをインストールします。 コンピューターがインターネットに直接またはプロキシ サーバー経由で接続している場合、エージェントをインストールおよびアップグレードするには、この方法をお勧めします。
  • エージェントを手動でダウンロードしてインストールします。 Linux コンピューターがインターネットにアクセスできず、Log Analytics ゲートウェイ経由で Azure Monitor または Azure Automation と通信する場合、この手順が必要です。

Azure 仮想マシンに使用できるより効率的なオプションについては、「インストール オプション」を参照してください。

要件

次のセクションでは、インストール要件の概要について説明します。

サポートされるオペレーティング システム

Log Analytics エージェントでサポートされている Linux ディストリビューションの一覧については、「Azure Monitor エージェントの概要」を参照してください。

Openssl 1.1.0 は、x86_64 プラットフォーム (64 ビット) でのみサポートされます。 1.x より前の OpenSSL は、どのプラットフォームでもサポートされていません。

Note

Log Analytics Linux エージェントは、コンテナーでは実行されません。 コンテナーを監視するには、Docker ホストではコンテナー監視ソリューション、Kubernetes ではコンテナーの分析情報を使用します。

2018 年 8 月以降にリリースされたバージョンからは、サポート モデルに次の変更を加えています。

  • サーバー バージョンのみがサポートされ、クライアント バージョンはサポートされません。
  • Azure Linux 動作保証済みディストリビューションのサポートに重点が置かれています。 新しいディストリビューションまたはバージョンが Azure Linux 動作保証済みになってから、Log Analytics Linux エージェントでサポートされるまでに、多少の遅延が生じる場合があります。
  • 記載されている各メジャー バージョンのマイナー リリースは、すべてサポートされます。
  • 製造元のサポート終了日を超過したバージョンは、サポートされません。
  • VM イメージのみをサポートします。 コンテナーは、公式のディストリビューション発行元のイメージから派生したものであってもサポートされません。
  • AMI の新バージョンはサポートされません。
  • 既定で OpenSSL 1.x を実行するバージョンのみがサポートされます。

Note

現在サポートされていないディストリビューションまたはバージョンを使用しており、Microsoft のサポート モデルに準拠していない場合、このリポジトリをフォークすることをお勧めします。 Microsoft サポートでは、フォークされたエージェント バージョンについてはサポートを提供していないことを認識しておいてください。

Python の要件

エージェント バージョン 1.13.27 以降では、Linux エージェントで Python 2 と 3 の両方がサポートされます。 常に最新のエージェントを使用することをお勧めします。

以前のバージョンのエージェントを使用している場合、仮想マシンでは、既定で Python 2 が使用されている必要があります。 既定で Python 2 が含まれないディストリビューションが仮想マシンで使用されている場合、それをインストールする必要があります。 次のサンプル コマンドは、ディストリビューションに Python 2 をインストールします。これらは、インストール先のディストリビューションによって異なります。

  • Red Hat、CentOS、Oracle:
   sudo yum install -y python2
  • Ubuntu、Debian:
   sudo apt-get update
   sudo apt-get install -y python2
  • SUSE:
   sudo zypper install -y python2

ここでも、旧バージョンのエージェントを使用している場合にのみ、python2 実行可能ファイルに python という別名を付ける必要があります。 この別名を設定するには、次の方法を使用します。

  1. 次のコマンドを実行して、既存の別名を削除します。

    sudo update-alternatives --remove-all python
    
  2. 次のコマンドを実行して、別名を作成します。

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2
    

Linux のセキュリティ強化のサポート

OMS エージェントでは、Linux のカスタマイズおよびセキュリティ強化サポートが制限されています。

現在サポートされているツールは次のとおりです。

  • SELinux (CentOS および RHEL の Marketplace イメージと既定の設定)
  • FIPS (CentOS および RHEL 6/7 の Marketplace イメージと既定の設定)

次のツールはサポートされていません。

  • CIS
  • SELinux (MLS のようなカスタム セキュリティ強化)

Azure Monitor エージェントでは、CIS、FIPS、SELinux のセキュリティ強化のサポートが予定されています。 その他のセキュリティ強化とカスタマイズの方法は OMS エージェントではサポートされておらず、その予定もありません。 たとえば、カスタマイズ (ユーザー アカウントの特権の制限など) が含まれている GitHub Enterprise Server のような OS イメージはサポートされません。

エージェントの前提条件

次の表には、エージェントがインストールされるサポートされている Linux ディストリビューションに必要なパッケージが明記されています。

必須パッケージ 説明 最小バージョン
Glibc GNU C ライブラリ 2.5-12
Openssl OpenSSL ライブラリ 1.0.x または 1.1.x
Curl cURL Web クライアント 7.15.5
Python 2.7 または 3.6 以降
Python-ctypes
PAM プラグ可能な認証モジュール

Note

syslog メッセージを収集するには、rsyslog または syslog-ng が必要です。 Syslog イベントの収集に関して、バージョン 5 の Red Hat Enterprise Linux、CentOS、Oracle Linux 版の既定の Syslog デーモン (sysklog) はサポートされません。 このバージョンの各種ディストリビューションから syslog データを収集するには、rsyslog デーモンをインストールし、sysklog を置き換えるように構成する必要があります。

ネットワークの要件

Linux エージェントのネットワーク要件については、「Log Analytics エージェントの概要」を参照してください。

ワークスペース ID とキー

使用するインストール方法に関係なく、エージェントの接続先である Log Analytics ワークスペースのワークスペース ID とキーが必要です。 Azure portal の [Log Analytics ワークスペース] メニューからワークスペースを選択します。 [設定] セクションで、[エージェント] を選択します。

ワークスペースの詳細を示すスクリーンショット。

Note

Log Analytics ワークスペースの共有キーを再生成することはできますが、この用途は、現在それらのキーを使用しているエージェントのいずれかに対するアクセスを直ちに制限することではありません。 エージェントはキーを使用して 3 か月後に期限が切れる証明書を生成します。 共有キーの再生成は、エージェントの証明書の更新を防ぐだけであり、証明書が期限切れになるまで使い続けることはできません。

エージェントのインストール パッケージ

Linux 用 Log Analytics エージェントは、複数のパッケージで構成されています。 リリース ファイルには、次のパッケージが含まれており、シェル バンドルを --extract パラメーターで実行することによって抽出できます。

パッケージ Version 説明
omsagent 1.16.0 Linux 用 Log Analytics エージェント。
omsconfig 1.2.0 Log Analytics エージェントの構成エージェント。
omi 1.7.1 Open Management Infrastructure (OMI) (軽量の CIM サーバー)。 OMI では、サービスの機能に必要な cron ジョブを実行するためにルート アクセスが必要です。
scx 1.7.1 オペレーティング システムのパフォーマンス メトリックの OMI CIM プロバイダー。
apache-cimprov 1.0.1 OMI の Apache HTTP Server パフォーマンス監視プロバイダー。 Apache HTTP Server が検出された場合にのみインストールされます。
mysql-cimprov 1.0.1 OMI の MySQL Server パフォーマンス監視プロバイダー。 MySQL/MariaDB サーバーが検出された場合にのみインストールされます。
docker-cimprov 1.0.0 OMI の Docker プロバイダー。 Docker が検出された場合にのみインストールされます。

エージェントのインストールの詳細

重要

従来の Log Analytics エージェントは、2024 年 8 月までに非推奨になります。 この日付を過ぎると、Microsoft は Log Analytics エージェントのサポートを提供しなくなります。 データの取り込みを続行するには、2024 年 8 月より前に Azure Monitor エージェントに移行してください。

Linux 用 Log Analytics エージェントのパッケージをインストールすると、システム全体にわたる次のような構成の変更も適用されます。 omsagent パッケージをアンインストールすると、これらの成果物は削除されます。

  • omsagent という名前の非特権ユーザーが作成されます。 この資格情報でデーモンが実行されます。
  • sudoers インクルード ファイルが /etc/sudoers.d/omsagent に作成されます。 このファイルで、syslog および omsagent デーモンを再起動する権限が omsagent に与えられます。 sudo include ディレクティブが sudo のインストール済みバージョンでサポートされていない場合、それらのエントリは /etc/sudoers に書き込まれます。
  • イベントの一部をエージェントに転送するよう syslog の構成が変更されます。 詳細については、Syslog データ コレクションの構成に関する記事を参照してください。

監視対象の Linux コンピューターでは、エージェントは omsagent として表示されます。 omsconfig は Linux 用 Log Analytics エージェントの構成エージェントであり、5 分ごとにポータル側の新しい構成を検索します。 この新しい更新された構成が、/etc/opt/microsoft/omsagent/conf/omsagent.conf にあるエージェント構成ファイルに適用されます。

エージェントをインストールする

重要

従来の Log Analytics エージェントは、2024 年 8 月までに非推奨になります。 この日付を過ぎると、Microsoft は Log Analytics エージェントのサポートを提供しなくなります。 引き続きデータの取り込みを行うには、2024 年 8 月より前に Azure Monitor エージェントに移行してください。

次の手順では、Azure および Azure Government クラウドで Log Analytics 用のエージェントのセットアップを構成します。 ラッパー スクリプトは、GitHub でホストされているエージェントをダウンロードしてインストールするために、直接またはプロキシ サーバー経由で通信できる Linux コンピューターに使用されます。

Linux コンピューターと Log Analytics との通信をプロキシ サーバーを介して行う必要がある場合、コマンド ラインから「-p [protocol://][user:password@]proxyhost[:port]」を入力することでこの構成を指定できます。 protocol プロパティには、http または https を指定できます。 proxyhost プロパティは、プロキシ サーバーの完全修飾ドメイン名または IP アドレスを受け取ります。

例: https://proxy01.contoso.com:30443

いずれの場合も認証が必要な場合は、ユーザー名とパスワードを指定します。 例: https://user01:password@proxy01.contoso.com:30443

  1. Log Analytics ワークスペースに接続するように Linux コンピューターを構成するには、ワークスペース ID と主キーを指定する次のコマンドを実行します。 次のコマンドは、エージェントをダウンロードし、そのチェックサムを検証してインストールします。

    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY>
    

    次のコマンドには、-p プロキシ パラメーターと、お使いのプロキシ サーバーで認証が必要な場合の構文例が含まれています。

     wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -p [protocol://]<proxy user>:<proxy password>@<proxyhost>[:port] -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY>
    
  2. Azure Government クラウド内の Log Analytics ワークスペースに接続するように Linux コンピューターを構成するには、前にコピーしたワークスペース ID と主キーを指定する次のコマンドを実行します。 次のコマンドは、エージェントをダウンロードし、そのチェックサムを検証してインストールします。

    wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY> -d opinsights.azure.us
    

    次のコマンドには、-p プロキシ パラメーターと、お使いのプロキシ サーバーで認証が必要な場合の構文例が含まれています。

     wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh && sh onboard_agent.sh -p [protocol://]<proxy user>:<proxy password>@<proxyhost>[:port] -w <YOUR WORKSPACE ID> -s <YOUR WORKSPACE PRIMARY KEY> -d opinsights.azure.us
    
  3. 次のコマンドを実行してエージェントを再起動します。

    sudo /opt/microsoft/omsagent/bin/service_control restart [<workspace id>]
    

以前のリリースからのアップグレード

バージョン 1.0.0-47 以降の以前のバージョンからのアップグレードは、各リリースでサポートされています。 --upgrade パラメーターを使用してインストールを実行すると、エージェントのすべてのコンポーネントを最新バージョンにアップグレードできます。

Note

--skip-docker-provider-install フラグが設定されているため、アップグレード中に "docker プロバイダー パッケージのインストールがスキップされました" という警告メッセージが表示されます。 既存の omsagent インストールを上書きしてインストールし、Docker プロバイダーを削除する必要がある場合は、最初に既存のインストールを消去します。 その後、--skip-docker-provider-install フラグを使用してインストールします。

キャッシュ情報

Linux 用 Log Analytics エージェントからのデータは、ローカル マシン上の %STATE_DIR_WS%/out_oms_common.buffer* にキャッシュされてから Azure Monitor に送信されます。 カスタム ログ データは %STATE_DIR_WS%/out_oms_blob.buffer* にバッファリングされます。 このパスは、一部のソリューションとデータ型では異なる場合があります。

エージェントによって 20 秒ごとにアップロードが試行されます。 失敗すると、成功するまで、待機時間が指数関数的に増加します。 たとえば、2 回目の試行まで 30 秒、3 回目までは 60 秒、その次は 120 秒というように、再接続が成功するまで、再試行から次の再試行まで最長 16 分間待機することになります。 エージェントは特定のデータ チャンクに対して最大 6 回再試行してから、そのデータを破棄し、次のデータ チャンクに進みます。 このプロセスは、エージェントが再度正常にアップロードできるようになるまで継続されます。 このため、データが破棄されるまで最長約 30 分間バッファーに格納される可能性があります。

既定のキャッシュ サイズは 10 MB ですが、omsagent.conf ファイル内で変更することができます。

次のステップ