セルフホスト型 Classic Edition のインストール ( Docker )

セルフホスト型クラシックエディション( Docker ) は、シングルホストまたはデュアルホストのいずれかの構成でインストールできます。

注: セルフホスト型クラシックエディション( Docker ) は、機能や性能が限定されています。 さらなる機能や性能を活用するには、 Standard Edition をインストールするか、移行してください。 Instana を初めて導入する場合は、Classic Editionではなく Standard Edition をインストールしてください。

このタスクについて

シングルホストインストールとは、すべての Instana コンポーネントおよびデータストアが、 Docker コンテナとして単一のホストにインストールされることを意味します。

デュアルホスト構成とは、 ClickHouse を ZooKeeper がインストールされた1台のホストに展開し、その他の Instana コンポーネントおよびデータストアを別のホストに展開することを意味します。

各オプションの利点の詳細については、 「インストールオプション」 を参照してください。

準備

Classic Edition要件」に記載されている、対応OS、対応 Docker バージョン、最小要件、ネットワークセキュリティに関する注意事項、および前提条件を満たしている必要があります。

注:

  • ウィルス・スキャナーがインストールを妨げる可能性があります。 Operation not permittedなどの権限関連のエラーが発生した場合は、ウィルス・スキャナーを非アクティブ化して再試行してください。

  • エアギャップ環境の Docker にClassic Edition をインストールするには、 「単一ホストへのインストール」または 「デュアルホストへのインストール 」のセクションに記載されている手順でインストールを開始する前に、まず「ターゲットホストでのエアギャップインストール」のセクションの手順を完了してください。

エアギャップ環境へのインストール

エアギャップ化された Docker 環境内のターゲットホストに Classic Edition をインストールするには、以下の手順を実行してください。

Instana バックエンドをインストールする対象ホストがインターネットに接続されている場合は、これらの手順をスキップし、「 単一ホストへのインストール 」または 「デュアルホストへのインストール」 のセクションに直接進んでください。

前提条件: インターネット接続のないターゲット・ホストに Docker がインストールされていることを確認します。

  1. インターネットに接続されているホスト上で、「 Instana パッケージのインストール 」の手順に従って instana-console インストールしてください。

  2. 必要なバイナリー・ファイルをダウンロードします。

    エア・ギャップ・インストールには、以下の 2 つのファイルが必要です。

    • instana-console バイナリー

      Ubuntu/Debianの場合は、 apt-get download instana-console コマンドを実行します。

      Red Hat/CentOS の場合は、yum install --downloadonly instana-console コマンドを実行します。

      あるいは、 Instana リポジトリをミラーリングすることもできます。

    • Instana Docker コンテナを含むアーカイブ

      instana images export コマンドを実行して、実行ディレクトリー内に export-{version}.tar ファイルを作成します。

  3. インターネットに接続されていないターゲット・ホストにファイルをコピーします。

  4. 以前ダウンロードして転送したパッケージから instana-console をインストールします。

  5. Docker がインストールされていることを確認します。

  6. instana images import -f <path/to/export-{version}.tar>コマンドを実行してコンテナをインポートします。

  7. 単一ホストへのインストール 」または「 デュアル・ホストへのインストール 」セクションの説明に従って、インストールを開始します。

必須コンテナーのリストを確認するには、 instana images version コマンドを実行します。 このコマンドは、すべての Docker コンテナーとそれに対応するバージョンをリストします。

詳しくは、 イメージ・コマンド のセクションを参照してください。

イメージ・コマンド

インストーラーには、Instana Docker イメージを管理するための一連のコマンドが付属しています。

画像をtar形式でエクスポートする

instana-console バージョンの必要なすべてのイメージを .tar ファイルにエクスポートするには、次のコマンドを実行します。

instana images export -k ${agent_key}

tarから画像をインポートする

エクスポート・イメージ tar をローカルの Docker キャッシュにインポートするには、次のコマンドを実行します。

instana images import -f /path/to/export.tar

画像のプリプル処理

必要なすべてのイメージをローカル Docker キャッシュにプリフェッチするには、以下のコマンドを実行します。

instana images pull -k ${agent_key}

画像をカスタムレジストリにプッシュする

ローカル Docker キャッシュからカスタム・ホスト・レジストリーにコンテナーをプッシュするには、以下のコマンドを実行します。

instana images push -u ${registry_user} -p ${registry_pass} -r ${registry_url}

その後、 ファイル settings.hcl でレジストリを設定すると、インストーラーはインストールや更新の際にその設定されたレジストリを使用します。

画像とバージョンの一覧

このバージョンで現在必要なイメージのリストを返すには、次のコマンドを実行します。

instana images version

ローカル画像キャッシュの削除

現行バージョンで不要になったすべてのコンテナーをローカル・キャッシュから削除するには、次のコマンドを実行します。

