安装自托管经典版 ( Docker )

您可以使用单主机或双主机安装自托管经典版 ( Docker )。

自托管经典版 ( Docker ) 提供的功能和能力较少。 安装或迁移到 Standard Edition ,以获得更多特性和功能。 如果是首次部署 Instana,请安装 Standard Edition ,而不是经典版。

关于此任务

单主机安装意味着所有 Instana 组件和数据存储都以 Docker 容器的形式安装在一台主机上。

双主机安装意味着 ClickHouse 部署在一台安装了 ZooKeeper 的主机上,而 Instana 的其他组件和数据存储部署在第二台主机上。

有关各选项优点的更多信息,请参阅安装选项

准备工作

您必须满足经典版要求中所述的有关支持的操作系统、支持的 Docker 版本、最低要求、网络安全注意事项和先决条件的要求。

注:

在气隙环境中安装

要在空气屏蔽 Docker 环境中的目标主机上安装经典版,请完成以下步骤。

如果要安装 Instana 后端的目标主机已连接互联网,请跳过这些步骤,直接转到 " 在单主机上安装 "或 " 在双主机上安装 "部分。

前提条件: 确保 Docker 已安装在没有互联网连接的目标主机上。

  1. 在可连接互联网的主机上,按照安装 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 图像导出命令,在执行目录中创建 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

以根用户身份运行以下命令添加软件源,并将 <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

以根用户身份运行以下命令添加软件源,并将 <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

如果主机上未安装版本锁定插件,请运行以下命令安装该插件。

yum install python3-dnf-plugin-versionlock

为避免在自动更新期间获得主要更新,请运行以下命令:

yum versionlock add instana-console

安装 Instana 后台

重要提示: Instana 命令需要 root 用户才能运行,因为它需要调整内核中的某些值,并确保不同挂载点的访问权限设置正确。 Instana 容器实现为无根容器。 因此,即使 root 用户对于安装程序是必需的,应用程序本身也会在提供的实例用户中运行。

  1. 运行以下命令,在计算机上安装 Instana 后端:

    instana init
    

    A settings.hcl 文件会在运行 instana init 命令的同一目录下生成。

  2. 选择 single(单主机安装)。

  3. 输入以下信息:

    • 租户名称和单元名称。

      • 租户名称必须与正则表达式模式 ^[a-z][a-z0-9]*$ 匹配。
      • 租户名称的最大长度不得超过 15 个字符。
      • 租户姓名必须以字母开头。
      • 租户名称可以由字母数字字符组成。
      • 字符必须小写。
    • 代理程序密钥和销售密钥。

    • DNS 名称。

    • 证书文件的路径。 如果未定义任何路径,那么 Instana 将为 cert 文件夹中的 UI (tls.crt) 和密钥 (tls.key) 生成 HTTPS TLS 证书。 要生成自己的自签名证书,请运行以下命令,并将 <hostname> 替换为要安装 Instana 后端的主机名称:

      openssl req -x509 -newkey rsa:2048 -keyout tls.key -out tls.crt -days 365 -nodes -subj "/CN=<hostname>"
      
  4. 使用显示的凭证登录 Instana 用户界面。

  5. 部署 Instana 后,激活许可证

在双主机上安装

可选:从现有机器复制数据

要从当前安装迁移,需要将现有数据迁移到新机器上。

为此,最好从原始安装中复制现有的数据日志目录。 您可以查看 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 Daemon 端口。

如果设置不当,您会看到以下错误信息:

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

使用 ClickHouse 服务器确保安全 IPtables

要确保 ClickHouse 服务器在多主机环境中的安全,请参阅以下示例。 此示例确保只有来自 Instana 后端主机的 IO 才能访问 ClickHouse 主机。

之后需要通过 SSH 从 Instana 后端服务器连接到 ClickHouse 主机。 或者,您需要从要使用 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

在第二台主机上安装 Instana 的其余部分

交互式

运行 instana init 命令,选择 dual-instana 作为类型,然后按照交互式对话框操作。

无人照管

调整 type 字段,并在 settings.hcl 文件中添加 ClickHouse IP。

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

运行以下命令安装 Instana

  instana init -y

下一步

监控自我托管的 Instana 后台

建议您在 INFRASTRUCTURE 模式下安装 Instana 主机代理,以监控自托管 Instana 后端的健康状况。 然后,就可以为 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}