管理主机代理

您可以使用 " 代理 "页面查看和管理向 Instana 报告的所有代理。

要打开代理页面,请从 Instana UI 的导航菜单中选择数据源 > Instana 代理

Instana 代理选项卡显示以下信息:

  • 代理总数 :显示 Instana 租户单元中配置的代理总数(包括报告未报告 )。
  • 报告代理 :提供在选定期间内向 Instana 租户单位报告的所有代理的图表。 在所选期间未提交报告的代理机构将被排除在外。 您可以选择条形图放大查看细节,突出显示所有图表的细节,并以 JSON 和 CSV 格式导出数据。
  • 代理详情 :提供所有代理的快速概览,包括其主要属性和状态。
注: 使用页面上的搜索栏可缩小搜索范围,只搜索部分代理商的详细信息。 更多信息,请参阅动态焦点查询

此外,您还可以直接从代理页面执行以下操作:

  • 更新所有代理程序:将所有报告代理程序更新为最新版本。
  • 重置所有代理程序:重置所有报告代理程序。
  • 安装代理:打开代理部署页面。 您可以从网格中选择所需的代理,打开其安装页面。
  • 安装基于代理的集成:使用单行安装程序安装 IBM 监控集成服务。 更多信息,请参阅基于代理的集成
注意: 要查看这些选项,用户账户必须具有 Configuration of agents 权限。 有关用户、角色和权限的更多信息,请参阅管理用户访问

使用代理仪表板管理代理

要管理单个代理,必须打开其仪表板。 您可以使用代理仪表板查看重要指标的实时信息,并根据需要配置代理。

要打开某个代理的仪表板,请从代理详细信息表中选择该代理。

或者,单击 Instana 用户界面导航菜单中的 " 基础设施 "。 选择所需的主机,然后单击打开仪表板。 在主机仪表板中,滚动到末尾并单击打开代理管理

您可以使用代理仪表板执行以下任务:

更改代理模式

必须为基于主机的许可指定主机代理模式。 主机代理模式用于识别代理是基础架构代理还是 APM 代理。

要更改代理模式,请单击更改代理模式。 在更改代理模式对话框中,从下拉列表中选择所需的代理模式。 列表中有以下模式可供选择:

  • APM :表示 APM 主机代理模式。
  • 基础设施 :表示 INFRASTRUCTURE 主机代理模式。
  • 已禁用 :表示 OFF 主机代理模式。
注: 如果将模式设置为 Disabled ,则代理不报告任何数据,也不包括在管理的 Virtual Servers ( MVS ) 计数中。

更改日志级别

您可以设置日志级别,以指定代理日志中包含的详细程度。

要更改日志级别,请单击更改日志级别。 在更改日志级别对话框中,从下拉列表中选择所需的级别。 列表中有以下级别:

  • 信息 :提供正常级别的详细信息。
  • DEBUG :为故障排除提供更多详细信息。

重新设置代理

您可以通过单击 “重置代理”“重置传感器” 来重置代理和传感器。

重置代理与代理重启过程类似,但当前进程仍处于活动状态。 这意味着操作系统级监控程序和服务脚本看不到进程标识符 (pid) 的变化。

注: 重置期间,主机代理不能提供任何数据。

重启剂

您可以重启代理,停止当前代理进程并创建新的进程。

所使用的启动脚本的进程不会改变,但操作系统级看门狗和服务脚本可能会看到一个已更改的进程标识符 (pid) ,这取决于它们的监视目标。

注: 重启期间,主机代理无法提供任何数据。

查看代理和传感器信息

要查看代理使用的传感器和主机代理组件列表,请单击传感器信息

要查看代理配置,请单击代理配置

要下载代理日志,请单击代理日志

启用基于 Git 的配置管理

您可以在代理控制面板的 “配置管理 ”部分启用并配置基于 Git 的配置管理

配置管理需要以下先决条件:

  • 您已在计算机上安装 agent-bootstrap 1.2.11 或更高版本。
  • 您的用户账户有一个具有 Configuration of agents 权限的角色。 有关用户、角色和权限的更多信息,请参阅《 管理用户访问》。

