云服务器内容精选

  • 问题解答 每个方法的时间线是表示该方法的起始位置与总耗时。在调用链界面中,方法线用灰色绘制,每一个方法的耗时用绿色填充。绿色填充段表示总耗时。当您看到上图所示的调用链时,可能会有疑惑:方法1、2的时间线有部分重合,而且最后的一部分时间线没有绿色填充。 其实,并没有绘制错误。按照正常的理解,绘制应该是如下图所示,但是由于 APM 的调用链绘图中,每个方法的时间线是绘制的起始位置与总耗时,所以绘制会出现问题现象所描述的情况。
  • 排查思路 如果拓扑图只有灰圈圈需确认是否为基础版,如果是基础版需要切换版本至企业版、专业版,或单击 免费体验 。 查询时间段是否有实际调用,用户只有在该时间段调用才会生成调用关系,且调用后2~3分钟后,数据才会采集上来,并且需确认浏览器(Windows)和E CS 时间是否一致。 用户需排查应用使用是否在支持的范围内,例如:操作系统、Java类型。 排查服务所在主机ICAgent状态是否正常。 需确认是否按指导文档将应用正确接入APM。 ECS应用接入APM。 华为云容器应用接入APM。 如果为ECS应用接入APM,使用非root用户启动程序,您需确认是否在开启应用监控前,执行过以下命令修改探针文件与输出目录权限。 如果没有执行以下命令,需执行。 chmod -R 777 /opt/oss/servicemgr/ICAgent/pinpoint/mkdir -p /paas-apm/collectors/pinpointchmod -R 777 /paas-apm 如果执行过以上命令,继续排查其他项。 如果为ECS应用接入APM,需排查应用-Dapm_application和服务-Dapm_tier命名是否符合规则。 命名规则:由小写字母、数字、中划线(-)、下划线(_)组成,且以小写字母或下划线(_)开头,长度限制为1~64位字符。 在“采集管理”-“采集配置”中确认应用的采集开关是否开启,如果没开启,单击“开启”。
  • JBoss Standalone模式如何接入APM? APM支持JBoss服务器,JBoss在使用Java探针时,需要特殊的设置。 下面举例对JBoss 6.2.0、JBoss 8.1.0 和JBoss 12.0.0的Standalone模式接入APM进行说明,其他JBoss的版本类似操作。 JBoss 6.2.0: 将standalone模式下的eap-6.2.0.Final/bin/standalone.conf文件修改为 JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,com.manageengine,org.jboss.logmanager,com.navercorp.pinpoint.bootstrap,com.navercorp.pinpoint.common,com.navercorp.pinpoint.exception"JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"JAVA_OPTS="$JAVA_OPTS -javaagent:/paas-apm/collectors/pinpoint/pinpoint-bootstrap.jar"JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.1.Final-redhat-1.jar"JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true" JBoss 8.1.0 : 将standalone模式下的wildfly-8.1.0.Final/bin/standalone.conf文件修改为 JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager,com.navercorp.pinpoint.bootstrap,com.navercorp.pinpoint.common,com.navercorp.pinpoint.exception"JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/log4j/logmanager/main/slf4j-api-1.7.2.jbossorg-1.jar"JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/slf4j/main/slf4j-api-1.7.22.jbossorg-1.jar"JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar"JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" JBoss 12.0.0: 将standalone模式下的wildfly-12.0.0.Final/bin/standalone.conf文件修改为 JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager,com.navercorp.pinpoint.bootstrap,com.navercorp.pinpoint.common,com.navercorp.pinpoint.exception,$JBOSS_MODULES_SYSTEM_PKGS"JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/log4j/logmanager/main/log4j-jboss-logmanager-1.1.4.Final.jar"JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/slf4j/main/slf4j-api-1.7.22.jbossorg-1.jar"JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.0.9.Final.jar"JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true" 因为JBoss 使用undertow作为应用服务,所以在启动命令 wildfly-12.0.0.Final/bin/standalone.sh -bmanagement 127.0.0.1 的management参数不能为0.0.0.0 否则会发生异常。异常提示如下: java.net.SocketException: Protocol family unavailable 父主题: 常见使用问题
  • 操作步骤 登录华为云控制台。 单击右上角的用户名称,如图1,选择“我的凭证”。 图1 用户名称 获取projectid、AK/SK值。 获取projectid值。 在左侧导航栏选择“API凭证”,进入API凭证页面。在“项目列表”页签的“项目ID”列查看projectid值。 图2 项目列表 获取AK/SK值。 在左侧导航栏选择“访问秘钥”,进入访问秘钥页面。 单击“新增访问密钥”,创建新的访问密钥。 图3 管理访问密钥 输入描述(可选),单击“确定”。 为了帐号安全性,建议您定期更换并妥善保存访问密钥。
  • 时间不一致导致 应用的数据都是由采集代理ICAgent从弹性云服务器上收集并上报到浏览器界面中的。如果浏览器的时间与弹性云服务器的时区、时间不一致,则可能导致上面的问题。例如,浏览器当前时间为7点,而弹性云服务器的时间为6点,那么在浏览器上查询最新数据,则会查询不到,因为服务器上还没有这个时间段的数据。同理,对于部署在多个弹性云服务器上的分布式应用,如果弹性云服务器之间的时间不一致,则会导致数据无法成链,那么在采集代理处理时就会有异常,而查询时,也可能显示明显异常的数据。 所以,在安装ICAgent前务必要保证服务器之间、浏览器与服务器之间的时间一致。如何安装ICAgent
  • 采集哪些数据 APM仅采集应用的业务调用链数据、资源信息、资源属性、内存检测信息、调用请求的KPI数据,不涉及个人隐私数据。所采集的数据仅用于APM性能分析和故障诊断,不会用于其他商业目的。下表为数据采集范围和用途。 数据类型 采集数据 传输方式 存储方式 数据用途 时限 调用链数据 调用链Span数据 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 调用链前台查询展示 可配置,最大7天,到期彻底删除 调用请求KPI数据 调用发起方地址、调用接收方地址、调用接口、调用耗时、调用状态 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 用于计算事务调用KPI指标(吞吐量、TP99时延、平均时延、错误调用次数等)与绘制应用拓扑,在前台界面展示 7天,到期彻底删除 资源信息 服务类型、服务名称、创建时间、删除时刻、所在节点地址、服务发布端口 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 资源库前台查询展示 7天,到期彻底删除 资源属性 系统类型、系统启动事件、CPU个数、服务执行用户名称、服务进程id、服务的PodID、CPU标志、系统版本、服务使用的Web框架、JVM版本、时区、系统名称、采集器版本以及LastMail的Url 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 资源库前台查询展示 7天,到期彻底删除 内存检测信息 内存使用率、使用量、最大使用量、剩余内存大小、内存超限时刻以及内存监测机制的配置信息 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 资源库前台查询展示 7天,到期彻底删除
  • 采集哪些数据 APM仅采集应用的业务调用链数据、资源信息、调用请求的KPI数据,不涉及个人隐私数据。所采集的数据仅用于APM性能分析和故障诊断,不会用于其他商业目的。下表为数据采集范围和用途。 数据类型 采集数据 传输方式 存储方式 数据用途 时限 调用链数据 调用链Span数据 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 调用链前台查询展示 可配置,最大7天,到期彻底删除 调用请求KPI数据 调用发起方地址、调用接收方地址、调用接口、调用耗时、调用状态 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 用于计算事务调用KPI指标(吞吐量、TP99时延、平均时延、错误调用次数等)与绘制应用拓扑,在前台界面展示 7天,到期彻底删除 资源信息 服务类型、服务名称、创建时间、删除时刻、所在节点地址、服务发布端口 通过https加密结合AKSK鉴权的方式传输 APM服务端按照Project隔离存储 资源库前台查询展示 7天,到期彻底删除
  • 如何计算已使用实例个数? APM中已使用实例个数是按照探针个数进行统计的。一个探针对应一个服务实例,您可以通过统计探针个数得到已使用实例个数,其中如图1所示的五种服务实例不统计为探针数。那么您在应用拓扑界面中看到的实例个数,减去不统计为探针数的实例个数,可得到探针个数,即计算出已使用的实例个数。 图1 不统计探针数的服务实例 例:如何计算得到下图中的已使用实例个数, 如图所示,当前界面上显示有5个实例,其中5个实例中有1个Mysql数据库实例。 已使用的实例个数=探针个数=总实例个数-不统计为探针数的服务实例个数,即已使用的实例个数=探针个数=5-1=4。 父主题: 常见使用问题
  • 虚机方式 针对直接将非Web程序部署在弹性云服务器或裸金属服务器上情况,您需要在启动脚本中增加如下配置: -javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=应用名称 -Dapm_tier=服务名称 -Dapm_noport=true 配置完成后,启动程序即可在APM界面中看到程序数据。 例如,您原来的启动脚本为: java -jar app.jar 增加应用名称为vmall,服务名称为vmall-product-service,则增加配置后的启动脚本为: java -javaagent:/opt/oss/servicemgr/ICAgent/pinpoint/pinpoint-bootstrap.jar -Dapm_application=vmall -Dapm_tier=vmall-product-service -Dapm_noport=true -jar app.jar
  • 创建委托 登录华为云控制台。 单击右上角的用户名称,如图1,选择“ 统一身份认证 ”。 图1 用户名称 在“统一身份认证”页面中,单击“委托”,进入委托页面。 单击右上角“创建委托”,进入创建委托页面。 参考表1设置创建委托的参数。 表1 创建委托 名称 说明 样例 委托名称 标识该委托代理的名称。 aom_ecm_trust 委托类型 选择“云服务” - 云服务 选择“弹性 云服务器ECS 裸金属服务器BMS” - 持续时间 选择“永久” - 描述 可选参数,用于补充说明该委托代理的详细信息。 - 单击“下一步”,给该委托进行授权。 作用范围选择“区域级服务”,然后选择项目。 在权限配置栏搜索“搜索框中输入“APM”,在查找结果中勾选“APM Administrator”。 单击页面下方的“确定”按钮,委托关系创建成功。
  • Apdex的原理 根据应用性能评估确定应用响应时间的最优门槛为Apdex阈值,然后根据应用实际响应时间结合Apdex阈值定义了三种不同的性能表现: Satisfied(满意):应用响应时间低于或等于Apdex阈值。比如Apdex阈值为1.5s,则一个耗时1s的响应结果则可以认为是满意的。 Tolerating(可容忍):应用响应时间大于Apdex阈值,但同时小于或等于4倍的Apdex阈值。假设应用设定的Apdex阈值为1s,则4*1=4s为应用响应时间的容忍上限。 Frustrated(烦躁期):应用响应时间大于4倍的Apdex阈值。
  • 调用链跳转日志不生效? TraceID用来唯一标识调用链,开启后,系统会在您的日志文件中增加TraceID信息,您可通过TraceID精准搜索调用链的日志信息。配置ICAgent时开启TraceID开关,在搜索日志页面,为什么按照TraceID搜索不到相关日志? 请检查日志组件是否使用log4j,详细信息请参考log4j,并检查输出的日志中是否包含trace name,如下图所示。 父主题: 常见使用问题
  • 注意事项 针对 AOM 和APM,您总共可以创建不超过1000条阈值规则,如果阈值规则数量已达上限1000条时,请删除不需要的阈值规则后重新创建。APM界面只展示APM的阈值规则,如需查看全部规则请在AOM控制台进行查看。 设置通知策略 阈值规则的状态(正常、超限阈值)发生变化时,如需使用邮件或短信等方式发送通知,请参考下面操作在 SMN 界面设置通知策略。如不需接收邮件或短信通知,请跳过下面操作。具体操作如下: 创建一个主题,操作详见创建主题。 设置主题策略,操作详见设置主题策略。 设置主题策略时,“可发布消息的服务”必须选择“APM”,否则会导致通知发送失败。 为主题添加相关的订阅者,即通知的接收人(例如:邮件或短信),操作详见订阅主题。
  • 创建方式 阈值规则支持创建批量阈值规则,供您选择使用。 批量阈值规则(该功能仅对华北-北京一区域和华东-上海二区域生效):资源和规则是多对一的关系,当监控多个资源时,一次创建操作完成后,只生成一条规则,多个资源是通过同一条规则进行监控。 当需要集中监控多个资源时,您需使用静态阈值模板进行创建,操作详见使用模板创建批量阈值规则。静态阈值模板是为创建批量阈值规则做准备的,您需先创建一个静态阈值模板,操作详见创建静态阈值模板。
  • 远程卸载 除了上述登录服务器上执行uninstall.sh脚本卸载ICAgent的方式,还有类似继承安装的方式对主机进行远程卸载。 在已安装ICAgent的服务器上执行如下命令,其中x.x.x.x表示服务器IP地址。 bash /opt/oss/servicemgr/ICAgent/bin/remoteUninstall/remote_uninstall.sh -ip x.x.x.x 根据提示输入待卸载ICAgent的服务器root用户密码。 如果已安装ICAgent的服务器安装过expect工具,执行上述命令后,即可完成卸载。如果已安装ICAgent的服务器未安装expect工具,请根据提示输入,进行卸载。 请确保已安装ICAgent的服务器可以使用root用户执行SSH、SCP命令,来与待卸载ICAgent的服务器进行远端通信。 当显示“ICAgent uninstall success”时,表示卸载成功。 卸载完成后,可在 应用性能管理 左侧导航栏中选择“Agent管理”,查看该服务器ICAgent状态。