需求说明

随着大数据组件的日益完善,需要随时随地保持各个组件的日常运行,对各个组件的监控势在必行。为了减少运维部门的负担,通过筛选,我们使用 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主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。

适用人群

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

监控套件架构图

jmxtrans + influxdb + granafa 监控套件使用手册

登录网址

环境 网址
数据组测试集群 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
jmxtrans + influxdb + granafa 监控套件使用手册

首页

jmxtrans + influxdb + granafa 监控套件使用手册
jmxtrans + influxdb + granafa 监控套件使用手册

数据源配置

jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

图表展示配置

所有的图表都是在看板里配置的,先添加一个看板用来展示。
jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

Graph配置

新建Graph

新建一个Graph并对界面进行说明
jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

配置Graph
  1. 界面描述

jmxtrans + influxdb + granafa 监控套件使用手册

  1. 配置展示数据

jmxtrans + influxdb + granafa 监控套件使用手册

  1. 配置SQL

jmxtrans + influxdb + granafa 监控套件使用手册

配置图的展示规则

jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

Table配置

新建Table

jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

jmxtrans + influxdb + granafa 监控套件使用手册

配置SQL

jmxtrans + influxdb + granafa 监控套件使用手册

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

jmxtrans + influxdb + granafa 监控套件使用手册

  1. Time seried to columns 根据时间展示列
    jmxtrans + influxdb + granafa 监控套件使用手册

  2. Time series aggregation 根据时间做聚合展示
    jmxtrans + influxdb + granafa 监控套件使用手册

  3. 对列配置规则
    jmxtrans + influxdb + granafa 监控套件使用手册

相关文章:

  • 2022-12-23
  • 2021-05-20
  • 2021-12-29
  • 2021-04-07
  • 2021-12-04
  • 2021-11-07
  • 2021-10-20
  • 2021-05-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-08
  • 2021-09-22
  • 2022-02-01
相关资源
相似解决方案