需求说明

随着大数据组件的日益完善,需要随时随地保持各个组件的日常运行,对各个组件的监控势在必行。为了减少运维部门的负担,通过筛选,我们使用 jmxtrans + influxdb + granafa 套件对各个组件进行监控。

  • Jmxtrans:JMX可以对外暴露jvm内部的一些指标,但是要获取那些jvm的内部信息,就还需要自己写java程序调用jmx接口去获取数据,并按照某种格式发送到其他地方(如监控程序Graphite,Zabbix等)。这时jmxtrans就派上用场了,jmxtrans的作用是自动去jvm中获取所需要的jmx数据,并按照某种格式(json文件配置格式)输出到其他应用程序。

  • InfluxDb:InfluxDB是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及执行分析。内置HTTP API,所以不用再写服务端代码来启动和运行。数据可以被标记,允许非常灵活的查询。类似SQL的查询语言安装和管理简单,数据输入和输出速度快。它旨在实时响应查询。这意味着point数据写入即被索引并立即可供响应时间应小于100ms的查询使用。

  • Grafana:Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。

适用人群

  • 管理层人员
  • 数据部门人员
  • 运维部门人员
  • 其他想要学习此类知识的人员

监控套件架构图

登录网址

环境 网址
数据组测试集群 http://dev01:3000

jmxtrans的使用

配置数据源

Jmxtrans 组件会读取 /var/lib/jmxtrans 目录下所有数据源配置文件(json格式文件),实时从数据源中获取数据,解析数据后存储到 InfluxDb 中。

以下是数据源配置例子:

{
"servers":[
{
"port":"10102",
"host":"192.168.20.11",
"queries":[
{
"obj":"Hadoop:service=HBase,name=JvmMetrics",
"attr":[
"GcCount"
],
"resultAlias":"GcCount",
"outputWriters":[
{
"@class":"com.googlecode.jmxtrans.model.output.InfluxDbWriterFactory",
"url":"http://192.168.20.10:8086/",
"username":"admin",
"password":"111111",
"database":"hbaseJmx",
"tags" : {"JVM" : "GcCount"}
}
]
}
]
}
]
}

数据项说明:

名称 描述 类型
servers 数据源配置 数组
port 接收jmx的json数据的端口 字符串
host 接收jmx的json数据的IP地址 字符串
queries 解析json的规则 数组
obj http://192.168.20.10:60010/jmx?qry=xxx 中的xxx 字符串
attr 需要存储的指标项字段,该字段名是数据目标表的字段名 数组
resultAlias InfluxDb 中的表名 字符串
outputWriters 数据目的地( InfluxDb ) 数组
@class 数据目的地( InfluxDb )的类 字符串
url 数据目的地( InfluxDb )的url 字符串
username InfluxDb登录名 字符串
password InfluxDb密码 字符串
database InfluxDb数据库名(需要预先创好) 字符串
tags 避免指标项在 InfluxDb 表中所对应的字段重名的情况 json

启动配置项

启动脚本

/usr/share/jmxtrans/bin/jmxtrans.sh start

配置项修改

sudo vim /usr/share/jmxtrans/bin/jmxtrans.sh

SECONDS_BETWEEN_RUNS=${SECONDS_BETWEEN_RUNS:-"60"} #数据获取间隔,秒级
HARDKILL_THRESHOLD=${HARDKILL_THRESHOLD:-60}

InfluxDb的使用

InfluxDb原先有web界面,但是这个web管理界面在1.1以后的版本中被删除。

启动脚本

启动脚本

sudo service influxdb start

停止脚本

sudo service influxdb stop

启动influxDb shell

influx

shell脚本

查询语句高度类似于SQL语句,

  1. 查询数据库

    show databases;
  2. 跳转数据库

    use hbaseJmx;
  3. 创建数据库

    create databse test;
  4. 查看表

    show measurements;
  5. 查询表

    select * from test limit 1;

Grafana的使用

登陆界面

http://dev01:3000

首页



数据源配置

图表展示配置

所有的图表都是在看板里配置的,先添加一个看板用来展示。

Graph配置

新建Graph

新建一个Graph并对界面进行说明

配置Graph
  1. 界面描述

  1. 配置展示数据

  1. 配置SQL

配置图的展示规则

Table配置

新建Table

配置SQL

配置Table的展示规则
  1. Time series to rows 根据时间展示行

  1. Time seried to columns 根据时间展示列

  2. Time series aggregation 根据时间做聚合展示

  3. 对列配置规则

