有赞线上拨测系统实践(一)
2024-02-14 06:08:26
一直以来,作为互联网软件工程师接触最多的事务之一便是持续集成(Continuous integration,简称 CI)。持续集成俨然已成为主流互联网软件开发流程中一个重要的环节。现今有赞内部在实践持续交付(Continuous delivery,简称 CD),它可以被看成是后…
持续交付(Continuous delivery,简称 CD)是一种软件开发实践,它可以帮助团队更频繁地向生产环境交付软件。CD 的目标是让团队能够快速、安全地向生产环境交付软件,同时保持软件的质量和稳定性。
要实现 CD,需要有可靠的持续集成(Continuous integration,简称 CI)和持续测试(Continuous testing,简称 CT)流程。CI/CT 可以帮助团队快速地发现和修复代码中的问题,从而保证软件的质量和稳定性。
线上拨测(Online monitoring,简称 OM)是 CD 中非常重要的一环。OM 可以帮助团队及时发现和定位生产环境中的问题,从而保证软件的可用性和稳定性。
有赞线上拨测系统
有赞的线上拨测系统是一个基于 Prometheus 的监控系统。Prometheus 是一个开源的监控系统,它可以收集、存储和查询时间序列数据。有赞的线上拨测系统由以下几个部分组成:
- 拨测平台: 拨测平台负责管理拨测任务和拨测结果。
- 拨测任务: 拨测任务定义了需要拨测的目标地址和拨测频率。
- 拨测数据: 拨测数据是拨测任务执行的结果,它包含了拨测的目标地址、拨测时间、拨测结果等信息。
- 拨测结果展示和告警: 拨测结果展示和告警功能可以帮助团队及时发现和定位生产环境中的问题。
有赞线上拨测系统实践
有赞的线上拨测系统在实践中积累了一些经验,这些经验可以帮助其他公司在建设线上拨测系统时少走一些弯路。
1. 拨测平台建设
拨测平台是线上拨测系统的重要组成部分,它负责管理拨测任务和拨测结果。在建设拨测平台时,需要考虑以下几点:
- 可扩展性: 拨测平台需要具有良好的可扩展性,以支持大规模的拨测任务。
- 易用性: 拨测平台应该易于使用,以便团队能够方便地创建和管理拨测任务。
- 稳定性: 拨测平台需要具有良好的稳定性,以确保拨测任务能够可靠地执行。
2. 拨测任务管理
拨测任务是线上拨测系统的重要组成部分,它定义了需要拨测的目标地址和拨测频率。在管理拨测任务时,需要考虑以下几点:
- 合理设置拨测频率: 拨测频率需要根据实际情况合理设置。如果拨测频率太高,可能会给生产环境带来压力。如果拨测频率太低,可能无法及时发现生产环境中的问题。
- 合理选择拨测目标地址: 拨测目标地址需要根据实际情况合理选择。拨测目标地址可以是应用程序的对外服务地址,也可以是应用程序的内部服务地址。
- 合理设置拨测超时时间: 拨测超时时间需要根据实际情况合理设置。如果拨测超时时间太短,可能会导致拨测任务执行失败。如果拨测超时时间太长,可能会导致拨测任务执行时间过长。
3. 拨测数据收集和分析
拨测数据是拨测任务执行的结果,它包含了拨测的目标地址、拨测时间、拨测结果等信息。拨测数据收集和分析是线上拨测系统的重要组成部分,它可以帮助团队及时发现和定位生产环境中的问题。
4. 拨测结果展示和告警
拨测结果展示和告警是线上拨测系统的重要组成部分,它可以帮助团队及时发现和定位生产环境中的问题。在设计拨测结果展示和告警时,需要考虑以下几点:
- 直观性: 拨测结果展示应该直观,以便团队能够快速地发现和定位生产环境中的问题。
- 及时性: 拨测告警应该及时,以便团队能够在第一时间发现和定位生产环境中的问题。
- 准确性: 拨测告警应该准确,以便团队能够快速地定位生产环境中的问题。