OneAPM 最佳实践

仅仅知道如何使用 OneAPM 并不够,如何用好 OneAPM 是另一回事,下面是 7 个最佳实践,可以帮您成为一位 OneAPM 高手——团队中的重要成员,同您的小伙伴和 OneAPM 一起持续优化保障应用性能,获得更好业务表现。

Good better, best, Never let it rest. Till good is better, And better best

1. 规划团队协作模式

新注册 OneAPM 账号并登录后,进入团队信息页面,您将看到一个默认的团队,团队只有一个成员,此成员的角色为 Admin,这时需要结合您的实际情况,考虑哪些人员可以登录 OneAPM 协同查看性能数据,是否需要分成不同的子团队。利用 OneAPM 团队信息页面中提供的添加成员、子团队等功能进行配置,方便团队协作。 目前成员分为3个角色:

  1. Admin:团队的拥有者,具有最高权限
  2. Manager:所在团队的管理员,可以增删改查团队所属应用及修改配置,邀请、删除所在团队中的 User 成员。
  3. User:可以查看所属团队中应用的监控数据

如何做:

  1. 进入 团队信息
  2. 创建子团队添加成员

2. 标准化应用程序命名约定

如果没有在 OneAPM 探针配置文件中指定名称,则大多数 OneAPM 探针都会提供默认应用程序名称,例如 “My Application” 或 “PHP Application”。您肯定不希望最终得到20个名称相同的应用程序,因此在部署应用程序时,请务必为其选择带语义的标识符。为了保持一致性和易于导航,OneAPM 还建议标准化您的应用程序命名(例如,预发布的所有应用程序在名称末尾都有类似 [Staging] 等)。理想情况下,您希望自动命名新的 Java 应用程序,而不是手动命名,以帮助减少打字错误和误导的可能性。

如何做:

  1. 对于 Java 应用程序,当探针配置文件中的 enable_auto_app_naming 配置开启后,探针会自动获取每个应用的名称。获取的方式有六种:
    • web.xml 中配置 servlet init param
    • web.xml 中配置 Filter init param
    • web.xml 中配置 context param
    • web.xml 配置 appName(标签名:display-name)
    • 自动获取 ServletContentPath (一般是 URL 中项目名称) 选择最符合您需要的方法,然后按照步骤操作。
  2. 对于非 Java 应用程序,请参考探针的文档

3. 创建和评估告警策略

告警是可以某一个 Web事务的某一指标或某一个节点监控情况进行配置,在配置告警规则时,您需要确保将阈值设置为对您的特定应用有意义的值。OneAPM 建议将 Apdex T 值设置为 0.95,力求真正的优化。 您设置了提醒之后,就需要确保您利用所有可行的通知渠道。毕竟,如果没有人知道,报警有什么用呢?您可以通过创建特定的用户组并通过电子邮件进行通知,另外您还可以配置集成 OneAlert 来管理告警,实现更丰富的通知方式(包括电子邮件,短信,电话,微信,APP),协作分析等功能。 请务必定期评估告警策略,以确保始终有效。

如何做:

  1. 要进行告警设置,请转到此处
  2. 要更改 Apdex 设置,请转到此处
  3. 需要更多的通知方式,请点击此处进入 OneAlert 配置。

4. 识别和设置关键事务

根据应用程序的特点,其中一些事务可能比其它事务更重要,OneAPM 的关键事务功能旨在让您密切监控您决定的应用程序最关键业务的事务,无论是最终用户还是应用程序响应时间,调用次数或错误率等。您还可以在关键事务性能不佳时设置告警通知的阈值和级别。

如何做:

  1. 进入 Ai 某个应用,从左侧中,选择 关键事务,然后选择 添加。然后选择应用和 Web 事务。或从所选事务中,选择 设置为关键事务
  2. 键入关键事务的名称,然后选择 创建关键事务
  3. 可选:如果所选应用程序的探针支持自定义告警,请使用 OneAPM 自动填充的默认值,或选择 编辑关键事务告警策略 以设置 Apdex 和告警阈值。
  4. 要查看关键事务详细信息,请选择查看 新的关键事务

Bestpractice01

5. 利用 OneAPM 的报表

从应用、组件、业务、Web事务、虚拟机到数据库等,OneAPM 提供了各种可下载的表,呈现历史趋势,这些都是向领导或客户进行报告的好方法。

如何做:

  1. 要查看报告,请从 OneAPM 左侧菜单栏中选择报表。
  2. 选择您要查看的报表。
  3. 如果要保存或导出要共享的报表,请选择将此报表下载为 pdf 或 .xls,这将创建一个以逗号分隔的值的报表。

6. 洞悉您的整体环境

使用 OneAPM 监视应用程序的一个好处是,它让您不仅可以看到您的应用程序栈的一部分,同时也包括整体情况。您在 OneAPM 中分析的性能问题时,比如,您可以使用 OneAPM Ci 轻松跟踪到硬件平台、服务,从移动端(OneAPM Mi)和浏览器监控(OneAPM Bi)分析,快速发起压力测试(OneAPM CPT)等,OneAPM 的系列软件分析产品可以为您的应用程序的性能提供端到端的可视性,因此可协助您更好地对您的软件作出决策!

如何做:

  1. 如果您没有使用 OneAPM 除了 Ai 之外的产品,请选择进入其它您感兴趣的产品。很多 OneAPM 产品提供免费的标准版本,您可以在订购服务之前先进行试用(其中某些产品可永久免费使用)。
  2. 部署所有产品后,可以使用概览页面顶部的菜单栏轻松切换 OneAPM 各个产品。

7. 让您的探针保持最新

很可能您的团队已经有一组脚本用于将应用程序升级部署到您的环境中。用类似的方式,您还可以自动化 OneAPM 探针部署,以确保是最新的版本。一般来说,对最新的探针没有硬性和立刻更新的要求,但是您不应该运行超过一年的探针。 Puppet 和 Chef 脚本都是很好的部署框架,利用这些您可以将整个部署和管理过程自动化,使生活更轻松:)。

如何做:

  1. 当您需要一个升级时,请定期查看正在使用哪个版本的探针。如果最新的探针版本包含所需的修复或您需要的其它功能,请直接下载更新。
  2. 要手动部署探针:
    1. 备份当前探针目录。
    2. 将更新的探针部署到现有探针目录中。
    3. 通过将新文件与现有文件进行比较来修改配置文件。注意要确保将 Licensekey 和 custom extensions 复制到新配置中。
    4. 重新启动应用程序。
    5. 如果出现问题,请使用备份恢复旧探针,然后重新启动。
  3. 要自动部署探针(避免错误的首选方法),您可以:
    1. 使用现有能正常工作的部署脚本。
    2. 创建和维护专门部署和配置 OneAPM 探针的脚本。理想情况下,脚本将从包含版本化文件的存储库(用于回滚目的)中提取探针文件。脚本创建完成后:
      1. 关闭应用程序(如果脚本中没有此步骤)。
      2. 运行部署脚本。
      3. 启动应用程序(如果脚本中没有此步骤)。
      4. 如果出现问题,请运行脚本回滚到之前的版本。