jmxtrans + influxdb + granafa 监控套件使用手册
需求说明
随着大数据组件的日益完善,需要随时随地保持各个组件的日常运行,对各个组件的监控势在必行。为了减少运维部门的负担,通过筛选,我们使用 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语句,
- 查询数据库
show databases; - 跳转数据库
use hbaseJmx; - 创建数据库
create databse test; - 查看表
show measurements; - 查询表
select * from test limit 1;
Grafana的使用
登陆界面
首页


数据源配置



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


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


配置Graph
- 界面描述

- 配置展示数据

- 配置SQL

配置图的展示规则



Table配置
新建Table



配置SQL

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

Time seried to columns 根据时间展示列

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

对列配置规则

jmxtrans + influxdb + granafa 监控套件使用手册的更多相关文章
- jmxtrans + OpenTSDB + granafa 监控套件使用手册
需求说明 编写背景 此手册的基础在于对<jmxtrans + influxdb + granafa 监控套件使用手册>的熟悉和使用.本手册仅介绍以下几项: OpenTSDB 的配置安装 对 ...
- Kafka使用jmxtrans+influxdb+grafana监控JMX指标
最近在搞Kafka集群监控,之前也是看了网上的很多资料.之所以使用jmxtrans+influxdb+grafana是因为界面酷炫,可以定制化,缺点是不能操作Kafka集群,可能需要配合Kafka M ...
- 基于jmxtrans+influxdb+grafana实现对canal监控
最近在调研canal数据同步系统的监控方案,网上关于jmxtrans+influxdb+grafana监控kafka的文档很多,没有监控canal的.通过几天的摸索,大致明白了来龙去脉.监控流程基本是 ...
- Grafana+Influxdb+Telegraf监控mysql
Grafana+Influxdb+Telegraf监控mysql 一.安装 1.1安装Grafana+influxdb+telegraf 1.2启动服务,添加开机启动 1.3查看grafana界面 二 ...
- Jmeter + Grafana + InfluxDB 性能测试监控
阅读目录 1. 安装InfluxDB 2. 安装Grafana 3. 配置Jmeter 序章 前几天在群里看到大神们在讨论Jmeter + InfluxDB + Grafana监控.说起来Jmeter ...
- [转]Jmeter + Grafana + InfluxDB 性能测试监控
https://www.cnblogs.com/yyhh/p/5990228.html Jmeter + Grafana + InfluxDB 性能测试监控 效果不错
- 搭建Jmeter + Grafana + InfluxDB性能测试监控环境
背景 Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成.如下图为jmeter在Linux下运行的实时日志: 那么如 ...
- 使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况
使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + ...
- 基于Docker 部署Jmeter + Grafana + InfluxDB 性能测试监控配置(亲测可用)
工具介绍: InfluxDB:是一款用Go语言编写的开源分布式时序.事件和指标数据库,无需外部依赖.该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, lo ...
随机推荐
- Django中ORM操作提升性能
提升orm操作性能注意的点 优化一:尽量不查对象,能用values就是用values 直接使用对象查询的结果是5条sql语句 def youhua(request): # 使用对象查 obj_list ...
- Constructing Tests CodeForces - 938C
大意: 定义m-free矩阵: 所有$m*m$的子矩阵至少有一个$0$的$01$矩阵. 定义一个函数$f(n,m)=n*n$的m-free矩阵最大$1$的个数. 给出$t$个询问, 每个询问给出$x$ ...
- 自定义字段的设计与实现(Java实用版)
前言 自定义字段又叫做"开放模型",用户可以根据自已的需求,添加需要的字段,实现个性化定制. 使用自定义字段的目的,使用自定义字段解决哪些问题 如现有一套CRM系统,客户模块中客户 ...
- 在web项目中配置log4j
在web.xml中添加如下代码 <context-param> <param-name>contextConfigLocation</param-name> < ...
- MySQL性能优化(六):分区
原文:MySQL性能优化(六):分区 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbi ...
- AWS In Action
Core Services of AWS Elastic Cloud Compute(EC2) Simple Storage Service(S3) Relational Database Servi ...
- MyBatis与Hibernate总结篇
也用了这么久的Hibernate和MyBatis了,一直打算做一个总结,就他们之间的优缺点说说我自己的理解: 首先,Hibernate是一个ORM的持久层框架,它使用对象和我们的数据库建立关系,在Hi ...
- 检查linux是否安装java、tomcat、mysql
linux下,查看安装软件 1.linux下的java Java -version 如果出现java版本,证明java安装成功. 2.linux下的tomcat 2.1.检查linux是否安装tomc ...
- 在java中使用solr7.2.0 新旧版本创建SolrClient对比
在Java中使用solr 版本7.2.0 solrj已经更新到了7.2.0,新版本solr获取SolrClient的方式也和之前旧版本有所不同 solr6.5开始不推荐直接使用HttpSolrClie ...
- 记录一次维护weblogic集群的问题
[问题描述] weblogic 集群子服务节点启动,启动完毕后状态改为 ADMIN,正常情况是 RUNNING 在启动脚本添加如下配置即可 -DDomainRegistrationEnabled=tr ...
