自托管Adobe Commerce监控遥测和工具
使用监控工具可以检测更改,而无需花钱让他人一直观看所有内容。 使用大多数工具,您可以在满足阈值(如硬盘空间不足)时添加警报和通知。 有些工具提供了应跟踪和计算的输出,如负载测试结果。 无论使用何种工具,每个工具都有其用途,在使用上保持一致,它们可以帮助您管理应用程序。 每个工具都有免费选项,但请记住,为一项服务付费通常可以确保更快获得更可靠的支持,并且可能值得投资。 New Relic就是这样一种工具,它提供免费套餐和付费版本,从而释放出更多的功能和力量。 还有其他的,例如DataDog或Dynatrace。 找到一个适合您的选项并持续使用。
基础架构监控
基础架构这一术语在这方面使用得相当宽松。 对于本主题,这意味着用于使站点运行的任何服务器、进程或设备。 例如:
- 硬盘
- CPU使用率
- RAM使用情况
- Redis
- 每台服务器的平均负载
- 网络流量
研究阈值以构建有效警报。 请勿为硬盘容量等重要内容分配一个。 设置一些以在情况恶化时通知不同组。 例如,当硬盘驱动器已满时,下面是一组规则。
- 向DevOps渠道发送70%的Slack通知
- 80%通知Slack室DevOps渠道和DevOps团队成员的电子邮件分发名单
- 90%通知SlackDevOps渠道和生产支持Slack渠道、电子邮件DevOps分发组和工程经理
- 95%通知SlackDevOps和生产支持Slack渠道、所有工程师的电子邮件分发列表和工程Director
- 98%通知任何P1Slack渠道以及DevOps和生产支持Slack渠道、工程师的电子邮件分发名单和Director的工程和技术副总裁
通知团队的方法多种多样,因此请确保您选择一种可靠且不会收到过多警报的方法。 在重要时保留警报非常重要,否则您可能会不堪重负,并开始忽略警报。
对于大多数工具(如New Relic、DataDog和Dynatrace),通常都会遵循一些不错的模板。 请花些时间寻找对您的应用程序最有意义的好主意。 在云基础架构上使用Adobe Commerce时,在配置项目时会触发警报和触发器。 这使得Adobe生产支持团队能够应用他们的工具进行正常运行时间和高可用性监控。
仪表板提供对网站常见或重要方面的快速访问。 功能板项目可以包括页面查看次数、每台主机的CPU占用率、所有服务器的列表、页面加载时间、事务处理持续时间,甚至包括过去几天的综合监控测试结果。 应该构建这些功能板,以便在出现错误时进行快速分类,或者为不同的用户体验设置不同的功能板。 希望您可以设计多个功能板,并喜欢实时查看应用程序监控。 这令人非常满意,尤其是当项目所有者或经理询问网站如何运行时,您可以在几秒钟内找到答案,而不是几个小时。
日志聚合和旋转
在应用程序服务器上找到日志文件,这些服务器处理请求或MySQL日志,但执行时间过长。 日志的困难之处在于,它们彼此独立,要找到所有日志,从每个日志中解析信息可能会很麻烦。 多年前,通过使用名为 日志聚合 的技术解决了此问题。 这会从所有日志位置获取日志文件,并将这些文件推送到集中位置。 移动后,某个软件就可以读取这些文件,并提供搜索、筛选和查看信息的方法。 要正确处理这个问题,可能是一个棘手的过程。 有多种选项,但如果您幸运的话,您的监控工具可以读取和聚合您的日志文件,例如New Relic。 通过找到一个合适的工具,您可以在将来为自己节省无以估量的时间。 除非您只有一台服务器可以执行所有操作来运行站点,否则日志聚合是必不可少的。 在尝试确定您是否受到DDoS攻击或遇到合法的流量尖峰时,或者在研究特定请求失败的原因时,此功能特别有用。
日志的另一个关键是确保发生轮换。 这在过去属于run-away logs
,可能会意外占用您的硬盘并导致站点关闭。 当日志文件达到特定大小(如1 GB)时,可能会出现日志轮换版本。 有些服务器级工具(如logrotate
)可以自动删除它们。 例如,如果日志文件变得大于1GB,它可以删除过大的日志文件,或者删除90天以前的日志文件。 您可以定义日志策略,因此了解资源限制非常重要。
恶意软件扫描
许多专为Adobe Commerce服务的网站托管公司都拥有已知漏洞和恶意软件的资料库。 他们应自动提供扫描功能,或应请求提供扫描功能。 在有效的地方,它们是反动的,只有在检测到新的恶意软件时才起作用。 最好是有一个主动工具来查看代码和数据库以了解已知恶意软件。 有几个可用选项,如MageReport、Sansec或Magento恶意软件扫描程序。 它们可以从外部进行远程扫描,或者在服务器上安装后主动更新/扫描/监视。 这是一个很好的选择,因为他们的库会不断更新,如果您选择提供的解决方案(如Sansec),则这些库会安装并监控数千个站点。 当检测到新的恶意软件时,他们监视的每个项目都会从信息中获益,并且现在会在检测到该信息时收到警报。
可以考虑一些免费版本,但是对于恶意软件,您确实应该考虑付费解决方案。 您的网站感染几分钟与几个月之间可能存在差异。 在您的网站上利用漏洞会让人头疼不已,这是您应考虑为服务付费的一个方面。
Adobe站点范围分析工具
全站点分析工具是一种主动式自助服务工具和中央存储库,其中包含详细的系统分析和建议,以确保Adobe Commerce安装的安全性和可操作性。 它提供全天候的实时性能监控、报告和建议,以发现潜在问题并更好地了解站点运行状况、安全性和应用程序配置。 它有助于缩短解决时间并提高站点稳定性和性能。
全网站分析工具的Recommendations页面根据最佳实践列出建议,以解决在您的网站上检测到的问题。 建议按优先级PO到P4排序,其中PO是关键的,P4是低的。 调查结果包括描述、建议、站点影响、根本原因、方案/先决条件、预期结果和使用的工具。
了解提高网站性能的最佳实践。 跟踪并实施按优先级列出的推荐。
有关如何在项目中安装此程序的详细信息,请访问全站点分析工具安装指南。
SSL监控
SSL证书是项目中被遗忘的项之一。 他们每年只需要关注一次,所以忘记他们是非常容易的。 安全证书过期可能会导致现代浏览器警告或拒绝在您的网站上显示页面。 如果客户遇到此类问题,可能会开始发送电子邮件或致电支持人员,并且在该问题得到解决之前,您可能无法操作。 每一分钟都非常重要,因此提前确认过期时间,确保更新对保持网站正常运行至关重要。 有多种方法可以完成SSL监控。 考虑为您的站点使用合成监控工具,使用Pingdom、Keychest或Sucuri等免费或低成本工具,甚至订阅提供SSL证书过期警报的服务。 这些简单的工具可以确保您的站点证书有效,并降低客户停机风险。
自动化测试
执行自动化测试(如功能测试或单元测试)通常有助于检测新引入的代码中存在的问题。 这些测试可能不会涵盖所有内容,因为Adobe Commerce和单元测试的覆盖率通常低于50%。 这并不意味着您应该避免编写这些文档并进行测试。 这些工具旨在添加另一层安全性和安全性,即使提交的所有内容都不会对开箱即用和您的开发团队创建的任何自定义测试产生不利影响。 通过在每个部署中运行这些测试,可以及早捕获任何重大问题,并避免让内容进入生产环境。
负载测试可能很难正确实施。 复杂性主要来自前端的使用和实施方式。 如果您的网站具有Headless前端,则可能需要加载测试GraphQL和REST API。 负载测试的最终方式取决于您和DevOps团队。 了解尽快执行的每次负载测试都会提供对项目状态的洞察。 它还为将来的测试提供了基准,以确定负载测试结果是否有任何剧烈的变化。 如果是,并且这些值是负面的,那么这是一个很好的机会来查看最新的代码更改并查找影响性能的部分以改进。
Adobe Commerce对于帮助了解如何执行单元测试有很好的指导,请参阅Adobe Developer文档网站中 应用程序测试指南 中的PHP单元测试。
有关功能测试的更多信息,请访问功能测试框架简介。