初始化配置管理

如果满足前提条件,就可以初始化配置管理。

如果没有激活配置管理,请单击 " 配置管理 "部分中的 Initialize ,初始化基于 Git 的配置管理。

然后,在 "配置管理 "对话框中输入以下信息:

  • 远程名称 : Git 远程名称。
  • 远程分支 :用于更新的分支名称。
  • 远程 URI : Git 资源库的 URI。

单击 Initialize & Restart(初始化和重启 ),根据设置配置代理并重启以获取最新配置。

更新配置管理

如果配置管理已激活,则可在 " 配置管理 "部分查看详细信息。 详细信息包括已配置的远程信息(如分支名称和 URI),以及当前使用的提交信息(如哈希值和提交信息)。

要更新配置,请单击更新并在配置管理对话框中输入所需的详细信息。

单击更新和重启 ,根据设置配置代理,并重启以获取最新配置。

监控代理

Instana 代理监控自身,并收集有关性能和资源消耗的指标。 您可以在代理控制面板中查看这些指标,如监控问题、CPU 负载、垃圾回收、网络等。 指标还包括传感器和代理日志输出的相关信息。

调试代理

确定您的代理程序所使用的Java运行时环境。 该代理程序可在 HotSpot-based Java运行时环境或 OpenJ9-based Java运行时环境下运行。 要识别代理底层的Java运行时环境,请进入Instana用户界面的代理管理仪表板,在配置窗口中查看"Java运行时"属性:
  • HotSpot-based Java运行时环境标识为 OpenJDK
  • OpenJ9-based Java运行时环境标识为 OpenJ9.

为运行在 Linux 上的主机代理创建堆转储,使用 HotSpot-based 的Java运行时环境

要在 Linux 系统上为宿主代理生成堆转储,请在 Linux shell中运行以下命令:

TS=`date +%s` && /opt/instana/agent/jvm/bin/jmap -dump:file=/tmp/agent-dump-$TS.hprof `cat /opt/instana/agent/agent.pid` && gzip /tmp/agent-dump-$TS.hprof

该命令创建堆转储文件,并将压缩文件保存至 /tmp/agent-dump-<timestamp>.hprof.zip

在Windows系统上为使用 HotSpot-based Java运行时的宿主代理创建堆转储文件

要在Windows系统上为宿主代理生成堆转储,请在 PowerShell: 中运行以下命令:

$TS = [int][double]::Parse((Get-Date -UFormat %s)); C:\"Program Files"\Instana\instana-agent\jvm\bin\jmap -dump:file="$env:TEMP\agent-dump-$TS.hprof" (Get-Content "C:\Program Files\Instana\instana-agent\agent.pid"); Compress-Archive -Path "$env:TEMP\agent-dump-$TS.hprof" -DestinationPath "$env:TEMP\agent-dump-$TS.hprof.zip" -Force; Remove-Item "$env:TEMP\agent-dump-$TS.hprof"

该命令创建堆转储文件,并将压缩文件保存至 $TEMP\agent-dump-<timestamp>.hprof.zip

为运行在 Linux 上的主机代理创建堆转储,使用 OpenJ9-based 的Java运行时环境

要在 Linux 系统上为宿主代理创建堆转储,请执行以下步骤:

仅当代理程序以 -Dcom.ibm.tools.attach.enable=yes 设置运行时,才能创建临时堆转储。 要验证此设置,请在 Instana 用户界面中打开代理管理仪表板,导航至流程仪表板左侧的 Instana 代理进程实体,并在流程参数列表中 com.ibm.tools.attach.enable 定位。

以下步骤假设 Instana 代理已安装在默认位置, /opt/instana/agent 且该代理作为 Systemd 服务运行。 若您将Instana代理安装在其他位置,则需采用相应路径。

