Skip to main content

フレックスエージェントの手動インストールと設定

多言語インストールのウィザードを使用してフレックスエージェントをインストールする代わりに、以下の手順を使用して手動でインストールできます。この手順は、自動化を使用してアプリケーションを大規模にデプロイする場合に役立ちます。

フレックスエージェントの仕組み

フレックスエージェントは、マシン上で新しプロセスが起動するのを確認し、そのプロセスがエージェントによる監視(インストゥルメント)の対象候補であるかどうかを判断します。

フレックスエージェントをインストールすると、「インジェクタ」と呼ばれるものが提供されます。このインジェクタは、起動したプロセスの言語を特定します。そのプロセスに対応するエージェントが利用可能な場合は、エージェントをプロセスに接続(attach)するよう試みます。接続が成功すると、エージェントはプロセスを監視しします。

標準のエージェント設定を使用して、エージェントはデータをContrast Webインターフェイスに報告します。

開始する前に

  • ルートアクセスが必要

  • 対応OS:Linuxのほとんどのバージョン

  • 必要なC標準ライブラリ:GLibCまたはMUSL

  • 必須:Contrast APIトークン

  • 以下のいずれかが必要:

    • 手動tarおよびcURL、sha256sum(任意)

    • Debianapt-getcURL、およびgnupg2

    • RPMteeおよびyum

フレックスエージェントをインストールして全てのプロセスに接続

  1. フレックスエージェントで実行中の全てのWebプロセスにエージェントを接続(attach)するには、以下のクイックインストールコマンドを使用します。

    • cURLcURLを使用してインストールするには、以下のコマンドを使用します。$AGENT_TOKENは、ご利用のContrast APIトークンに置き換えて下さい。

      curl -L --output /tmp/contrast-flex-agent.tar.gz https://contrastsecurity.jfrog.io/artifactory/flex-agent-release/latest/contrast-flex-agent.tar.gz
      mkdir /tmp/contrast-flex-agent
      sudo tar -xpzf /tmp/contrast-flex-agent.tar.gz -C /tmp/contrast-flex-agent
      sudo /tmp/contrast-flex-agent/install.sh --api-token $AGENT_TOKEN

      ダウンロードしたcontrast-flex-agent.tar.gzの署名を確認するには、untarコマンドを実行する前に以下のコマンドを実行して下さい。OK以外の出力があった場合は、アーティファクトを削除して再度ダウンロードして下さい。Sha256の代わりにSha1とMD5のチェックサムを使用することもできます。

      curl -L --output /tmp/contrast-flex-agent.tar.gz.sha256 https://contrastsecurity.jfrog.io/artifactory/flex-agent-release/latest/contrast-flex-agent.tar.gz.sha256
      hash=$(cat /tmp/contrast-flex-agent.tar.gz.sha256)
      echo "$hash contrast-flex-agent.tar.gz" > /tmp/contrast-flex-agent.tar.gz.sha256
      sha256sum --check /tmp/contrast-flex-agent.tar.gz.sha256
    • Debian:Debianを使用してインストールするには、以下のコマンドを使用します。

      curl https://pkg.contrastsecurity.com/api/gpg/key/public | gpg -o /usr/share/keyrings/contrast-keyring.pgp --dearmor
      echo "deb [signed-by=/usr/share/keyrings/contrast-keyring.pgp] https://pkg.contrastsecurity.com/debian-public/ $(sed -rne 's/^VERSION_CODENAME=(.*)$/\1/p' /etc/*ease) contrast" | tee /etc/apt/sources.list.d/contrast.list
      echo "deb [signed-by=/usr/share/keyrings/contrast-keyring.pgp] https://pkg.contrastsecurity.com/debian-public/ all contrast" | tee -a /etc/apt/sources.list.d/contrast.list          
      sudo apt-get update && sudo apt-get install -y contrast-flex-agent
    • RPM:RPMを使用してインストールするには、以下のコマンドを使用します。

      rpm --import https://pkg.contrastsecurity.com/api/gpg/key/public
      tee /etc/yum.repos.d/contrast.repo <<-"EOF"
      
      [contrast]
      name=Contrast redhat-$releasever repo
      baseurl=https://pkg.contrastsecurity.com/rpm-public/redhat-$releasever/
      gpgcheck=0
      enabled=1
      gpgkey=https://pkg.contrastsecurity.com/api/gpg/key/public
      repo_gpgcheck=1
      EOF
      
      yum install contrast-flex-agent -y
  2. 通常の起動コマンドでアプリケーションを起動(または再起動)します。

