ja-JP

クラウドエージェント(Docker)


本デプロイにおけるユーザーロール

管理者 共同管理者 アセットマネージャー 閲覧者
エージェント 追加
編集   (エージェント名の変更は不可)
削除
プロービング割当 追加
編集
削除


概要

SEIクラウドエージェントは、Ubuntuサーバ上に構築されたDockerコンテナイメージです。Linuxの上でコンテナランタイムが動作する仮想マシン(VM)にデプロイできるように設計されています。

Service Experience Insightsは、エージェントを実行するためのVMの提供・保守は行いません。パッチの適用やセキュリティの更新など、ホストとなるVMの保守は所有者またはマネージドサービスプロバイダーが責任を持つことになります。

SEIクラウドエージェントをVMにインストールすることは、コンテナのデプロイに慣れているユーザーにとって極めて簡単です。コンテナイメージを取得し、イメージを設定し、デプロイするのみです。

以下では、主要なパブリッククラウド環境でホストされているVMにSEIクラウドエージェントをデプロイする手順を説明します。ここではパブリッククラウドを前提として説明しますが、手順はLinux上でコンテナランタイムが動作するあらゆるVMに広く適用できます。


ホスト環境の確認

SEIクラウドエージェントコンテナをデプロイするVMを準備します。

OSイメージ

動作確認済みのUbuntu Server 22.04 LTSがSEIエージェントの推奨動作環境です。

クラウドイメージの詳細については、オフィシャルのUbuntu documentationを参照してください。 CanonicalはUbuntu OSの商用サポートを行っており、Canonicalによってメンテナンスされている”Pro” OSイメージを提供しています。

必要なVMのスペック(インスタンスタイプ)

SEIエージェントは、ネットワークプロービングテストの実行には小さなリソースしか消費しませんが、スピードテストのターゲットとなり同時にたくさんのリクエストに答える場合より多くのリソースを消費します。以下の推奨値を参考に適切なクラウド環境のインスタンスタイプを選択してください。

  • (v)CPU: 2コア
  • RAM: 1GB
  • ストレージ: 10GB

備考 SEIエージェントがスピードテストのターゲットとなる場合、複数のエージェントから同時にくるリクエストを処理するのに十分なネットワーク帯域が必要です。リソースプランニングはスピードテストエージェントのデプロイ前に行ってください。スピードテストを実行するエージェントの数、スピードテストに使用されるネットワーク帯域を見積もり、データ使用量の推測値のスピードテストのデータ使用量の章を参考に必要なリソースを算出してください。

ネットワーク設定

VMにはSEIコントローラへ接続するためのインターネットアクセスが必要です。ファイアウォールの設定を参照し、ファイアウォールを設定してください。


SEIダッシュボードにエージェントを作成する

エージェントを各ホストデバイスごとに作成します。

エージェントビューから エージェントの追加 ボタンをクリックします。

クラウドエージェントのデプロイに関する設定は以下の通りです。詳細はエージェントの記事をご覧ください。

項目名 入力形式 オプション 説明 必須
名前 テキスト -- エージェントの表示名を入力してください:
  • ネットワークにおけるエージェントの役割が論理的に理解しやすいエージェント名を選んでください
  • 論理的な命名規則には、ネットワークにおけるホストの名前、ロケーション、役割があります。
必須
グループ 単一選択式のドロップダウンメニュー 既存のグループから選択する
  • 新しいグループが必要な場合は、まずはエージェント作成を完了させてください。
  • エージェントが追加されたら、エージェントページの「グループ」タブで新しいグループを作成します。
  • 「アクティベート待ち」または「アクティベート済み」タブから新規作成したエージェントを選択してください。
  • アクションカラムにあるアイコンから編集を選択します。
  • 先ほど作成したグループにエージェントを割り当てて保存します。
タグ 複数選択式のドロップダウンメニュー 既存または新しいタグを追加する
  • タグ名を入力して既存のタグを検索してください。
  • 既存のタグがない場合、検索欄で入力したテキストで新しいタグが作成され、エージェントに割り当てられます。
タイプ 単一選択式のドロップダウンメニュー
  • スタティックエージェント
  • モバイルエージェント
  • クラウドエージェント
  • クラウドエージェントを選択してください
  • スタティックエージェントおよびモバイルエージェントはここでサポートしていません。
必須
ターゲットとして有効化する チェックボックス 未チェック(デフォルト)
  • クラウドエージェントはターゲット機能をサポートしています。
  • ターゲット機能を有効にすると、クラウドエージェントはマネージドターゲットとしても動作し、他のエージェントからのプロービングに応答するようになります。
