個々の VM に Cloud Logging エージェントをインストールする

Logging エージェントは、VM インスタンスや選択したサードパーティ ソフトウェア パッケージから Cloud Logging にログをストリーミングします。すべての VM インスタンスで Logging エージェントを実行することをおすすめします。

Compute Engine と Amazon Elastic Compute Cloud(EC2)の VM イメージには Logging エージェントが含まれていないため、これらのインスタンスにインストールするには以下の手順を実施する必要があります。エージェントは Linux と Windows の両方で稼働します。

VM が Google Kubernetes Engine または App Engine で実行されている場合、エージェントはすでに VM イメージに含まれているため、このページをスキップできます。

始める前に

エージェントをインストールするには、次のものが必要です。

コマンドラインからエージェントをインストールする

コマンドラインを使用してエージェントをインストールする手順は次のとおりです。

最新バージョンのエージェントをインストールする

エージェントの最新バージョンをインストールする手順は次のとおりです。

Linux

  1. SSH または同様のツールを使用して、VM インスタンスへのターミナル接続を開き、sudo アクセス権があることを確認します。

  2. たとえば、ホーム ディレクトリなど、書き込みアクセス権があるディレクトリに移動します。

  3. 次のコマンドを使用して、エージェントのインストール スクリプトをダウンロードして実行します。

    curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh
    sudo bash add-logging-agent-repo.sh --also-install
    

    インストール後、エージェントは自動的に起動します。

