一、基本概念

1 APM:

1.1  简介:APM (应用性能管理) - Application Performance Management & Monitoring在信息科学和系统控制领域,APM致力于监控和管理应用软件性能和可用性。通过监测和诊断复杂应用程序的性能问题,来保证软件应用程序的良好运行(预期的服务)

 1.2 APM核心功能
APM被形象的称为应用程序的私人医生,越来越收到青睐,比起通过日志方式记录关键数据显然要更加实用,APM主要包含如下核心功能:
1.应用系统存活检测
2.应用程序性能指标检测(CPU利用率、内存利用率等等。。。)
3.应用程序关键事件检测
4.检测数据持久化存储并能够多维度查询
5.服务调用跟踪
6.监控告警

1.3 APM 系统都有哪些

大众点评cat、skywalking、Pinpoint

cat框架:cat相关文档:

APM agent APM server 选择时间段 性能监控 apm应用监控_hdfs

2、javaagent

2.1 Java Agent(Java 代理)是 JDK 1.5 之后引入的技术

2.2 JVM SandBox 是一种无侵入,可动态插拔,JVM 层的 AOP 解决方案

3 hadoop

3.1 简介:hadoop:它是一个分布式计算+分布式文件系统,前者其实就是MapReduce,后者是HDFS。后者可以独立运行,前者可以选择性使用,也可以不使用。

Hive:  通俗的说是一个数据仓库,仓库中的数据是被hdfs管理的数据文件,它支持类似sql语句的功能,你可以通过该语句完成分布式环境下的计算功能,hive会把语句转换成MapReduce,然后交给hadoop执行。这里的计算,仅限于查找和分析,而不是更新、增加和删除。
它的优势是对历史数据进行处理,用时下流行的说法是离线计算,因为它的底层是MapReduce,MapReduce在实时计算上性能很差

Hbase:   hbase的作用类似于数据库,传统数据库管理的是集中的本地数据文件,而hbase基于hdfs实现对分布式数据文件的管理,比如增删改查。也就是说,hbase只是利用hadoop的hdfs帮助其管理数据的持久化文件(HFile),它跟MapReduce没任何关系。
hbase的优势在于实时计算,所有实时数据都直接存入hbase中,客户端通过API直接访问hbase,实现实时计算

3.2 关系:hadoop是hive和hbase的基础,hive依赖hadoop,而hbase仅依赖hadoop的hdfs模块,hive适用于离线数据的分析,hbase适用于实时计算,hive可以直接操作hdfs中的文件作为它的表的数据,也可以使用hbase数据库作为它的表

在大数据架构中,Hive和HBase是协作关系,数据流一般如下图

APM agent APM server 选择时间段 性能监控 apm应用监控_hdfs_02