注意: 如果您的代理程序已使用该 -Dcom.ibm.tools.attach.enable=yes 设置运行,则可跳过步骤1至4。
  1. 请以 root 用户身份登录 Linux 主机,或将您的 shell 会话切换至 用户 root
  2. 打开文件 /opt/instana/agent/bin/setenv 进行编辑。
  3. 定位以 开头的 EXTRA_JAVA_OPTS= 行,并将属性 -Dcom.ibm.tools.attach.enable=no 更改为 -Dcom.ibm.tools.attach.enable=yes
  4. 使用 systemctl restart instana-agent. 重启代理。
  5. 让代理程序运行,直到需要提取堆转储的情况发生。
  6. 要在 Linux 系统上为宿主代理生成堆转储,请运行以下命令:
    TS=`date +%s` && /opt/instana/agent/jvm/bin/jcmd `cat /opt/instana/agent/agent.pid` Heap.dump /tmp/agent-dump-$TS.phd  && gzip /tmp/agent-dump-$TS.phd

    该命令创建堆转储文件,并将压缩文件保存至 /tmp/agent-dump-<timestamp>.phd.zip

在Windows系统上为使用 OpenJ9-based Java运行时的宿主代理创建堆转储文件

要在 Windows 系统上创建主机代理的堆转储,请完成以下步骤:

仅当代理程序以 -Dcom.ibm.tools.attach.enable=yes 设置运行时,才能创建临时堆转储。 要验证此设置,请在 Instana 用户界面中打开代理管理仪表板,导航至流程仪表板左侧的 Instana 代理进程实体,并在流程参数列表中 com.ibm.tools.attach.enable 定位。

以下步骤假设 Instana 代理已安装在默认位置, C:\Program Files\Instana\instana-agent 且该代理作为 Systemd 服务运行。 若您将Instana代理安装在其他位置,则需采用相应路径。

注意: 如果您的代理程序已使用该 -Dcom.ibm.tools.attach.enable=yes 设置运行,则可跳过步骤1至4。
  1. Administrator. 身份登录到 Windows 主机。
  2. 打开 C:\Program Files\Instana\instana-agent\bin\setenv.bat 文件进行编辑。
  3. 定位以 开头的 SET EXTRA_JAVA_OPTS= 行,并将属性 -Dcom.ibm.tools.attach.enable=no 更改为 -Dcom.ibm.tools.attach.enable=yes
  4. 在“服务”Microsoft 管理控制台中,找到“Instana Agent Service”并重新启动该服务。
  5. 让代理程序运行,直到需要提取堆转储的情况发生。
  6. 创建文件 C:\Users\Administrator\agent-dump.ps1 ,内容如下:
    $TS = [int][double]::Parse((Get-Date -UFormat %s))
    $AGENT_PID = (Get-Content "C:\Program Files\Instana\instana-agent\agent.pid")
    C:\"Program Files"\Instana\instana-agent\jvm\bin\jcmd $AGENT_PID Dump.heap C:\Windows\Temp\agent-dump-$TS.phd
    Compress-Archive -Path C:\Windows\Temp\agent-dump-$TS.phd -DestinationPath C:\Windows\Temp\agent-dump-$TS.phd.zip -Force
    Remove-Item C:\Windows\Temp\agent-dump-$TS.phd
  7. 打开以管理员权限运行的 PowerShell。
  8. 运行以下命令以创建并运行一个 ScheduledTask 进程,该进程将以 root SYSTEM 账户身份执行堆转储:
    $SchedScript = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument '-ExecutionPolicy Bypass -file C:\Users\Administrator\agent-dump.ps1'
    Register-ScheduledTask -User SYSTEM -taskname !_AgentDump -Action $SchedScript | Out-Null
    Start-ScheduledTask -TaskName "!_AgentDump" 
    Unregister-ScheduledTask -TaskName "!_AgentDump" -Confirm:$false

    该命令创建堆转储文件,并将压缩文件保存至 C:\Windows\Temp\agent-dump-<timestamp>.phd.zip

代理故障排除

请参阅代理安装和运行过程中常见问题的故障排除方法。

利用自检程序分析代理性能

您可以使用代理自探测器功能分析 Instana 主机代理的性能指标。

