ヘルプ 管理 監視の追加 Docker監視の一括デプロイ方法

Dockerエージェントの一括デプロイ方法

DockerはSite24x7 Linuxエージェントで監視することが可能で、このエージェントはDocker HubSite24x7クライアントからインストールできます。一括デプロイ方法を用いて、複数マシンに一度にエージェントをインストール可能です。

AWS ECS

2ステップで完了します。

  1. タスク定義の作成:
    タスク定義の作成には2つの方法があります。
    1. Web UIの使用
    2. CLIの使用
  2. タスク定義のインスタンスを起動
    これを行うのに、IAMロールの作成を行います。その後、2つの方法でインスタンスを起動します。
    1. スタートアップスクリプトの追加によるSite24x7エージェントインスタンスの作成
    2. スタートアップスクリプトを用いないSite24x7エージェントインスタンスの作成
タスク定義の作成:
Web UIの使用
  1. AWSアカウントにログインします。
  2. [サービス]→[Elastic Container Service]の順にクリックします。
  3. [タスク定義]→[タスク定義の新規作成]の順にクリックします。
  4. タスク定義作成ページで、タスク定義名に[site24x7-agent-task]と入力します。
  5. [ボリュームの追加](上記画像の緑)をクリックして、次のボリュームを追加します。
    • Name:procfs、Source Path:/proc
    • Name:sysfs、Source Path:/sys
    • Name:dockerfs、Source Path:/var/run/docker.sock
  6. [コンテナの追加]をクリックして、次の情報を入力します。
    1. コンテナ名:site24x7-agent
    2. イメージ:site24x7/docker-agent:latest
    3. メモリ制限(ハードとソフトの両制限):256
    4. アドバンスコンテナ設定を開き、[ストレージとロギング]→[マウントポイント]で次のように入力します。
      • ソースボリュームに[dockerfs]を選択し、コンテナパスに[/var/run/docker.sock]と入力します。
      • ソースボリュームに[sysfs]を選択し、コンテナパスに[/host/sys]と入力します。
      • ソースボリューム[procfs]を選択し、コンテナパスに[/host/proc]と入力します。
      • 上記3つの読み取り専用ボックスにチェックを入力します。
    5. 環境欄の環境関数項目で、Keyに[KEY]、Valueに[デバイスキー]を入力します。
    6. [追加]をクリックして、コンテナを追加します。
  7. [作成]をクリックして、タスク定義を作成します。
CLIの使用:
  1. site24x7-agent-task.jsonをダウンロードして、ファイルにデバイスキーを追加します。
  2. 次のコマンドを実行します。
    aws ecs register-task-definition --cli-input-json file://<above_downloaded_file_path>
タスク定義のインスタンスを実行:
必要条件:IAMロールの作成
  1. AWSにログインし[サービス]→[IAM]に移動します。
  2. 左側のパネルで[ロール]→[ロールの作成]に移動します。
  3. AWSサービス配下で、[Elastic Container Service]をクリックし、ユースケースに[Elastic Container ServiceのEC2ロール]を選択します。[次へ:権限]をクリックします。
  4. [次へ:レビュー]をクリックし、ロール名に[site24x7-ecs-agent]と入力します。[ロール作成]をクリックします。
  5. 作成したロールをクリックし、[インラインポリシーの追加]をクリックします。
  6. ポリシー作成画面の[JSON]タブで、次のポリシーをペーストし、[ポリシーのレビュー]をクリックします。

    {
    "Version": "2012-10-17",

    "Statement": [
    {
    "Effect": "Allow",
    "Action": [
    "ecs:RegisterContainerInstance",
    "ecs:DeregisterContainerInstance",
    "ecs:DiscoverPollEndpoint",
    "ecs:Submit*",
    "ecs:Poll",
    "ecs:StartTask",
    "ecs:StartTelemetrySession"
    ],
    "Resource": [
    "*"
    ]
    }
    ]
    }

  7. ポリシー名を[site24x7-ecs-policy]とし、[ポリシーの作成]をクリックします。
ECSクラスターに追加するSite24x7エージェントのためのインスタンスを作成(スタートアップスクリプト使用)
  1. AWSにログインし、[サービス]→[EC2]に移動します。
  2. [インスタンスのローンチ]をクリックし、インスタンスを新規作成します。
  3. コミュニティAMIをクリックし"ecs optimized"と検索し、要件に基づいてイメージを選択します。
  4. インスタンスタイプを選択し、[次へ:インスタンス詳細設定]をクリックします。
  5. IAMロール項目で、作成したIAMロールか、デフォルトのecsInstance IAMロールを選択します。詳細情報項目のユーザーデータ欄で次の文字列をペーストします。

    #!/bin/bash

    # Specify the cluster that the container instance should register into

    cluster=<cluster_name>

    # Write the cluster configuration variable to the ecs.config file
    # (add any other configuration variables here also)
    echo ECS_CLUSTER=$cluster >> /etc/ecs/ecs.config

    # Install the AWS CLI and the jq JSON parser

    yum install -y aws-cli jq

    instance_arn=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F/ '{print $NF}' )

    cluster=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .Cluster' | awk -F/ '{print $NF}' )
    region=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F: '{print $4}')

    # Specify the task definition to run at launch

    task_definition=<task_definition_which_has_been_created_in_the_above_step>

    # Run the AWS CLI start-task command to start your task on this container instance

    aws ecs start-task --cluster $cluster --task-definition $task_definition --container-instances $instance_arn --started-by $instance_arn --region $region

  6. ユーザーデータで必須であるクラスターとタスク定義変数を置換します。その後、[レビューとローンチ]をクリックします。
ECSクラスターに追加するSite24x7エージェントのためのインスタンスを作成(スタートアップスクリプト未使用)
  1. AWSにログインし、[サービス]→[Elastic Container Service]
  2. 左側のパネルで、[クラスター]を選択し、エージェントをデプロイするクラスターをクリックします。
  3. [タスク]タブをクリックし、[新規タスクの実行]を選択します。
  4. タスク実行フォームで、タスク数項目のクラスター内に存在するノード数を入力します。
    タスクプレースメント配下で、プレースメントテンプレートに[ホストごとに1タスク]を指定します。
  5. [タスク実行]をクリックします。

Kubernetes

  1. site24x7-agent.yamlファイルをダウンロードし、Kubernetesマスターに保存します。<device_key>をSite24x7画面上のデバイスキーに置換します。
    プロキシを使用している場合、YAMLファイルのenv項目に名前とポートを指定してください。
    YAMLファイル内は次のようになっています。
    - name : KEY
    value: <device key>
    - name: proxy
    value : proxy_host:proxy_port
  2. 次のコマンドを実行します。
    kubectl create -f site24x7-agent.yaml
  3. これにより、Kubernetes内のデーモンセットとしてファイルが追加されます。

関連ガイド