IPの種類 単一選択式のドロップダウンメニュー
  • 外部IP (デフォルト)
  • 内部IP
  • 外部IPにより、ネットワーク外のエージェントからのプロービングを受け付けることができます。
  • 内部IPにより、ネットワーク内でのエージェント間のプロービングが可能です。
ターゲット機能を有効にしたエージェントのみ必須
IP Version 単一選択式のドロップダウンメニュー
  • Prefer IPv4 (デフォルト)
  • Prefer IPv6
  • IPv4またはIPv6を選択してください。
ターゲット機能を有効にしたエージェントのみ必須
ターゲットプロトコル 複数選択式のドロップダウンメニュー
  • ICMP
  • HTTP
  • UDP
  • スピードテスト
マネージドターゲットエージェントにおいて、ターゲットプロトコルを1つまたは複数選択してください。 ターゲット機能を有効にしたエージェントのみ必須
UPDポート テキスト 5001 (デフォルト) UPDポートを入力してください。 ターゲット機能を有効にしたエージェントのみ必須
スピードテストポート テキスト 8080 (デフォルト) スピードテストのポートを入力してください。 ターゲット機能を有効にしたエージェントのみ必須
アクティベーション方法 単一選択式のドロップダウンメニュー
  • 個別トークン
  • 共有トークン
  • 個別トークンは各エージェントに対して一意かつワンタイムのトークンになります。
  • 共有トークンはトークン1つでエージェント複数をアクティベートできます。共有トークンは、NTTのサポート窓口より提供されます。
  • クラウドエージェントはシリアル番号によるアクティベーションをサポートしていません。
必須
表示住所の設定 単一選択式のドロップダウンメニュー
  • 自動取得を優先
  • 手動設定値を優先(デフォルト)
  • 手動設定値のみを使用
  • オプションの「手動設定値のみを使用」を選択してください。
  • IPルックアップにもサポートしています。企業のキャンパスやデータセンターなど、ホスト端末の所在地がよく知られていて変更の可能性が低いスタティックエージェントの場合>、正しく検知できることが期待できます。
必須
住所 テキスト --
  • 住所の一部または全部を入力してください。
  • 緯度/経度の入力が可能で、エージェントが作成された際に住所/所在地が自動で入力されます。
以下の場合必須:
  • 手動設定値を優先
  • 手動設定値のみを使用
連絡先 テキスト -- エージェントソフトウェアのアクティベーションなどに関する担当者名を入力してください。
Eメール テキスト -- エージェントソフトウェアのアクティベーションなどに関する担当者のメールアドレスを入力してください。 必須
メールの言語 単一選択式のドロップダウンメニュー
  • 英語
  • 日本語
  • デフォルトは言語設定に指定された値
エージェントのアクティベーションメールの言語を選択してください。 個別トークンを選択した場合は必須
アクティベーション時の通知の省略 チェックボックス チェックなし(デフォルト)
  • 個別トークンは自動的にメールで送信されます。
  • 個別のアクティベーショントークンを受信したくない場合は、チェックを入れてください。


SEIエージェントコンテナ

Dockerエンジンのインストール

SEIエージェントはDockerコンテナイメージで提供されています。エージェントを実行するためのDockerエンジンがVMに必要です。

Ubuntu Server 22.04 LTSには標準でDocker Engineがインストールされていません。手動でのインストールが必要です。手順はDocker Inc.から提供されているオフィシャルドキュメントinstallation documentationを参照してください。

アクティベーショントークンの取得

  • 共有トークン
    • 共有トークンは、トークン1つで複数のエージェントをアクティベートすることができます。

    • 共有トークンを利用することで、同じスクリプトで複数のエージェントをDockerにデプロイすることができます。

    • セキュリティ確保のために、共有トークンはアプリケーションに表示されません。

    • 共有トークンのリクエストは、NTTのサポート窓口までご連絡ください。安全な通信手段によって共有トークンをご提供します。

  • 個別トークン
    • エージェント > アクティベート待ちタブに移動して、新しく作成されたエージェントを検索します。

    • エージェント名をクリックしてエージェントの詳細を表示してください。

クリックして拡大
  • エージェントページでエージェントタブをクリックし、個別アクティベーショントークンをコピーします。

クリックして拡大


SEIエージェントコンテナの実行

docker run コマンドでSEIエージェントコンテナを実行します。他のアプリケーション同様に、SEIエージェントもボリュームのマウントや環境変数でのパラメータ設定が必要です。SEIエージェントのコンテナイメージは cloudwan/watchdogagent:latest になrます。

以下に実行コマンドの例を示します。<ACTIVATION_TOKEN> を前述の手順で取得した実際のアクティベーショントークンに置き換えて実行してください。


