跳到主要内容

工作原理

探针采用两级架构,包括运行在被监控应用上的 Agent 部分和运行在独立服务器上的 Collector 部分。其中 Agent 部分负责对应用进行嵌码和原始的数据采集,采集后的信息全部通过局域网直接传输到 Collector 上,由 Collector 进行数据的统计和关联,并最终上报到平台的数据中心上。

由于 Agent 会采集全量的业务、性能和安全数据并实时传输到 Collector 上,因此 Agent 与 Collector 之间必须保证通畅的本地千兆网络连接。Collector 支持 Failover 的高可用,对一组 Agent 可以部署多台 Collector 服务器,当其中个别服务器出现故障无法正常工作时,探针可通过 Failover 机制将数据实时传输到其他 Collector 上,以实现数据采集的高可用。Collector 的高可用机制如下图所示:

img

Java Agent 利用 JDK 的 Instrumentation 机制,在应用运行时通过字节码操作动态监控 Framework、数据库、NoSQL、Web Service 等组件的关键方法。通过实时获取方法执行时间、数据库调用时间、NoSQL 响应时间及外部服务响应时间等性能指标,当这些指标超检测到异常调用或超出安全阈值时,自动通过调用堆栈分析,检测是否存在危险方法执行、异常数据库调用等安全威胁行为,从而实时发现并阻止潜在攻击,为应用提供全方位的运行时保护,有效提升应用的安全性和稳定性。

img