业务流程巡检拨测常用的开源工具

本文涉及的产品
云拨测,每月3000次拨测额度
简介: 【2月更文挑战第29天】

应用运维系统的首要能力是在应用业务流程处理出现宕机、假死、错误或运行缓慢等异常状态时,先于用户发现,并及时通知相关责任人。其主要技术手段是采用软件程序主动模拟用户的操作过程,设置自动化巡检策略,定时主动拨测应用业务流程,采集相关指标。应用运维巡检拨测场景用到的工具和自动化测试工具一样,这类工具一般都支持这两个场景。常用的工具有Blackbox、Apache JMeter、Selenium、Postman等。

一、Blackbox

1、简介

Blackbox是在开源指标数据采集、存储平台Prometheus框架下使用的应用运行状态主动检测工具。其所有代码和功能都在Prometheus Exporter数据采集框架下开发实现,因此Blackbox默认只提供与Prometheus的对接。在使用过程中,可以在近用户端的网络环境下部署独立的Blackbox拨测节点,然后通过配置定时策略实现对目标应用服务端状态的主动检测。

2、主要功能

Blackbox功能简单实用,主要用来部署在与目标应用的用户端网络环境配置相似且临近真实用户的仿真环境下,模拟用户端以主动对应用关键服务接口和网络连通状态进行检测。其对目标应用的拨测地址、认证和周期等策略都以YAML格式的配置文件的形式定义。在运行过程中,对于拨测策略改变导致的配置文件修改,Blackbox支持在运行期重加载,不需要重启。


Blackbox能够对应用HTTP/HTTPS协议的Web页面、RESTful API接口、Web Service API接口,以及网络TCP连接、DNS状态和ICMP(IPv4、IPv6)发起主动拨测。在运行状态,Blackbox会按策略配置对指定应用页面、接口或网络进行主动拨测扫描。所有探测到的数据指标按照Prometheus的指标命名规则命名。监控数据在Exporter框架下以如下格式定义,并通过HTTP提供Prometheus拉取。


Blackbox扫描后采集的样本数据提供了对应用指定业务流程对应的Web页面/API接口地址的DNS解析时间、发送请求响应时间、HTTP请求返回状态码、请求重定向次数等指标的访问。通过这些指标,应用运维人员可以及时发现应用指定业务流程的异常状态。

二、Apache JMeter

1、简介

Apache JMeter是由Java语言编写的、独立部署运行的轻量级应用性能主动测试工具,可用于模拟用户端行为,主动生成用于负载压力测试的Web应用程序的性能。它可用于模拟服务器、服务器组、网络或对象的重负载,以测试其强度或分析不同负载类型下的总体性能。Apache JMeter的主要目标应用场景是性能测试。其在软件测试阶段的应用非常广泛,如测试应用并发量、吞吐量和高负荷状态下的稳定性。在对业务流程巡检拨测时,其可以作为主动拨测请求的发送节点,结合被动的应用性能监控工具,如APM工具、NPM工具来监控应用的可用性和性能波动情况。

2、主要功能

Apache JMeter主要应用在开发期,用于模拟和定义测试计划,生成负载对应用系统性能的压力测试。在应用运行期,Apache JMeter可以模拟用户访问操作或第三方系统调用接口,支持应用运维自定义逻辑来拨测目标应用系统。Apache JMeter可以通过自定义逻辑对几十种类型的协议、中间件和接口进行主动拨测,其中包括:

  • Web-HTTP、HTTPS(Java、Node.js、PHP、ASP.NET等);
  • SOAP/REST Web服务;
  • FTP;
  • JDBC连接数据库;
  • LDAP;
  • 通过JMS面向消息的中间件(MOM);
  • SMTP、POP3和IMAP;
  • 本机命令或shell脚本;
  • TCP;
  • Java对象。

除此之外,Apache JMeter还允许通过IDE界面快速定义测试计划(来自浏览器或本机应用程序),支持CLI命令行模式,可从任何Java兼容操作系统(Linux、Windows、Mac OSX等)加载测试。Apache JMeter能够提供完整的多线程框架,允许多个线程并发采样,以及通过单独的线程组同时对不同函数进行采样,支持生成并提供完整且随时可以呈现的动态HTML报告。Apache JMeter还能够缓存和离线分析/重播测试结果。

三、Selenium

1、简介

Selenium是最广泛使用的开源Web应用自动化测试工具集,包括一系列工具。Selenium起初是由Jason Huggins开发的用来在ThoughtWorks公司内部使用的工具。其设计目标是代替人来主动测试Web应用,对Web应用发起自动化测试。Selenium直接运行在浏览器中,模拟真正的用户操作来拨测目标应用。除了测试场景,Selenium还可以用在应用运维过程中来对指定应用业务流程进行主动拨测。由于支持更灵活的操作流程定义,相比于Blackbox、Apache JMeter这类工具,Selenium可以对应用中操作流程比较复杂的业务流程进行拨测。

