セルフホスト型 Classic Edition のインストール ( Docker )
セルフホスト型クラシックエディション( Docker ) は、シングルホストまたはデュアルホストのいずれかの構成でインストールできます。
このタスクについて
シングルホストインストールとは、すべての Instana コンポーネントおよびデータストアが、 Docker コンテナとして単一のホストにインストールされることを意味します。
デュアルホスト構成とは、 ClickHouse を ZooKeeper がインストールされた1台のホストに展開し、その他の Instana コンポーネントおよびデータストアを別のホストに展開することを意味します。
各オプションの利点の詳細については、 「インストールオプション」 を参照してください。
準備
「 Classic Edition の要件」に記載されている、対応OS、対応 Docker バージョン、最小要件、ネットワークセキュリティに関する注意事項、および前提条件を満たしている必要があります。
注:
ウィルス・スキャナーがインストールを妨げる可能性があります。
Operation not permittedなどの権限関連のエラーが発生した場合は、ウィルス・スキャナーを非アクティブ化して再試行してください。エアギャップ環境の Docker にClassic Edition をインストールするには、 「単一ホストへのインストール」または 「デュアルホストへのインストール 」のセクションに記載されている手順でインストールを開始する前に、まず「ターゲットホストでのエアギャップインストール」のセクションの手順を完了してください。
エアギャップ環境へのインストール
エアギャップ化された Docker 環境内のターゲットホストに Classic Edition をインストールするには、以下の手順を実行してください。
Instana バックエンドをインストールする対象ホストがインターネットに接続されている場合は、これらの手順をスキップし、「 単一ホストへのインストール 」または 「デュアルホストへのインストール」 のセクションに直接進んでください。
前提条件: インターネット接続のないターゲット・ホストに Docker がインストールされていることを確認します。
インターネットに接続されているホスト上で、「 Instana パッケージのインストール 」の手順に従って
instana-consoleインストールしてください。必要なバイナリー・ファイルをダウンロードします。
エア・ギャップ・インストールには、以下の 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ファイルを作成します。
インターネットに接続されていないターゲット・ホストにファイルをコピーします。
以前ダウンロードして転送したパッケージから
instana-consoleをインストールします。Docker がインストールされていることを確認します。
instana images import -f <path/to/export-{version}.tar>コマンドを実行してコンテナをインポートします。
「 単一ホストへのインストール 」または「 デュアル・ホストへのインストール 」セクションの説明に従って、インストールを開始します。
必須コンテナーのリストを確認するには、 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 initinstana init コマンドを実行したディレクトリと同じ場所にファイル
settings.hclが生成されます。single(単一ホスト・インストール) を選択します。以下の情報を入力します。
テナント名とユニット名。
- テナント名は正規表現パターン
^[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>"
表示されている認証情報を使用して、 Instana のUIにサインインしてください。
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 のバックエンドについて、さまざまなヘルスチェックやメトリクスを収集できるようになります。
ホストエージェントのインストールに関する詳細については、 「ホストエージェントのインストール」 を参照してください。
オプション機能の有効化
一部の機能は、デフォルトでは自己ホスト・バックエンドで有効になっていません。 このような機能は、追加の構成オプションを使用して有効にすることができます。
オプション機能の詳細および有効化方法については、 「オプション機能の有効化」 を参照してください。
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}