docker run -d --rm --privileged \
  --name watchdogagent \
  --network host \
  -v /opt/watchdog:/etc/watchdog \
  -v /lib/modules:/lib/modules \
  -v /usr/src:/usr/src \
  -e "ACTIVATION_TOKEN=<ACTIVATION_TOKEN>" \
  -e "CONTROLLER_DOMAIN=apis.edgelq.com" \
  cloudwan/watchdogagent:latest

Notes:

  • -d オプション : デタッチモードで実行します。バックグラウンドプロセスで動作します。
  • --rm オプション : コンテナ終了時にコンテナを自動的に削除します。
  • --privileged オプション : セキュリティーの分離をオフにし特権モードで実行します。
  • --name watchdogagent オプション : コンテナの名前を指定します。
  • --network host オプション : ホストのネットワークスタックを利用します。
  • 認証情報や設定のファイルは /opt/watchdog に保存されます。

イメージファイルがローカルにない場合は、自動的にダウンロードします。

SEIエージェントコンテナのステータス確認

docker ps コマンドで、VM上で動作しているコンテナのリストを表示します。ステータスが stopped のコンテナを表示するには -a オプションを追加してください。

クリックして拡大

SEIエージェントコンテナのログ

docker logs コマンドでコンテナプロセスからのログを表示することができます。上記で実行したSEIエージェントコンテナのログを表示する場合は docker logs watchdogagent とします。-f オプション追加するとログの出力を継続します。


$ docker logs watchdogagent
2023-06-29 22:04:01,868 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
2023-06-29 22:04:01,870 INFO RPC interface 'supervisor' initialized
2023-06-29 22:04:01,871 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2023-06-29 22:04:01,871 INFO supervisord started with pid 1
2023-06-29 22:04:02,874 INFO spawned: 'watchdogagent' with pid 8
2023-06-29 22:04:02,878 INFO spawned: 'watchdogupdater' with pid 9

SEIエージェントコンテナの停止

docker stop コマンドでコンテナを停止します。上記で実行したSEIエージェントコンテナを停止する場合は docker stop watchdogagent とします。--rm を追加すると停止後にコンテナを削除します。


$ docker stop watchdogagent
watchdogagent


SEIエージェントコンテナの更新

以下2種類の更新方法があります

  • SEIバイナリファイルの更新(内部の更新):
    • デフォルトの動作として、SEIエージェントコンテナは、Dockerイメージのバージョンに関係なく、自動的に内部のバイナリファイルを最新に更新するようになっています。

    • そのため通常SEIエージェントがリリースされると自動的に更新され、手動操作は必要ありません。

    • 特定のバージョンを維持したい場合には、環境変数にDISABLE_AUTO_UPDATE=trueを指定して、自動更新を無効にしてください。

  • Dockerイメージ自体の更新:
    • DockerイメージはSEIのバージョンごとにリリースされます。

    • 前述のとおり内部のバイナリファイル更新の仕組みがあるので、Dockerイメージの更新が必要となる頻度は多くありません。ベースイメージのEOLやSEIエージェントへの新コマンドの追加など、特定のケースにのみ手動でのDockerイメージの更新が必要になります。

    • そのような特定ケースがあった場合には、docker pull cloudwan/watchdogagent:latest コマンドにて最新のイメージに更新してください。


後方互換性

  • SEIエージェントのバージョン後方互換性は最大限配慮しています。
  • 将来的に後方互換性を失うことが判明した場合には、可能な限り前もって通知を行います。
  • 一方、常に最新バージョンを利用されることを強く推奨します。


エージェントのリリース通知

  • エージェントのリリース通知はリリースノート SEIエージェントで行います。
  • 手動アップデートが必要なアップデートは、NTTのコンタクトを通じて通知され、またリリースノートに掲載されます。
  • エージェントビューのエージェントリストでバージョンをフィルタすることで、古いバージョンで動作しているクラウドエージェントを簡単に探すことができます。


SEIエージェントコンテナイメージの削除

SEIエージェントコンテナだけでなくコンテナイメージの削除が必要になった場合は、docker rmi コマンドを実行します。上記で作成したイメージファイルを削除する場合は docker rmi cloudwan/watchdogagent:latest とします。イメージを使用しているコンテナが動作中の場合には、このコマンドは実行できません。


デプロイメントの確認

5分ほど待ち、SEIダッシュボードでアクティベーションが成功しているか確認してください。

  • エージェントビューへ戻りアクティベート済みタブをクリックしてください。
  • エージェントを検索します。
  • 左端の緑のドットがエージェントがアクティブであることを示します。
  • エージェントがプロービングディストリビューションに設定されているエージェントグループに属する場合は、メトリクスも表示されるようになります。
    • 時間範囲を1時間に設定します。
    • エージェントの名前をクリックし現在のメトリクスとアクティベーションされてからのタイムシリーズデータを表示します。

クリックして拡大

クリックして拡大





この記事の内容