2、主要功能

Selenium内部集成了设计简洁、使用简单的编程接口WebDriver来驱动浏览器对应用界面进行操作。它支持大多数常用的浏览器类型,包括Firefox、Safari、Chrome、Opera等。它支持的用来模拟应用操作的测试流程或拨测流程的编程语言包括Java、Python、C#、Ruby、JavaScript和Kotlin。


总的来说,Selenium在模拟用户操作以进行主动巡检拨测的场景下的功能主要有以下几个。

  1. 其可模拟应用指定业务流程的操作全过程,拨测业务流程的可用性,主动发现应用服务器假死、死锁等难以监控的异常状态。
  2. 其可针对特定输入获取指定操作的返回结果,验证页面或接口返回结果的正确性,发现业务逻辑错误、代码缺陷等问题。
  3. 其可定期模拟多个用户的并发操作,压力测试应用的并发处理能力和通量,精确探查应用并发处理的瓶颈,并为配置优化和容量规划采集指导数据。
相关文章
|
8月前
|
存储 Shell
巡检云平台的脚本
巡检云平台的脚本
69 1
|
9月前
|
Prometheus Kubernetes 监控
K8s环境下监控告警平台搭建及配置
K8s环境下监控告警平台搭建及配置
253 0
|
11月前
|
运维 监控 安全
深入了解WGCLOUD - 开源运维监测平台
WGCLOUD是一款轻量高效的运维监测系统**,开源免费,性能高效,稳定安全,开箱即用,部署实施操作简单,它可以让任何角色快速上手使用,比如我们的开发工程师,产品工程师,项目经理,运维工程师,数据库工程师等
深入了解WGCLOUD - 开源运维监测平台
|
12月前
|
数据采集 数据管理 数据处理
数据质量最佳实践(3):通过质量治理工作台,实现质量问题的跟踪和处理
在Dataphin数据治理系列:基于数据质量管理,支撑业务快速发展这篇文章中,我们详细的介绍了Dataphin数据质量模块的产品核心能力和产品使用演示。 在实际的质量管理中,做完了事前的质量规则的配置和事中的质量规则校验后,会产生大量的质量问题待治理项,这时候需要有一个完整的工作流程去管理质量问题,实现从质量规则配置,到质量问题发现,到质量治理修复问题,最终提升数据质量的完整PDCA流程。
|
运维 监控 中间件
运维自动化之监控告警平台
Saturn平台可以解决多种监控平台产生的报警统一管控,类似监控中间件的功能,监控平台产生的告警发送给saturn, 通过saturn统一查询分析报警、控制报警风暴、自定义报警发送渠道(钉钉、电话告警),saturn还支持对收集到ES、云厂商日志服务中的业务日志检索并报警, saturn内置了中通天鸿呼叫中心免费1000条语音告警功能。
980 0
运维自动化之监控告警平台
|
存储 运维 监控
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
运维自动化可以大大提高运维的主动性和准确性,减少技术人员的工作强度,将精力转到运维策略规划、问题分析等有价值的工作中
262 0
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
|
运维 监控 调度
【Dataphin智能运维】智能基线,自动化预警代替人工监控
DataphinV3.6版本全新上线智能运维模块,支持基线监控和调度限流功能。基线监控能够快速捕捉导致基线上的任务无法按时完成的异常情况并提前预警,保障复杂依赖场景下重要数据能在预期时间内顺利产出,帮助您降低人工配置成本、提升监控及时性和准确性、避免无效报警,运维人员的好帮手,管理者的福音!
【Dataphin智能运维】智能基线,自动化预警代替人工监控
|
测试技术
干货:2022年测试行业金句大盘点!
干货:2022年测试行业金句大盘点!
308 0
|
存储 数据采集 运维
运维告警方式有哪些?- 华汇数据
DCOM监控平台涵盖了网络、服务器硬件、虚拟化平台、操作系统、数据库、WEB服务器和中间件等各种IT基础设施的监控,除了对IT资源内部组件的可用和性能进行监控外,还通过主动模拟方式对资源提供的服务能力进行直接监控,并且还可以对IT资源的各种运行日志进行采集和分析,使监控真正做到不留死角。
266 0
运维告警方式有哪些?- 华汇数据
|
运维 Prometheus 监控
告警运维中心|构建高效精准的告警协同处理体系
基于报告,ARMS 能快速的整合上下文,包括 Prometheus 监控进行监控。还有前端监控的相关数据,都会整合到报告里面,进行全方位检测来收敛相关问题。
告警运维中心|构建高效精准的告警协同处理体系