服务采集方案

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数据,无业务相关指标数据。