instana images prune

単一のホストへのインストール

Instana パッケージのインストール

お使いのマシンに Instana パッケージをインストールするには、以下の手順に従ってください:

Ubuntu/Debian

root として、以下のコマンドを実行してリポジトリーを追加し、 < download_key> をダウンロード・キーに置き換えます。

export DOWNLOAD_KEY=<download_key>

echo 'deb [signed-by=/usr/share/keyrings/instana-archive-keyring.gpg] https://artifact-public.instana.io/artifactory/rel-debian-public-virtual generic main' > /etc/apt/sources.list.d/instana-product.list

cat << EOF > /etc/apt/auth.conf
machine artifact-public.instana.io
  login _
  password $DOWNLOAD_KEY
EOF

wget -nv -O- --user=_ --password="$DOWNLOAD_KEY" https://artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-debian-public-virtual | gpg --dearmor > /usr/share/keyrings/instana-archive-keyring.gpg

次に、以下のコマンドを実行して instana-console をインストールします。

apt update -y
apt install -y instana-console

自動アップグレード中に大幅な更新が行われないようにするには、以下のコマンドを実行します。

cat > /etc/apt/preferences.d/instana-console <<EOF
Package: instana-console
Pin: version <version to pin>
Pin-Priority: 1000
EOF

Red Hat/CentOS

root として、以下のコマンドを実行してリポジトリーを追加し、 < download_key> をダウンロード・キーに置き換えます。

export DOWNLOAD_KEY=<download_key>

cat << EOF > /etc/yum.repos.d/Instana-Product.repo
[instana-product]
name=Instana-Product
baseurl=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/rel-rpm-public-virtual/
enabled=1
gpgcheck=0
gpgkey=https://_:$DOWNLOAD_KEY@artifact-public.instana.io/artifactory/api/security/keypair/public/repositories/rel-rpm-public-virtual
repo_gpgcheck=1
EOF

次に、以下のコマンドを実行して instana-console をインストールします。

yum clean expire-cache -y
yum update -y
yum install -y instana-console

versionlockプラグインがホストにインストールされていない場合は、以下のコマンドを実行してプラグインをインストールしてください。

yum install python3-dnf-plugin-versionlock

自動アップデート中にメジャー・アップデートを受けないようにするには、以下のコマンドを実行する:

yum versionlock add instana-console

Instana バックエンドのインストール

重要:Instana コマンドを実行するには、ルートユーザー権限が必要です。これは、カーネル内のいくつかの値を調整し、各マウントポイントのアクセス権が正しく設定されていることを確認する必要があるためです。 Instana コンテナーは、root 化されないように実装されています。 そのため、インストーラーには root ユーザーが必要ですが、アプリケーション自体は提供された instana ユーザーで実行されます。
  1. 以下のコマンドを実行して、お使いのマシンに Instana バックエンドをインストールしてください:

    instana init
    

    instana init コマンドを実行したディレクトリと同じ場所にファイル settings.hcl が生成されます。

  2. single (単一ホスト・インストール) を選択します。

  3. 以下の情報を入力します。

    • テナント名とユニット名。

      • テナント名は正規表現パターン ^[a-z][a-z0-9]*$と一致する必要があります。
      • テナント名の最大長は 15 文字を超えてはなりません。
      • テナント名の先頭は英字でなければなりません。
      • テナント名は英数字で構成できます。
      • 文字は小文字でなければなりません。
    • エージェント・キーとセールス・キー。

    • DNS 名。

    • 証明書ファイルのパス。 パスが定義されていない場合、Instana は、UI (tls.crt) および鍵 (tls.key) の HTTPS TLS 証明書を cert フォルダーに生成します。 独自の自己署名証明書を生成するには、次のコマンドを実行し、 <hostname> を Instana バックエンドをインストールするホストの名前に置き換えてください:

      openssl req -x509 -newkey rsa:2048 -keyout tls.key -out tls.crt -days 365 -nodes -subj "/CN=<hostname>"
      
  4. 表示されている認証情報を使用して、 Instana のUIにサインインしてください。

  5. Instana がデプロイされた後、 ライセンスのアクティブ化

2台のホストへのインストール

(任意):既存のマシンからデータをコピーする

現在のインストール済み環境からマイグレーションするには、既存のデータを新しいマシンに移動する必要があります。

これを行うには、元のインストール済み環境から既存の data および log ディレクトリーをコピーすることをお勧めします。 元の settings.hcl ファイルを調べて、これらのディレクトリーがマウントされている場所を見つけることができます。

Instana が停止した後、以下のディレクトリからコピーすることができます:

  • clickhouseという名前のすべてのディレクトリー ( /mnt/traces/clickhouse/mnt/log/instana/clickhouseなど)。
  • zookeeperという名前のすべてのディレクトリー ( /mnt/data/zookeeper/mnt/log/instana/zookeeperなど)。