jmxtrans + influxdb + granafa 监控套件使用手册的更多相关文章

  1. jmxtrans + OpenTSDB + granafa 监控套件使用手册

    需求说明 编写背景 此手册的基础在于对<jmxtrans + influxdb + granafa 监控套件使用手册>的熟悉和使用.本手册仅介绍以下几项: OpenTSDB 的配置安装 对 ...

  2. Kafka使用jmxtrans+influxdb+grafana监控JMX指标

    最近在搞Kafka集群监控,之前也是看了网上的很多资料.之所以使用jmxtrans+influxdb+grafana是因为界面酷炫,可以定制化,缺点是不能操作Kafka集群,可能需要配合Kafka M ...

  3. 基于jmxtrans+influxdb+grafana实现对canal监控

    最近在调研canal数据同步系统的监控方案,网上关于jmxtrans+influxdb+grafana监控kafka的文档很多,没有监控canal的.通过几天的摸索,大致明白了来龙去脉.监控流程基本是 ...

  4. Grafana+Influxdb+Telegraf监控mysql

    Grafana+Influxdb+Telegraf监控mysql 一.安装 1.1安装Grafana+influxdb+telegraf 1.2启动服务,添加开机启动 1.3查看grafana界面 二 ...

  5. Jmeter + Grafana + InfluxDB 性能测试监控

    阅读目录 1. 安装InfluxDB 2. 安装Grafana 3. 配置Jmeter 序章 前几天在群里看到大神们在讨论Jmeter + InfluxDB + Grafana监控.说起来Jmeter ...

  6. [转]Jmeter + Grafana + InfluxDB 性能测试监控

    https://www.cnblogs.com/yyhh/p/5990228.html Jmeter + Grafana + InfluxDB 性能测试监控 效果不错

  7. 搭建Jmeter + Grafana + InfluxDB性能测试监控环境

    背景 Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成.如下图为jmeter在Linux下运行的实时日志: 那么如 ...

  8. 使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况

    使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + ...

  9. 基于Docker 部署Jmeter + Grafana + InfluxDB 性能测试监控配置(亲测可用)

    工具介绍: InfluxDB:是一款用Go语言编写的开源分布式时序.事件和指标数据库,无需外部依赖.该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, lo ...

随机推荐

  1. Django中ORM操作提升性能

    提升orm操作性能注意的点 优化一:尽量不查对象,能用values就是用values 直接使用对象查询的结果是5条sql语句 def youhua(request): # 使用对象查 obj_list ...

  2. Constructing Tests CodeForces - 938C

    大意: 定义m-free矩阵: 所有$m*m$的子矩阵至少有一个$0$的$01$矩阵. 定义一个函数$f(n,m)=n*n$的m-free矩阵最大$1$的个数. 给出$t$个询问, 每个询问给出$x$ ...

  3. 自定义字段的设计与实现(Java实用版)

    前言 自定义字段又叫做"开放模型",用户可以根据自已的需求,添加需要的字段,实现个性化定制. 使用自定义字段的目的,使用自定义字段解决哪些问题 如现有一套CRM系统,客户模块中客户 ...

  4. 在web项目中配置log4j

    在web.xml中添加如下代码 <context-param> <param-name>contextConfigLocation</param-name> < ...

  5. MySQL性能优化(六):分区

    原文:MySQL性能优化(六):分区 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbi ...

  6. AWS In Action

    Core Services of AWS Elastic Cloud Compute(EC2) Simple Storage Service(S3) Relational Database Servi ...

  7. MyBatis与Hibernate总结篇

    也用了这么久的Hibernate和MyBatis了,一直打算做一个总结,就他们之间的优缺点说说我自己的理解: 首先,Hibernate是一个ORM的持久层框架,它使用对象和我们的数据库建立关系,在Hi ...

  8. 检查linux是否安装java、tomcat、mysql

    linux下,查看安装软件 1.linux下的java Java -version 如果出现java版本,证明java安装成功. 2.linux下的tomcat 2.1.检查linux是否安装tomc ...

  9. 在java中使用solr7.2.0 新旧版本创建SolrClient对比

    在Java中使用solr 版本7.2.0 solrj已经更新到了7.2.0,新版本solr获取SolrClient的方式也和之前旧版本有所不同 solr6.5开始不推荐直接使用HttpSolrClie ...

  10. 记录一次维护weblogic集群的问题

    [问题描述] weblogic 集群子服务节点启动,启动完毕后状态改为 ADMIN,正常情况是 RUNNING 在启动脚本添加如下配置即可 -DDomainRegistrationEnabled=tr ...