フレックスエージェントを段階的にインストール

フレックスエージェントで実行中の全てのWebプロセスにエージェントを接続(attach)するが、全ての手順を管理したり、インストール手順を変更したい場合は、以下の手順を使用します。

  1. フレックスエージェントのtarファイルをダウンロード:以下のコマンドを使用します。

    curl -L --output /tmp/contrast-flex-agent.tar.gz https://contrastsecurity.jfrog.io/artifactory/flex-agent-release/latest/contrast-flex-agent.tar.gz
  2. フレックスエージェントのtarファイルを展開:以下のコマンドを使用します。

    mkdir -p /tmp/contrast-flex-agent
    tar -xpzf /tmp/contrast-flex-agent.tar.gz -C /tmp/contrast-flex-agent
  3. インストールを実行:以下のいずれかのコマンドを使用します。$AGENT_TOKENはご利用のContrast API トークンに置き換えて下さい。

    • エージェントの自動インストールには、以下のコマンドを使用します。

      sudo /tmp/contrast-flex-agent/install.sh --api-token $AGENT_TOKEN
    • エージェントの手動インストールには、次のコマンドを使用します。

      1. 以下のコマンドを使用します。

        sudo /tmp/contrast-flex-agent/install.sh --api-token $AGENT_TOKEN --unattached
      2. appコマンドでアプリケーションを検索すると、ポートが開いている実行中のプロセスが全て一覧表示されます。

        sudo contrast-flex app
      3. 前述のappコマンドのIDを使用して、attachコマンドでインストゥルメントを有効にします。

        sudo contrast-flex attach $ID true

      エージェントの接続を制御には、初期インストール後にインストールを上記のスタイルに変更する方法が記載されています。この変更を行っても、アプリケーションを再起動するまで、実行中のプロセスからインストゥルメントは削除されません。

エージェントの接続を制御

デフォルトでは、フレックスエージェントは全てのプロセスを検査し、エージェントへの接続を自動的に試みます。この動作を変更したり、接続する特定のプロセスを指定する場合は、このセクションの手順を実行して下さい。

  • 全てのプロセスに対する自動接続を制御する

    1. フレックスエージェントが全てのプロセスに接続するのを停止する場合は、以下のコマンドを使用してauto-attach(自動接続)をグローバルに無効にします。

      contrast-flex auto-attach false
    2. 以下のコマンドで接続は再度有効になります。

      contrast-flex auto-attach true

    auto-attachコマンドを使用しても、現在起動中のプロセスに対してエージェントが接続されたり、接続が解除されることはありません。新しい設定を反映するには、アプリケーションを再起動して下さい。

  • プロセスへの接続を制御する

    フレックスエージェントが特定のアプリケーションプロセスに接続するかどうかを制御するには、attachコマンドを使用して、アプリケーションのIDを指定します。

    1. 該当するプロセスを特定するには、appコマンドでプロセスIDを検索します。

      contrast-flex app
    2. 以下のコマンドを使用して、プロセスの接続を有効または無効にします。ここで、 IDは前述の手順で見つけたプロセスIDになります。

      contrast-flex attach ${ID} ${true|false}
    3. 通常のアプリケーション起動コマンドを使用して、アプリケーションを再起動します。エージェントに自動的にインジェクタが接続されます。