可观测性工具的选择与新兴趋势
1. 开源工具的采用
在商业环境中,供应商可能会出于商业目的锁定或限制其产品和解决方案的功能。随着开源社区的接受度和成熟度不断提高,建议选择在技术路线图中采用开源概念和原则的工具。行业正在努力对可观测性模式、框架、数据结构、数据收集方法以及一定程度上的处理方法进行标准化,例如用于指标和日志的 OpenTelemetry 以及 OTEL 收集器。采用这些开源概念的工具将更能利用这些行业标准带来的好处。
对于自定义协议和专有实现,需要仔细分析其成本与长期效益。对于拥有多样化技术栈的大型组织,建议选择更符合这些行业标准的工具,而非专有解决方案。大型组织可能有多个团队在不同时区和班次工作以解决重大问题,有了标准,所有团队都遵循相同的方法,更便于管理故障排除问题。团队还可以利用标准深入了解系统的行为,因为标准包含了针对特定系统或技术应监控的推荐模式和指标。
2. 构建、利用还是购买?
为组织选择合适的可观测性工具集是一项艰巨的任务。分析和监控领域的几乎每个供应商都提供可观测性产品。组织在选择工具时通常有三种选择:
- 构建工具
- 利用现有工具
- 购买现成的企业产品
选择的决定因素包括可观测性需求、风险承受能力、投资和组织文化。
2.1 构建策略
构建策略是指利用公共领域的组件,可能使用开源工具,在组织内部开发解决方案。这并不一定意味着从头开始开发工具,也不建议这样做,因为要使其在企业环境中运行需要付出巨大努力。组织选择构建工具的原因有:
- 市场上的解决方案可能无法完全满足组织的需求。使用开源技术构建自定义解决方案可以进行微调,以适应组织的特定要求。
- 构建自定义解决方案可以更好地与现有系统和基础设施集成,从而实现更无缝、高效的整体系统。因为组织的内部团队了解特定工具或应用程序的使用方式。
- 从长远来看,构建自定义工具可以节省成本,因为组织无需支付昂贵的商业解决方案或订阅费用。
随着开源项目的出现和繁荣的开源社区,由于成本原因,这种方法最近非常受欢迎。但所有开源项目都需要根据组织的需求进行调整,这可能需要额外的开发和测试。因此,这种策略适用于具有创新文化的组织,该组织愿意尝试和创新新想法,并接受相关风险。该策略的最大缺点是构建、支持和维护基于开源或内部开发的解决方案所需的技术资源的数量和质量要求相当高。组织内产品开发和实施的管理不善可能会非常昂贵。
构建策略的一些特点总结如下:
|特点|描述|
| ---- | ---- |
|敏捷性|一些组织更看重灵活性而非努力和风险。基于开源的自定义解决方案为开发人员和工程师提供了解决问题所需的灵活性和敏捷性,适用于高度自动化和集成的环境。|
|低资本支出|开源工具由开源社区的个人开发、维护和支持,因此实际上是免费的,这对希望避免在获取工具时进行大量资本支出的组织非常有吸引力。基于这些开源工具的解决方案仅需承担适配和集成成本,与企业第三方工具所需的大量采购成本相比可能微不足道。|
|无供应商锁定|依靠社区驱动的项目,组织可以避免供应商依赖,从而在运营中获得更多灵活性。|
|行业领先的解决方案|由于开源项目处于创新和制定行业标准的前沿,组织可以受益于前沿技术,并在行业中获得先发优势。|
|高风险|采用基于开源的解决方案会使组织面临缺乏正式专业产品支持、依赖高积极性和技术资源以及开源项目技术更新换代等风险。|
2.2 利用策略
可观测性工具旨在提供系统的共享视图,使开发、运营和 IT 团队能够更有效地合作。有时,组织的技术生态系统中可能已经存在可以以最小努力实现相同结果的工具或功能。在云计算环境中尤其如此,几乎所有云基础设施提供商(如 AWS、GCP、Azure 等)都将这些功能作为其服务的一部分。如果组织的大多数应用程序和服务由这些云服务提供商托管,建议评估同一供应商提供的产品。在这种情况下,组织可以利用内部资源,在这些现有工具/功能的基础上构建可观测性解决方案,因为他们熟悉云服务提供商的技术环境及其提供的功能和解决方案。
利用现有工具集时,需要考虑以下特点:
- 成本节约:利用现有工具可以帮助组织节省购买和实施新工具的成本,这对成本敏感的组织尤为有益。
- 熟悉度:已经拥有现有工具和技术生态系统的组织可能熟悉如何使用它们,这使得更容易快速上手并取得成果。
- 易于集成:现有工具或当前生态系统中的工具可能已经与其他系统和应用程序集成,这可以节省设置新集成的时间和精力。
- 数据一致性:利用现有工具可以帮助组织保持收集和分析的数据的一致性,这在处理大型或复杂数据集时尤为重要。
- 支持和维护:利用现有工具的组织可能可以使用现有的商业和维护协议以及技术资源,这有助于确保工具继续正常运行并保持最新状态。
- 风险管理:利用现有工具可以帮助组织减轻实施新工具带来的风险,如兼容性问题或数据丢失。
- 缺乏成熟度:现有工具可能不是为可观测性而购买的,因此可能不具备优秀可观测性工具所需的所有功能。这可能导致非最优的可观测性解决方案。
2.3 购买策略
购买专门设计的可观测性工具所需的努力最少,因为供应商已经与多种技术栈合作,提供了经过测试、验证和可扩展的解决方案。这些产品有支持协议,为使用这些工具的组织提供了额外的保障。购买策略的一些特点如下:
|特点|描述|
| ---- | ---- |
|专业支持|购买现成工具附带支持协议,可消除组织的支持和维护烦恼,使组织能够集中时间和资源使用工具并实现其价值。供应商还会根据产品路线图定期提供补丁、新功能和能力。|
|即开即用|商业工具经过各种技术栈的测试和验证,因此可以与目标技术无缝协作。这些工具还可以提供现成的内置仪表板和警报,帮助组织快速实现价值。|
|培训和文档|一般来说,供应商提供的商业软件都有详细的文档和精心设计的培训计划。组织可以轻松利用这些资源,快速培训工程师和开发人员使用这些工具。|
|高成本|购买商业现成软件可能非常昂贵,并且需要每年支付支持和许可费用。组织必须特别注意了解任何工具的许可模式及其成本影响。|
|依赖供应商|使用商业软件的组织依赖于供应商的产品路线图。供应商的产品路线图、技术优先级和商业实践可能并不总是与组织的需求和目标一致。|
组织在决定购买、利用还是构建可观测性工具时,应根据具体需求、资源和类型来选择:
- 构建:如果组织有必要的专业知识和资源,并且愿意承担相关风险,构建策略可以提供高度灵活、量身定制且具有成本效益的解决方案。
- 利用:如果组织有可用于可观测性的现有工具,利用现有工具是一种具有成本效益的选择。但该解决方案可能功能不够丰富,导致可观测性实施效果不佳。
- 购买:如果组织需要一个完全支持、现成可用且可以快速实施的解决方案,可以考虑购买。但要注意采购和支持成本以及由此产生的供应商依赖。
以下是三种策略的决策流程图:
graph LR
A[组织需求评估] --> B{有必要专业知识和资源?}
B -- 是 --> C{能接受构建风险?}
C -- 是 --> D[构建工具]
C -- 否 --> E{有可用现有工具?}
E -- 是 --> F[利用现有工具]
E -- 否 --> G[购买工具]
B -- 否 --> E
3. 探索可观测性工具
在做出决策之前,评估每个选项的成本、收益和风险非常重要。组织内部应与技术团队和业务部门讨论,权衡每种方法的利弊,做出明智的决策。
为了帮助组织选择可观测性工具,下面介绍一些不同类型监控的工具:
-
Dynatrace、New Relic 和 AppDynamics
:广泛归类为应用性能管理(APM)工具,用于在代码级别提供应用程序性能的洞察。它们还能提供基础设施和应用层的良好视图,以及现代应用程序的跟踪功能。最近,其中一些工具还推出了日志分析和事件关联功能。
-
Splunk
:开创了日志分析的先河,用于监控、故障排除和保护基础设施及应用程序。在过去十年中,Splunk 扩展了其产品组合,包括 SIEM 解决方案、安全编排和自动化工具,以及最近的 APM 工具,主要针对云应用程序。它可以轻松从多个来源、位置和基础设施提供商摄取数据,提供统一视图,适合同时在本地数据中心和采用多云策略的组织。
-
Elasticsearch、Logstash 和 Kibana(ELK)
:基于开源项目构建,用于分析日志数据和监控基础设施。它提供了一个可扩展且易于使用的解决方案,用于实时收集、处理和可视化大量日志和事件数据。
-
AWS Cloudwatch、X-Ray 和 OpenSearch
:这是亚马逊的可观测性和监控工具栈,用于日志分析、跟踪、应用程序性能等。这些工具由 AWS 完全管理,涵盖整个 AWS 栈。可观测性工具的结果可以与 AWS 自动化栈完全集成,提供无缝的自动化和工作负载管理能力。如果组织的技术栈主要托管在 AWS 上,这是一个不错的选择。
-
Google Cloud Operations Suite
:这是 GCP 的可观测性和监控产品,提供 APM、日志分析、基础设施监控等功能。由 GCP 完全管理,该产品可以扩展,并且与所有 GCP 工作负载集成良好,还可以轻松与 GCP 自动化工具集成。该解决方案包括用于数据收集的 Cloud Logging、用于指标仪表板的 Cloud Monitoring 以及用于聚合和显示错误的 Error Reporting。此外,Cloud Trace 提供性能洞察,Cloud Profiler 收集资源数据,Cloud Debugger 可以实时检查正在运行的应用程序而不停止或减慢它们。对于主要有 GCP 工作负载的组织,这是非常推荐的。
-
Zabbix
:一个开源监控工具,可监控各种 IT 组件,如服务器、应用程序、网络设备和云资源。它支持多种数据收集方法,包括 SNMP、JMX、IPMI 和代理,还提供灵活的通知机制。Zabbix 可以扩展到大型环境,并为企业部署提供高可用性选项。
-
DataDog
:这是一个基于 SaaS、支持 AI 的监控和分析平台,支持云应用程序和微服务的云监控和安全。它可以分析性能数据并生成警报。除了基础设施监控和 APM 外,它还提供网络监控,是业务应用程序监控的不错选择,广泛用于云托管的应用程序。
-
Prometheus
:一个主要用于指标的开源监控工具,可大规模收集和分析指标,尤其适用于高度分布式应用程序和微服务。它可靠、易于设置和维护,并且可以与云原生生态系统中的其他服务轻松共存,因此越来越受欢迎。
-
Jaeger 和 Zipkin
:两者都是开源的分布式跟踪系统,可用于收集和分析应用程序的跟踪信息。较新的 Jaeger 还支持 OpenTracing。这些工具虽然不能提供完整的可观测性解决方案,但在分布式跟踪市场中占有重要地位。
-
ServiceNow
:一个基于 SaaS 的 IT 服务管理平台,提供 IT 服务管理(ITSM)、IT 运营管理(ITOM)和 IT 业务管理(ITBM)解决方案。它提供了一个统一的平台来管理 IT 服务、事件、问题、变更和配置管理数据库(CMDB),使 IT 团队能够根据业务需求简化流程并确定工作优先级。最近,ServiceNow 涉足监控和日志分析领域,但该功能尚未达到企业实施所需的成熟度。不过,它仍然是维护 CMDB 的优秀工具。
-
PagerDuty
:这是一个基于 SaaS 的事件管理平台,为团队提供了一个集中的平台来管理和响应 IT 基础设施事件。该平台与监控、警报和票务系统集成,提供组织 IT 运营的全面视图。
如果组织已经拥有其中一个或多个工具,但仅用于某些特定功能,那也没关系。可以与高管和架构论坛合作,考虑如何更好地采用这些工具。此外,要注意有些工具对一些复杂功能单独收费,许多组织会先购买基本版本的工具,再根据业务需求进行扩展。而且,上述工具都在创新和未来路线图上投入了大量资金,所以要经常参考在线产品文档以了解最新功能。
4. 新兴可观测性趋势
可观测性被视为下一代监控的有效工具,它是从传统的孤立和基于供应商的监控向更连贯、统一的监控解决方案的升级。随着微服务和基于云的应用程序架构的出现,IT 基础设施格局发生了变化,可观测性也演变成一种新的架构框架,影响了应用程序和服务的设计和实施方式。这种演变在未来几年将继续。以下是一些在定义可观测性策略和选择工具时需要注意和考虑的可观测性趋势。
4.1 开源项目可观测性的标准化
早期开创可观测性的开源项目和社区一直在积极推动可观测性景观的标准化。大型组织使用来自多个供应商的软件系统,这些供应商遵循各自的开发方法和日志记录标准,工程师最终会使用为这些系统专门构建的多种工具。由于可观测性的成功依赖于整合来自多个系统的数据,因此对数据的生成、收集和数据格式进行标准化至关重要。像 OpenTelemetry 这样的开源标准已经存在了一段时间,很可能被技术和行业管理机构(如互联网协议和通信领域的 IELT)采纳为标准。OpenTelemetry 日志仍在开发中,预计几年内会成熟。开发人员和供应商采用这些标准将促使创建能够提供端到端和从上到下可观测性的应用程序和服务。
开源社区的另一个重大发展是开源工具,这些工具与供应商无关,并且易于与开源标准配合使用。例如,OTEL 收集器提供了一个与供应商无关的工具,用于大规模接受、导出、共享和处理遥测数据。目前,开源社区正忙于多个可观测性项目和倡议。预计各种项目和倡议将整合或融合为一些标准和工具,这些最终的标准和工具可能会得到各个管理机构的认可,从而鼓励供应商将其纳入技术和产品路线图,进一步加速迈向更统一的可观测性的进程。
可观测性工具的选择与新兴趋势
5. 趋势对工具选择的影响
开源项目可观测性的标准化这一趋势,对组织选择可观测性工具有着深远的影响。以下从构建、利用和购买三种策略角度来分析:
5.1 构建策略
- 优势放大 :随着开源标准的发展,组织在构建基于开源的可观测性工具时,能更轻松地与行业标准对齐。例如,采用 OpenTelemetry 标准构建工具,可使工具更好地与其他遵循该标准的系统集成,提高数据的兼容性和互操作性,进一步增强了构建策略中“无供应商锁定”和“行业领先的解决方案”这两个特点。
- 风险降低 :标准化意味着开源项目的稳定性和成熟度可能会提高,减少了技术更新换代带来的风险。同时,更多的开发者参与到符合标准的项目中,也可能会提供更多的技术支持和资源,降低了对高度依赖内部技术资源的风险。
5.2 利用策略
- 集成更优 :如果现有工具或云服务提供商的产品逐渐遵循开源标准,那么在利用现有工具构建可观测性解决方案时,集成会更加顺畅。例如,AWS、GCP 等云服务提供商可能会更好地支持 OpenTelemetry 等标准,使得组织在利用其现有工具时,能更高效地实现数据的收集和分析。
- 功能提升 :随着标准的普及,现有工具可能会不断完善其可观测性相关的功能,弥补之前“缺乏成熟度”的不足,为组织提供更强大的可观测性能力。
5.3 购买策略
- 选择考量 :组织在购买可观测性工具时,会更倾向于选择支持开源标准的产品。因为这样的工具能更好地融入组织的整体技术生态,避免因供应商不遵循标准而导致的兼容性问题和数据孤岛现象。
- 供应商压力 :标准化趋势会给供应商带来压力,促使他们将开源标准纳入产品路线图,否则可能会失去市场竞争力。这对于购买工具的组织来说,是一个利好消息,能促使供应商提供更优质、更符合行业需求的产品。
以下是趋势对三种策略影响的对比表格:
|策略|优势变化|风险变化|
| ---- | ---- | ---- |
|构建策略|优势放大,与行业标准对齐,兼容性和互操作性增强|风险降低,项目稳定性和成熟度提高|
|利用策略|集成更优,功能提升|无明显风险变化|
|购买策略|选择倾向支持标准的产品,供应商竞争促使产品优化|无明显风险变化|
6. 综合决策流程
在选择可观测性工具时,组织需要综合考虑多方面因素,以下是一个详细的决策流程:
graph LR
A[明确组织可观测性需求] --> B{评估技术资源和能力}
B -- 有足够资源 --> C{分析风险承受能力}
C -- 能承受高风险 --> D[考虑构建策略]
C -- 不能承受高风险 --> E{是否有可用现有工具}
E -- 是 --> F[评估利用策略]
E -- 否 --> G[考虑购买策略]
B -- 无足够资源 --> E
D --> H[评估开源标准适配性]
F --> I[检查现有工具对标准的支持]
G --> J[优先选择支持标准的产品]
H --> K[确定构建方案]
I --> L[制定利用方案]
J --> M[选择合适供应商和产品]
K --> N[实施与监控]
L --> N
M --> N
具体步骤如下:
1.
明确组织可观测性需求
:确定组织对可观测性的具体要求,如监控的范围、指标、实时性等。
2.
评估技术资源和能力
:判断组织内部是否有足够的技术人员和资源来构建和维护可观测性工具。
3.
分析风险承受能力
:考虑组织对风险的接受程度,构建策略通常伴随着较高的风险。
4.
考虑构建策略
:如果有足够资源且能承受高风险,进一步评估开源标准的适配性,确定构建方案。
5.
评估利用策略
:若有可用的现有工具,检查其对开源标准的支持情况,制定利用方案。
6.
考虑购买策略
:在没有足够资源或不适合构建和利用时,优先选择支持开源标准的产品,选择合适的供应商和产品。
7.
实施与监控
:按照确定的方案实施可观测性工具,并持续监控其运行效果,根据实际情况进行调整和优化。
7. 总结与建议
可观测性工具的选择是一个复杂的过程,涉及到组织的需求、资源、风险承受能力以及行业趋势等多个因素。以下是一些总结和建议:
- 关注开源标准 :开源标准如 OpenTelemetry 的发展对可观测性领域有着重要影响,组织应密切关注这些标准的动态,并在工具选择和构建过程中尽量遵循标准,以提高工具的兼容性和互操作性。
- 综合评估策略 :不要局限于单一的选择策略,应根据组织的实际情况综合考虑构建、利用和购买三种策略。例如,可以先利用现有工具满足基本需求,再根据发展情况逐步构建或购买更高级的工具。
- 持续学习和优化 :可观测性领域不断发展,新的工具和技术不断涌现。组织需要持续学习和关注行业动态,定期评估和优化已选择的可观测性工具,以确保其始终满足组织的需求。
- 团队协作 :可观测性工具的选择和实施不仅仅是技术团队的事情,还需要业务部门的参与和支持。组织应促进技术团队和业务部门之间的沟通和协作,确保工具的选择和使用能够为业务带来实际价值。
总之,选择合适的可观测性工具是组织提升 IT 运营效率、保障业务稳定运行的关键一步。通过综合考虑各种因素,遵循行业趋势,组织能够做出明智的决策,实现可观测性的有效落地。
超级会员免费看
2711

被折叠的 条评论
为什么被折叠?