自剖析器仅支持 Linux 系统的 x86_64-bit 架构。 {: note} 要对主机代理进行自我配置,请完成以下步骤:

  1. 在代理控制面板的支持部分,单击配置文件代理。 剖析器运行 10 分钟。 您可以检查代理日志,查看剖析器是否已启动。 请参阅以下示例:
    2025-03-19T14:21:48.077+00:00 | INFO  | instana-executor-thread-2-1      | ndRequestHandler | com.instana.agent-self-profiling - 1.0.0 | Starting Agent profiler for 10 minutes
    2025-03-19T14:21:52.998+00:00 | INFO  | instana-scheduler-thread-3-4     | Profiler         | com.instana.agent-self-profiling - 1.0.0 | Profiler installed
     
  2. 启动剖析器后,等待 2 分钟,然后刷新仪表板。 在代理仪表板上会出现一个新按钮 " 分析配置文件 "。

  3. 单击 " 分析配置文件 "按钮打开 " 分析配置文件 "页面。

  4. 在 "分析配置文件 "页面,单击 " 查看全部 "。 您可以共享 " 火焰 "图以及 IBM 支持部门要求的任何其他信息,以便进行代理性能分析。

Instana Agent 缺少 /tmp 目录

监测问题类型: agent_tmp_directory_missing

Instana 主机代理会在 $TMP/.instana 目录中创建临时 JAR 文件。 JVM 监控需要这些 JAR 文件。 该警告表示缺少必要的 JAR 文件或 Instana tmp 目录不可用,这可能导致 Java 附件问题。 Instana 代理会定期监控 Instana tmp 目录及其相关 JAR 文件的状态,以防止 Java 附件失效。

为避免这一问题,请确保 tmp 位置具有读写权限,并避免对 /tmp 位置进行不必要的清理。

/tmp 目录磁盘空间不足

监测问题类型: insufficient-disk-space-for-tmp-directory

运行时,Instana 代理容器会在 $TMP/.instana 目录中创建临时 JAR 文件。 JVM 监控需要这些 JAR 文件。 此警告表明 tmp 位置没有足够的空间容纳临时文件,这可能导致 Java 附件失败。 要解决这个问题,可在容器部署中增加为 tmp 分配的空间。

Pax URL 中的内存泄漏 2.6.16

监测问题类型: pax_url_mvn_leak

OPS4J Pax URL 2.6.16 版本存在内存泄漏,每 24 小时重置一次,作为代理更新的一部分。 根据在此期间停止和启动的传感器数量,代理可能会遇到 OutOfMemoryError 错误。 为解决这一问题,在 2025 年 6 月 18 日之后发布的代理程序集中添加了一个修复程序。 如果发现此监控问题,请将 Instana 代理程序集更新到 2025 年 6 月 18 日或之后发布的版本。

有关此问题的更多信息,请参阅 pax-url GitHub 仓库中的问题和相应的拉取请求

缺少对 Instana 代理的 TLSv1.3 支持

监测问题类型: agent_jvm_tls_1_3_missing

Instana 代理需要安装主机支持 TLSv1.3 。 如果不支持 TLSv1.3 ,则会降低监控能力。

要解决这个问题,请将 Instana 代理的 TLS 版本升级到 TLSv1.3。 已启用以下 TLS 版本: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3。更多信息,请参阅 为代理端点设置 TLS 加密

Solaris JVM 文件权限问题

监测问题类型: solaris_jspawnhelper_executable_issue

此监控问题表明,Solaris 主机上的 jspawnhelper JVM 文件没有可执行权限。

要解决 Solaris JVM 文件权限问题,请使用以下命令为 JVM 路径中的 jspawnhelper JVM 文件提供可执行权限:

chmod +x <jvm-path>/jspawnhelper
 

对于 Java 9 或更高版本,请将 JVM 路径指定为 *instanaAgentDir*/jvm/jre/lib/jspawnhelper。 对于早期版本的 Java,请将 JVM 路径指定为 *instanaAgentDir*/jvm/jre/lib/sparcv9/jspawnhelper

如果此故障排除部分未能解决您的问题,请联系 IBM Instana 支持团队 ,并提供您的使用情况信息。