Windows

  1. RDP または同様のツールを使用してインスタンスに接続し、Windows にログインします。

  2. PowerShell アイコンを右クリックし、[管理者として実行] を選択して、管理者権限で PowerShell ターミナルを開きます。

  3. 次の PowerShell コマンドを実行します。

    (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-21.exe", "${env:UserProfile}\StackdriverLogging-v1-21.exe")
    & "${env:UserProfile}\StackdriverLogging-v1-21.exe"
    

特定のバージョンのエージェントをインストールする

特定のバージョンのエージェントをインストールするには、次の手順を行います。

Linux

  1. SSH または同様のツールを使用して、VM インスタンスへのターミナル接続を開き、sudo アクセス権があることを確認します。

  2. たとえば、ホーム ディレクトリなど、書き込みアクセス権があるディレクトリに移動します。

  3. エージェントのインストール スクリプトをダウンロードします。

    curl -sSO https://dl.google.com/cloudagents/add-logging-agent-repo.sh
    

    add-logging-agent-repo.sh スクリプトを実行するときに、次のフラグを設定することもできます。

    • --verbose: スクリプトの実行中に詳細ログを有効にします。
    • --also-install: エージェント パッケージ リポジトリを追加した後にエージェントをインストールします。
    • --version: スクリプトをインストールするエージェントのバージョンを設定します。バージョン情報については、すべてのエージェント バージョンを一覧取得するをご覧ください。
    • --uninstall: エージェントをアンインストールします。
    • --remove-repo: エージェントをインストールまたはアンインストールした後に、対応するエージェント パッケージ リポジトリを削除します。
    • --dry-run: スクリプト実行のドライランのみがトリガーされ、実行するはずのコマンドを出力します。

    詳細と使用例については、スクリプトのコメントをご覧ください。

  4. エージェントのパッケージ リポジトリを追加して、エージェントをインストールします。

    1. 使用可能なエージェント バージョンを一覧取得するには、すべてのエージェント バージョンを一覧取得するをご覧ください。

    2. 本番環境では、下位互換性のない変更を含む可能性のあるメジャー バージョンをインストールしないように、メジャー バージョンに固定することをおすすめします。メジャー バージョンに固定するには、次のコマンドを実行します。

      sudo bash add-logging-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.*.*
      

      たとえば、エージェントの 1.x.x に固定するには、次のコマンドを実行します。

      sudo bash add-logging-agent-repo.sh --also-install \
        --version=1.*.*
      
    3. 特定のバージョンのエージェントをインストールするには、次のコマンドを実行します。

      sudo bash add-logging-agent-repo.sh --also-install \
        --version=MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION
      
  5. エージェント サービスを再起動します。

    上記のキャッチオール パッケージによってインストールされた構成を有効にするために、再起動が必要です。

    sudo service google-fluentd restart
    

正常に実行されたら、インストール スクリプトを削除します。

  • エージェントが期待どおりに動作していることを確認するには、次のコマンドを実行します。

    sudo service google-fluentd status
    

    エージェントのステータスは OK である必要があります。

  • ログを調べて、エラーがないことを確認することもできます。

    tail /var/log/google-fluentd/google-fluentd.log
    

インストールに問題がある場合は、トラブルシューティング ページをご覧ください。

Windows

  1. RDP または同様のツールを使用してインスタンスに接続し、Windows にログインします。

  2. PowerShell アイコンを右クリックし、[管理者として実行] を選択して、管理者権限で PowerShell ターミナルを開きます。

    1. 次の PowerShell コマンドを実行します。

      (New-Object Net.WebClient).DownloadFile("https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-21.exe", "${env:UserProfile}\StackdriverLogging-v1-21.exe")
      & "${env:UserProfile}\StackdriverLogging-v1-21.exe"
      

    また、次の URL にアクセスして、エージェントのインストーラをダウンロードして実行することもできます。

    https://dl.google.com/cloudagents/windows/StackdriverLogging-v1-21.exe

    エージェントをサイレント モードでインストールするには、次のようにインストーラの起動時に /S オプションを追加します。

    & "${env:UserProfile}\StackdriverLogging-v1-21.exe" /S
    

    「サイレント」モードでは、/D オプションを使用してインストール ディレクトリを指定します。次に例を示します。

    & "${env:UserProfile}\StackdriverLogging-v1-21.exe" /S /D="C:\Stackdriver\Google Cloud Observability\"
    

    正常に完了したら、インストーラを削除できます。

    インストールに問題がある場合は、トラブルシューティング ページをご覧ください。

Google Cloud コンソールでのエージェント情報の表示

エージェントのステータス情報は、事前構成された Monitoring の [VM インスタンス] ダッシュボードで確認できます。このダッシュボードにアクセスする方法は次のとおりです。

Google Cloud コンソールで [VM インスタンス ダッシュボード] ページに移動します。

[VM インスタンス ダッシュボード] に移動

検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。

次のスクリーンショットのように、ダッシュボードの [INVENTORY] タブのリストビューには、すべての VM が一覧取得され、[エージェント] 列にステータスが表示されています。

Monitoring の [VM インスタンス] ダッシュボードにエージェントのステータスが表示されている。

[エージェント] 列には、次の値が報告されます。

  • 未検出: エージェントがインストールされていないか、実行されていません。エージェントがインストールされているかどうかわからない場合は、インストールされているバージョンをクエリできます。エージェントがすでにインストールされている場合は、エージェントを再起動できます。

  • Ops エージェント: Ops エージェントを実行しています。エントリの横に緑色のチェックマークが表示されない場合は、VM の検出されたオペレーティング システムに基づいて、エージェントのアップグレードが可能です。

    テーブルの Ops エージェント インジケーターにカーソルを合わせると、Ops エージェントのバージョンに関する情報が表示されます。古いバージョンを実行している場合は、エージェントをアップグレードするための推奨事項も表示されます。

  • 保留中: Ops エージェントがインストールまたはアップグレードされています。

  • 以前のエージェント: 以前の Monitoring または Logging エージェントを実行しています。Ops エージェントへの移行については、以前のエージェントから Ops エージェントへの移行をご覧ください。

  • 該当なし: この VM は、エージェントの実行に対応していないプラットフォームです。

  • 不明: VM は実行されていないため、エージェントのステータスは不明です。

Ops エージェントは、次の手順でインストールできます。

  • エージェントをインストールする VM インスタンスを選択します。
  • [インスタンス] テーブルで [Ops エージェントのインストール / 更新] オプションをクリックします。

特定の VM の [VM の詳細] ページから、Ops エージェントをインストールまたは更新することもできます。

可能な場合、エージェントは Ops エージェントの OS ポリシーを使用してインストールされます。詳細については、Ops エージェントの OS ポリシーの対象となる VM を管理するをご覧ください。Ops エージェントの OS ポリシーは、すべてのオペレーティング システムのすべてのバージョンでサポートされているわけではありません。この場合、[Ops エージェントのインストール / 更新] をクリックすると、Cloud Shell で実行する一連のコマンドが提供されます。

Ops エージェントはデフォルトで指標とログの両方を収集します。このデフォルト動作は、Ops エージェントを構成することで変更できます。

オプションのタスク

このセクションでは、一般的なメンテナンス タスクを行う方法について説明します。

構造化ロギングを有効にする

Linux VM でインストール スクリプトを実行するときに、--also-install フラグがあると、デフォルトで google-fluentd-catch-all パッケージがインストールされます。構造化ロギングに切り替えるには、次の手順を行います。

  1. ローカルでの変更を /etc/google-fluentd/config.d/ にバックアップします。

  2. Linux ディストリビューションに応じて、次のいずれかのコマンドを実行します。

    • YUM:

      sudo yum remove -y google-fluentd-catch-all-config
      sudo yum install -y google-fluentd-catch-all-config-structured
      sudo service google-fluentd restart
      
    • APT:

      sudo apt-get remove -y google-fluentd-catch-all-config
      sudo apt-get install -y google-fluentd-catch-all-config-structured
      sudo service google-fluentd restart
      

構造化ロギングの詳細については、構造化ロギングのガイドをご覧ください。

Logging エージェントの構成

エージェントは、特定の既知のログの場所をモニタリングするように事前構成されています。Linux では、これらの場所はパッケージ google-fluentd-catch-all-config で記述され、このパッケージはインストール スクリプトによって自動的に取得されます。Windows では、エージェントはデフォルトで Windows イベントログをモニタリングします。

エージェント構成を調整するには、Logging エージェントの構成をご覧ください。

HTTP プロキシを構成する

HTTP プロキシを使用して Logging API と Monitoring API にリクエストをプロキシする場合は、次の操作を行います。

Linux

  1. 次の構成ファイルを編集します(まだファイルが存在しない場合は作成します)。

     /etc/default/google-fluentd
    
  2. ファイルに以下を追加します。

     export http_proxy="http://proxy-ip:proxy-port"
     export https_proxy="http://proxy-ip:proxy-port"
     export no_proxy=169.254.169.254  # Skip proxy for the local Metadata Server.
    
  3. VM インスタンスで次のコマンドを実行して、エージェントを再起動します。

     sudo service google-fluentd restart
    

Windows

  1. HTTP プロキシを使用する場合は、管理者コマンド プロンプトから次のコマンドを実行します。これにより、環境変数の http_proxyhttps_proxy が設定され、エージェントがアウトバウンド HTTPS を使用してデータを送信できるようにします。

    setx http_proxy http://proxy-ip:proxy-port /m
    setx https_proxy http://proxy-ip:proxy-port /m
    setx no_proxy 169.254.169.254 /m
    

エージェント バージョンを確認する

システムで Logging エージェントのバージョンを確認するには、VM インスタンスで次のコマンドを実行します。

Amazon Linux AMI / CentOS / RHEL

Amazon Linux、Red Hat、または CentOS Linux で次のコマンドを実行します。

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' google-fluentd google-fluentd-catch-all-config google-fluentd-catch-all-config-structured

Debian / Ubuntu

Debian または Ubuntu で次のコマンドを実行します。

dpkg-query --show --showformat '${Package} ${Version} ${Architecture} ${Status}\n' google-fluentd google-fluentd-catch-all-config google-fluentd-catch-all-config-structured

SLES / SUSE

SUSE で次のコマンドを実行します。

rpm --query --queryformat '%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n' google-fluentd google-fluentd-catch-all-config google-fluentd-catch-all-config-structured

WINDOWS

  1. RDP または同様のツールを使用してインスタンスに接続し、Windows にログインします。

  2. PowerShell アイコンを右クリックし、[管理者として実行] を選択して、管理者権限で PowerShell ターミナルを開きます。

  3. 次の PowerShell コマンドを実行します。

     reg query HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\GoogleStackdriverLoggingAgent\ /v Version
    

エージェントを再起動する

構成ファイルの変更を取得するには、Logging エージェントを再起動する必要があります。エージェントを再起動するには、次の手順を使用します。

Linux

インスタンスで次のコマンドを実行します。


     sudo service google-fluentd restart

Logging エージェントを再起動した後で、テスト メッセージを送信することをおすすめします。

Windows

  1. RDP または同様のツールを使用してインスタンスに接続し、Windows にログインします。

  2. PowerShell アイコンを右クリックし、[管理者として実行] を選択して、管理者権限で PowerShell ターミナルを開きます。

  3. 次の PowerShell コマンドを実行します。

Restart-Service -Name StackdriverLogging

エージェントをアップグレードする

Logging エージェントを最新リリースにアップグレードするには、次の手順を使用します。

Linux

エージェントを最新バージョンにアップグレードするには、次のコマンドを実行します。

sudo bash add-logging-agent-repo.sh --also-install

エージェントを特定のメジャー バージョンの最新のポイント リリースにアップグレードするには、次のコマンドを実行します。

sudo bash add-logging-agent-repo.sh --also-install \
  --version=MAJOR_VERSION.*.*

Windows

最新のエージェント リリースにアップグレードするには、このページの Windows へのインストールの説明に従い、最新のエージェントをインストールします。インストーラで、以前のバージョンのエージェントをアンインストールするように求められます。

すべてのエージェント バージョンを一覧取得する

利用可能なエージェントのバージョンを一覧取得するには、次のコマンドを実行します。

Amazon Linux AMI / CentOS / RHEL

利用可能なエージェントのバージョンを一覧表示します。

sudo yum list --showduplicates google-fluentd

Debian / Ubuntu

利用可能なエージェントのバージョンを一覧取得します。

sudo apt-cache madison google-fluentd

SLES / SUSE

利用可能なエージェントのバージョンを一覧取得します。

sudo zypper search -s google-fluentd

WINDOWS

以前のバージョンのエージェントの Windows へのインストールはサポートされていません。

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

Logging エージェントとその構成ファイルを削除するには、次の手順を使用します。

エージェントをアンインストールした後、この変更が Google Cloud コンソールに反映されるまでに 1 時間ほどかかることがあります。

Linux

次のコマンドを実行します。

sudo bash add-logging-agent-repo.sh --uninstall

必要に応じて、エージェントのアンインストールに加えてリポジトリも削除する場合は、上述のコマンドに --remove-repo を追加します。

Windows

Windows コントロール パネルで、[プログラムのアンインストール] を選択します。アンインストールできるプログラムのリストに Logging エージェントが表示されます。Logging エージェントをインストールしたディレクトリから uninstall.exe を実行することもできます。

リモート パッケージにアクセスできない VM

Logging エージェントのインストールには、エージェント パッケージと(Linux では)その依存関係の両方用に、リモートのパッケージ リポジトリへのアクセスが必要です。

VPC-SC またはプライベート ネットワークを使用している場合は、ネットワーク構成により上流リポジトリからエージェントの依存関係をインストールする機能に影響することがあります。エージェント パッケージ自体には、限定公開の Google アクセスを使用してアクセスできます。これは、限定公開の Google アクセスを有効にするに従って構成できます。

VM ホストのセキュリティ ポリシーでリモートのパッケージ リポジトリへのアクセスが拒否される場合は、事前にエージェントがインストールされたカスタム VM イメージを作成し、そのイメージ内でパッケージ管理を無効にすることをおすすめします。

次のステップ