在Linux上安装代理

您可以根据自己的需求,使用不同的方法在Linux上安装主机代理。 请查看以下章节,了解必备条件,了解所有可用的安装方法,并在 Linux 上安装主机代理。

选择安装代理的方式

从以下安装选项中选择一个,然后单击相关链接继续:

  • 在在线环境中(即主机能够与托管在 Instana 上的代理仓库进行通信),您可以在受支持的 Linux 发行版上使用单行命令安装技术自动安装主机代理。 更多信息,请参阅通过自动(单行)脚本安装代理

  • 另外,在联机或脱机(空中加油)环境中,可以手动下载代理软件包,然后手动安装软件包,或者创建一个存储库,并指示软件包管理器为您安装软件包。 如需更多信息,请参阅 《通过包管理器或手动安装代理(DEB、RPM) 》。

  • 您可以通过 ".tar文件安装和运行代理。

    要通过 ".tar文件安装和运行代理,请下载并解压该文件,然后启动代理。 更多信息,请参见 "通过 ".tar文件安装和运行代理

  • 您可以以具有 Linux 内核权限(公开预览版)的非root用户身份安装并运行该代理。

    注意: 非root代理现已作为公开预览功能推出,支持 systemd 并具备增强的功能。 有关安装、配置和支持功能的更多信息,请参阅《 以非 root 用户身份运行代理(公开预览版)》

使用自动(单行)脚本安装代理程序

代理单行本是一个功能强大的脚本,可用于在Linux操作系统上自动安装主机代理。 要使用单行程序安装主机代理,请完成以下步骤:

注意: 该单行命令支持以下 Linux 发行版: Debian 衍生版(apt包管理器) Red Hat 衍生版(yum包管理器) SUSE 衍生版(zypp包管理器)
  1. 在 Instana 用户界面的首页上,点击 “代理与收集器 ”。 在 “ Instana ”的“代理”选项卡中,选择 “安装代理 ”。

    如果您正在启动一个新的 Instana 试用实例,系统会显示代理目录,并提示您选择要安装的主机代理。

  2. 在代理部署目录页面上,单击磁贴Linux- 自动安装(单线)

  3. 选择代理打包模式。

    • 打包部分,选择要部署的代理类型(Dynamic或 "Static)。 要了解静态代理和动态代理的区别,请参阅主机代理类型

    • 运行时部分,选择要在代理计算机上使用的运行时,并选择代理部署方法(Interactive或 "Silent)。

    该脚本已预先填入了您的代理密钥主机代理端点

    如果更改了选项,脚本参数也会随之更新。

    例如,用户界面提供了以下脚本,用于使用 "Dynamic打包选项以及 Azul Zulu 11 和交互式运行时选项安装代理:

    curl -o setup_agent.sh https://setup.instana.io/agent && chmod 700 ./setup_agent.sh && sudo -E ./setup_agent.sh -a <your_agent_key> -d <your_agent_key> -t dynamic -e <host-agent-endpoint>
  4. 如果要以服务形式安装和启动主机代理,请选择 "Install and start as service (only supported for SystemD-based systems)。 然后,在脚本中添加 "-s参数。

    注意: 此选项仅适用于基于 systemd 的系统。
  5. 将脚本复制到要安装主机代理的机器上,然后运行脚本安装主机代理。

    在运行脚本之前,您可以添加其他参数以获得更多选项。 有关可用参数的说明,请参阅单行脚本参数

    安装 Instana 主机代理需要root用户权限。

现在主机代理已安装完毕。 单击查看已部署的代理,在基础架构地图上查看代理。

关于安装后的操作,请转到下一步操作部分。

注意: 通过创建仓库文件, Instana 的公共系统软件包仓库已添加到您的系统中。 此文件将 Instana 上的经过身份验证的仓库添加到该机器的安装源中。

单行脚本参数

单行脚本接受以下参数:

参数 描述
-a =(必需) 代理键
-d =(可选) Instana 的下载密钥。 如果您使用的是自托管(本地部署)的 Instana ,密钥将由 Instana 提供。
-e =(必需) 主机代理端点
-m =(可选) 设置 Instana 代理模式, apm (默认), infra,或 aws
-t =(可选) 代理类型,"dynamic(默认)或 "static
-j =(可选) 选择 Eclipse OpenJ9 11 作为捆绑的 Java 运行时。
-y =(可选) 非交互式提示。 如果要在不使用交互式 shell 的情况下安装代理,请指定它。
-s =(可选) 启动 "instana-agent服务,并使其在开机时启动。 该选项仅适用于运行 "systemd的系统。
-g =(可选,如果设置了 -b,那么需要) 用于主机代理基于 Git 的配置管理功能的远程 URL 规范。
-b =(可选,如果设置了 -g,那么需要) 主机代理基于 Git 的配置管理功能所跟踪的远程分支名称。
-u =(可选,如果设置了 -p,那么需要) 如果您正在使用基于 HTTP 的远程连接来调用主机代理的基于 Git 的配置管理功能,则此处指基本身份验证的用户名。
-p =(可选) 如果您正在使用基于 HTTP 的远程连接来实现主机代理的基于 Git 的配置管理功能,则此处为基本身份验证的密码。

使用软件包管理器或手动安装代理(DEB、RPM)

除了通过自动化(一行命令)脚本安装代理外,您还可以从 Instana 用户界面下载适用于 DEB 或 RPM 的代理包。 然后,指示软件包管理器为您安装软件包或手动安装软件包。

当代理与托管在 Instana 上的代理仓库无法通信或不希望进行通信时,您可以改用本地镜像。 您可以配置 Instana 主机代理,使其使用代理存储库作为镜像源,配置其他镜像源,或更改代理存储库的位置。

下载代理程序包

注意: 如果您使用的是自托管的后端,后端版本必须为 275 才能下载代理程序包。

要下载 Instana 代理程序包,请按照以下步骤操作:

  1. 在 Instana 用户界面的首页上,点击 “代理与收集器 ”。 在 “ Instana ”的“代理”选项卡中,选择 “安装代理 ”。

    如果您正在启动一个新的 Instana 试用实例,系统会显示代理目录,并提示您选择要安装的主机代理。

  2. 在代理部署目录页面上,单击磁贴Linux- 软件包(DEB、RPM)

  3. 选择代理配置。

    • 打包部分,选择要部署的代理类型(Dynamic或 "Static)。 要了解静态代理和动态代理的区别,请参阅主机代理类型

    • 运行时部分,选择Azul Zulu 11Eclipse OpenJ911运行时。

    • 在 "模式"部分,选择要使用的软件包模式(RPM或 "DEM)。

  4. 平台架构部分,选择要安装主机代理的Linux机器的架构。

  5. 单击下载图标,从网络浏览器下载主机代理软件包(DEB 或 RPM)。

注意: 在未连接互联网的离线(物理隔离)环境中,您可以直接从 Artifactory 下载 DEBRPM 格式的代理程序包。 确保下载最新的软件包。

现在代理软件包已下载完毕。 Go 请转到下一节以安装代理程序包。

安装代理程序包

指示软件包管理器安装代理软件包或手动安装代理软件包。

要使用软件包管理器安装代理软件包,请根据您的Linux发行版使用以下方法之一:

Debian derivatives(apt 包管理器)
  1. 下载并安装 Instana 的 GPG 密钥:

    wget -qO Instana.gpg https://packages.instana.io/Instana.gpg
    sudo mkdir -p /usr/share/keyrings
    sudo gpg --dearmor < Instana.gpg > /usr/share/keyrings/instana-agent.gpg
    sudo chmod 644 /usr/share/keyrings/instana-agent.gpg
    rm Instana.gpg
    注意: 此现代方法取代了已弃用的 apt-key 命令,并与 Debian 9+、 Ubuntu、 16.04 +及更高版本兼容。
  2. 通过创建以下文件,为 apt 包管理器准备 Instana 代理包所需的资源:

    # /etc/apt/sources.list.d/instana-agent.list
    deb [arch=amd64 signed-by=/usr/share/keyrings/instana-agent.gpg] https://packages.instana.io/agent generic main
    # /etc/apt/auth.conf.d/instana-packages.conf
    machine packages.instana.io
    login _
    password <your_agent_key>
    注: 或者,您也可以在 URL 中硬编码认证 /etc/apt/sources.list.d/instana-agent.list信息。 不过,这种方法会带来轻微的安全风险,并且在安装或更新 Instanaapt 软件包时会显示警告。
基于 RPM 的发行版(yum 包管理器)
  1. 将以下代码片段复制到 yum 源中(/etc/yum.repos.d/Instana-Agent.repo):

    [instana-agent]
    name=Instana
    baseurl=https://_:<your_agent_key>@packages.instana.io/agent/generic/x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.instana.io/Instana.gpg
    priority=5
    sslverify=1

    <your_agent_key>替换为您的代理密钥

  2. 对于某些发行版,如果要启用 GPG 软件包验证,需要事先将密钥导入软件包管理器的密钥环。

    要导入密钥,请运行以下命令:

    rpm --import https://packages.instana.io/Instana.gpg

openSUSE/SLES (zypp 包管理器)

对于openSUSE和SUSE Linux Enterprise Server,路径为 "/etc/zypp/yum.repos.d/Instana-Agent.repo,但内容可以与基于 RPM 的发行版保持一致。

现在代理软件包已安装完毕。 刷新软件包管理器的源代码后,转到下一节继续。

制备试剂

  1. 配置主机代理端点代理密钥

    要查找端点、端口和代理密钥的值,请转到 Instana 用户界面的主页,然后单击 “代理部署 ”。 在代理部署目录页面上,单击“ Linux - 自动安装(单行命令) ”磁贴。 然后,就可以在部署脚本中看到端点、端口和代理键值。

    请参见以下脚本示例:

    curl -o setup_agent.sh https://setup.instana.io/agent && chmod 700 ./setup_agent.sh && sudo -E ./setup_agent.sh -a aGeNTKEY0vaLuO0Eu1ABc -d n3asffgkg -t dynamic -e ingress-green-saas.instana.io:443
  2. 在安装主机代理之前设置环境变量。

    export INSTANA_AGENT_KEY=$agentkey
    export INSTANA_AGENT_ENDPOINT=$endpoint
    export INSTANA_AGENT_ENDPOINT_PORT=$endpoint_port
    注意: 在代理配置中使用 INSTANA_AGENT_PORT 环境变量 INSTANA_AGENT_HOST 和 已弃用。 这些环境变量专用于配置 Instana 追踪器以连接到代理。 如果这些设置是全局性的, Instana 追踪器将无法连接到代理。 在 Instana 的未来版本中,将不再支持使用这些环境变量来配置代理。

    设置环境变量的选项摘要:

    • Git配置管理:在文件中放置环境变量是一种不错的方法。 如需了解更多信息,请参阅 Git -based configuration management

    • Systemd: 使用“drop-in ”是覆盖服务环境配置的最简单方法。

    • SysVinit:将文件放入/etc/sysconfigRed Hat衍生版本)或/etc/defaultDebian衍生版本)。

    有关环境变量选项的更多信息,请参阅《 设置和覆盖环境变量》。

现在,代理安装的准备工作已经完成。 Go 请转至 “安装代理 ”部分继续操作。

安装代理程序

刷新软件包管理器的源代码,然后运行以下命令之一,在所选架构上安装代理:

  • Debian衍生工具

    • 要安装静态代理,请运行以下命令:

      apt-get install instana-agent-static
    • 要安装动态代理,请运行以下命令:

      apt-get install instana-agent-dynamic
  • Red Hat衍生产品

    • 要安装静态代理,请运行以下命令:

      yum install instana-agent-static
    • 要安装动态代理,请运行以下命令:

      yum install instana-agent-dynamic
  • Eclipse OpenJ911 捆绑软件包

    使用以下软件包名称之一安装主机代理:"instana-agent-static-j9或 "instana-agent-dynamic-j9

现在主机代理已安装完毕。 关于安装后的操作,请转到下一步操作部分。

.tar 文件安装和运行代理

如果要通过 ".tar文件安装和运行代理,请下载并解压该文件,然后启动代理。

.tar 文件中已预先填入了您的代理密钥主机代理端点

按照以下步骤从 ".tar文件安装代理:

  1. 检查先决条件
  2. 下载代理程序
    • 使用用户界面下载代理
    • 使用 wget 下载代理
  3. 启动代理程序

检查先决条件

安装主机代理之前,请确保满足以下前提条件:

  • 代理必须能够使用以下任一选项获取 Java 开发工具包(JDK):

    • 将 JDK 放入或链接到 "<instana-agent-install-dir>/jvm(以便 "<instana-agent-install-dir>/jvm/bin/java存在)。

    • 可定制的方法是导出一个环境变量JAVA_HOME,指向该 JDK(该环境变量也可设置为 "instana-agent-install-dir>/bin/setenv)。

    运行代理支持以下 JDK:

    JVM 必须对系统上的所有用户具有可执行权限。 建议您使用所选择的 Java 分发的最新可用补丁发行版。 该代理需要一个支持 TLSv1.3 的JDK(所有当前的JDK 11版本均支持此功能)。 由于出口管制的原因,操作系统发行商提供的软件包可能不包含强大的加密支持,具体取决于操作系统的发行情况。 如果您使用此类软件包,可能会遇到诸如“ java.lang.RuntimeException: 无法生成DH密钥对 ”之类的错误。

  • 要减少文件系统更改时代理占用的资源,必须在Linux发行版上安装 inotify-tools 软件包。

  • 确保用于运行代理的用户可以在代理目录及其所有子目录中写入内容。 代理根据自动检测功能下载所需的传感器,并在其 "data子目录下创建日志文件。

  • 确保有大约 100 MB 的可用磁盘空间。

  • 代理从以下主机下载更新和传感器。 确保可以访问以下主机和端口:

    • DNS 姓名artifact-public.instana.io
    • 目的地端口:"tcp/80和 "tcp/443
  • 目前, Instana 服务在两个不同的区域提供。 您的个人实例在地理位置上最靠近您的大多数代理和用户。 代理在下载时已预先配置,但某些安装方法需要配置 Instana 后端。 请查阅产品内的“代理管理”部分,或通过 IBM 联系您的技术支持人员,以了解您的实例所在的区域。

  • 如果您使用的是自托管(本地部署)的 Instana ,请使用在 Instana 后端安装过程中定义的端点。 您还可以在 Instana 用户界面中查看代理向其报告的端点。 在 Instana 用户界面的首页上,点击 “代理与收集器 ”。 在 “ Instana ”的“代理”选项卡中,选择 “安装代理 ”,并勾选部署代码或 YAML 配置。

  • 如果您使用的是 Instana SaaS, ,请使用 “主机代理端点 ”中所述的端点。

下载代理程序

您可以通过以下任一方式下载主机代理:

  • 请按照以下步骤从 Instana 用户界面下载代理:

    1. 在 Instana 用户界面的首页上,点击 “代理与收集器 ”。 在 “ Instana ”的“代理”选项卡中,选择 “安装代理 ”。

      如果您正在启动一个新的 Instana 试用实例,系统会显示代理目录,并提示您选择要安装的主机代理。

    2. 在代理部署目录页面上,单击磁贴Linux- Archive (tar.gz)

    3. 打包部分,选择要部署的代理类型(Dynamic或 "Static)。 要了解静态代理和动态代理的区别,请参阅主机代理类型

    4. 在下拉列表中,选择平台架构(操作系统)。

      该存档文件已根据您的 Instana 账户设置自动预配置,因此您只需解压并启动代理程序即可。

    5. 点击下载图标,从网络浏览器下载主机代理软件包文件tar.gz),然后解压该文件。

  • 运行以下命令,用 wget 下载代理:

    wget --save-cookies {{agent_folder_name}}/instana-cookies.txt --post-data 'email={{instana_username}}&password={{instana_password}}' https://{{instana_tenant_unit}}-{{instana_tenant}}.instana.io/auth/signIn
    wget --content-disposition --load-cookies {{agent_folder_name}}/instana-cookies.txt --post-data 'type=linux64' https://instana.io/ump/{{instana_tenant}}/{{instana_tenant_unit}}/agent/download -O {{opt_folder}}/{{name_of_agent_archive.tar.gz}}

现在已下载主机代理。 Go 请转到下一节以启动代理。

启动代理程序

将提取的代理软件包文件放到系统范围内可访问的位置,并以根用户身份运行代理。

注意: 如果以其他用户身份运行主机代理,其功能将受到限制。 原因是有些性能指标只有根支持。 只有在 Docker 主机上,root 用户才能对 Docker 容器进行监控。 此外,只有 root 用户或 startup 用户才能连接并监控 Java 虚拟机( Java ,JVM)。 如果无法以 root 用户身份运行主机代理,请确保代理用户已在 sudoers 文件中列出,并拥有有效的 shell。

要启动代理程序,请运行以下命令:

INSTANA_AGENT_FOLDER/bin/start

现在,主机代理已安装并启动。 有关安装后的操作,请参阅下一步操作。

以非root用户身份安装并运行 Instana 代理

现在,在支持 Linux 内核功能的系统上,已支持以非root用户身份运行代理,该功能目前处于公开预览阶段。 该代理支持所有传感器和追踪器功能。 如需了解更多信息,请参阅非root代理的全面安装和配置指南