これらのディレクトリーを新しいマシン上の同じディレクトリーに移動し、新しい settings.hcl ファイルを構成します。

注: 古いディレクトリを削除する必要はありませんが、新しい環境が正常に動作し始めたら、削除することをお勧めします。

instana-console のインストール

前述のように、リポジトリーから instana-console をインストールします。

Docker デーモンのポートを公開する

計算インスタンスのインストーラーは、前提条件を検査するために、このホストのポート :2376 への接続を試行します。 この Docker デーモン・ポートを公開する必要があります。

正しく設定されていない場合は、以下のエラー・メッセージが表示されます。

remote docker daemon is not reachable on host <clickhouse-host>:2376 : Cannot connect to the Docker daemon at tcp://<clickhouse-host>:2376. Is the docker daemon running?

リモート ClickHouse ホスト上で Docker エンジン api を有効にするには、以下の手順に従います。

  • 端末で /lib/systemd/system にナビゲートし、 docker.service ファイル vim /lib/systemd/system/docker.service を開きます。
  • ExecStart で始まる行を見つけ、 -H=tcp://0.0.0.0:2376 を追加して ExecStart=/usr/bin/dockerd -H=fd:// -H=tcp://0.0.0.0:2376 のようにします。
  • 変更したファイルを保存します。
  • docker デーモンを再起動する systemctl daemon-reload
  • コンテナー sudo service docker restart を再始動します。

最初のホストへの ClickHouse とZookeeperのインストール

対話式

instana init コマンドを実行し、タイプとして dual-clickhouse を選択し、対話式ダイアログに従います。

自動

settings.hcl ファイルで、次のように入力します。

  type = "dual-clickhouse"

次のコマンドを実行して、 Instana をインストールします:

instana init -y

IPtables を使用した ClickHouse サーバーのセキュリティ対策

マルチホスト環境で ClickHouse サーバーを保護するには、以下の例を参照してください。 この例では、 Instana バックエンドホストから発信されたI/Oのみが、 ClickHouse ホストにアクセスできるようにしています。

後で、Instana バックエンド・サーバーから ClickHouse ホストに SSH 接続する必要があります。 あるいは、SSH接続を行う端末のIPアドレスを追加で指定する必要があります。

iptables -A INPUT -s $(instana backend host IP) -j ACCEPT
iptables -A OUTPUT -d $(instana backend host IP) -j ACCEPT
iptables -A INPUT -d $(ssh host IP) -j ACCEPT #optional
iptables -A OUTPUT -d $(ssh host IP) -j ACCEPT #optional
iptables -A INPUT -j REJECT
iptables -A OUTPUT -j REJECT

2台目のホストに Instana の残りの部分をインストールする

対話式

instana init コマンドを実行し、タイプとして dual-instana を選択し、対話式ダイアログに従います。

自動

type フィールドを調整し、 ClickHouse IP を settings.hcl ファイルに追加します。

  type                    = "dual-instana"
  clickhouse_bind_address = <IP of ClickHouse box>

次のコマンドを実行して、 Instana をインストールします:

  instana init -y

次のタスク

セルフホスト型 Instana バックエンドの監視

セルフホスト型の Instana バックエンドの状態を監視するには、 Instana ホストエージェントを INFRASTRUCTUREモードでインストールすることをお勧めします。 そうすれば、 Instana のバックエンドについて、さまざまなヘルスチェックやメトリクスを収集できるようになります。

注: インフラストラクチャモードは必須です。 APMモードは、自社でホストしているバックエンドサービスに不要な負荷をかける可能性があります。 詳細については、 「ホストエージェントのモード」 を参照してください。

ホストエージェントのインストールに関する詳細については、 「ホストエージェントのインストール」 を参照してください。

オプション機能の有効化

一部の機能は、デフォルトでは自己ホスト・バックエンドで有効になっていません。 このような機能は、追加の構成オプションを使用して有効にすることができます。

オプション機能の詳細および有効化方法については、 「オプション機能の有効化」 を参照してください。

Docker のプライベートレジストリを指定する

後のバックエンド・マイグレーションまたはアップグレードのレジストリーとしてプライベート Docker レジストリーを指定するには、以下のコマンドを実行します。

  • 単一ホスト・インストール:

    instana containerize --type single -y --registryUrl {url} --registryUser {user} --registryPass {pass}
    
  • デュアル・ホスト・インストール:

    instana containerize --type dual-clickhouse -y --registryUrl {url} --registryUser {user} --registryPass {pass}
    
    instana containerize --type dual-instana -y --registryUrl {url} --registryUser {user} --registryPass {pass}