5.1 监控简介
监控简介
监控总共分为两部分:
常规报警监控,包括:进程类监控、Metrics指标监控等。进程类监控,主要监控进程是否存活,覆盖所有部署进程范围。Metrics类监控,主要用于采集监控指定服务的Metrics指标。基础资源监控覆盖,覆盖包括:IO、CPU、内存等多项基础资源指标数据监控
日志查询服务,基于ELK整套日志服务用于全量日志搜索
常规报警监控
常规报警监控整体基于Agent等进行数据采集,Prometheus用于数据统一接入,Grafana用于数据展示和报警的方案,Agent端根据不同的采集方式采集;数据存储端根据不同数据量大小,分别支持Prometheus本地存储和NTSDB分布式存储,默认情况下采用Prometheus本地存储为主,只有当集群规模较大,本地存储满足不了数据增长需求时,才会考虑采用NTSDB进行分布式存储;Grafana用于图标展示和报警功能,报警规格需要用户自定义配置,并支持包括邮件、钉钉等不同报警方式。
日志查询服务
日志查询服务采用ELK的形式,通过Logstash收集指定服务的日志数据存储到ElasticSearch,并且通过Kibana进行日志搜索。
EasyOps针对所管理的服务监控,根据服务的类型,会使用不同的指标采集方式以达到监控、报警的目的。
文档按照采集器类型进行相关介绍,具体如下:
Exporter采集
Telegraf采集
Javaagent采集
Api采集(暂无)
内置数据库(暂无)
Filebeat(暂无)
ELK(暂无)
Exporter采集
使用此类采集方式的服务主要如下:
HDFS
Yarn
Hbase
Redis
Spark2-task
ElasticSearch
MySQL
Node 此类采集主要使用社区的开源方案,并在各类exporter上进行相关定制化开发。
exporter主要功能是将服务的指标数据按照配置规则解析成对应的数据格式,以供prometheus进行数据存储。
Telegraf采集
使用此类采集方式的服务如下:
Hive Metastore
HiveServer2
Ldap
Kerberos
Nginx
Kyuubi
Impala Telegraf采集主要是根据服务的指标数据文件(需要更改相对应的服务配置文件,进行指标数据的输出)、暴露的指标接口等,对数据按照配置规则解析成对应的数据格式,以供prometheus进行数据的存储。
Telegraf采集需要根据以上服务使用不同的plugin,具体服务对应的plugin如下表:
服务 | 输入plugin类型 | 输出plugin类型 |
---|---|---|
Hive | inputs.file | outputs.prometheus_client |
Ldap | inputs.openldap | outputs.prometheus_client |
Kerberos | inputs.procstat | outputs.prometheus_client |
Nginx | inputs.nginx | outputs.prometheus_client |
inputs.logparser | ||
Kyuubi | inputs.file | outputs.prometheus_client |
Impala | inputs.http | outputs.prometheus_client |
JavaAgent采集
使用此类采集方式的服务如下:
Zookeeper
BDMS_Meta
Meta_Service
Hadoop_Meta
Hadoop_Meta
Mammut
MapReduce2_historyServer
Spark2_historyServer
JavaAgent采集主要是针对java的一些web项目(并不是所有web项目。例如azkaban、easy系列等,指标采集走的是另一套方案,后续会有介绍)。
JavaAgent不能作为一个独立的进程启动,需要将对应的jar以及解析文件所在路径写在上述服务运行的启动脚本中。
此类采集方式获取的数据较少,均是jmx数据,无业务相关指标数据。
以上内容对您是否有帮助?