监控简介

Generated

监控总共分为两部分:

常规报警监控,包括:进程类监控、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数据,无业务相关指标数据。