OpenTSDB和Grafana

1.背景

   监控redis的运行实时情况和历史,了解redis的运行情况

2.目的

通过此监控,可以实时监控redis服务的运行状态;并通过历史数据,了解redis的走势。采取相应的操作,达到监控的目的。

3.监控环境搭建

(3.1)修改主机名

 (3.1.1)在/etc/hosts

 

192.168.165.130 nameNode  #添加ip和主机名 

 

 

 (3.1.2) 在/etc/sysconfig/network

 

NETWORKING=yesHOSTNAME=nameNode  #主机名再重启机器 

 

 

(3.2)安装jdk-7u79-linux-x64.rpm

 

rpm -ivh jdk-7u79-linux-x64.rpm 

 修改/etc/profile文件

 

 

JAVA_HOME=/usr/java/jdk1.7.0_79
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH 

 
     

 

通过命令java -version出现,说明Java配置完成

 (3.3)hadoop伪分布式的配置安装

 

tar zxvf hadoop-2.5.1-x64.tar.gz
mv hadoop-2.5.1 hadoop
mv hadoop /usr/ 

 

 

 

(3.3.1)配置HADOOP_HOME

在etc/profile里面

 

JAVA_HOME=/usr/java/jdk1.7.0_79
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin 

 

 

(3.3.2)在 etc/hadoop/core-site.xml

 

 
          
	hadoop.tmp.dir      
	/usr/hadoop/tmp      
	A base for other temporary directories.  
      
          
        fs.defaultFS      
	hdfs://nameNode:9000  
    
 

 

 

(3.3.3)在etc/hadoop/hdfs-site.xml

 

    
    
        dfs.namenode.name.dir
        /usr/hadoop/hdfs/name
    
            
	dfs.datanode.data.dir        
        /usr/hadoop/hdfs/data    
        
            
	dfs.replication        
	1    
    
 

 

 

(3.3.4)在etc/hadoop/mapred-site.xml

 


  
     mapreduce.framework.name   
     Yarn
  
 

 

 

(3.3.5)在etc/hadoop/yarn-site.xml

 


  
      Yarn.nodemanager.aux-services
      mapreduce.shuffle
  
  
    The address of the applications manager interface in the RM.
        Yarn.resourcemanager.address
        192.168.165.130:18040
    
  
  The address of the scheduler interface.
       Yarn.resourcemanager.scheduler.address
       192.168.165.130:18030
  
  
      The address of the RM web application.    
      Yarn.resourcemanager.webapp.address       
      192.168.165.130:18088
  
  
     The address of the resource tracker interface.
     Yarn.resourcemanager.resource-tracker.address
     192.168.165.130:8025
   
 

 

 

(3.3.6)/etc/hadoop/hadoop-env.sh

中修改JAVA_HOME的目录地址

 

export JAVA_HOME=/usr/java/jdk1.7.0_79 

 

 

3.4 hbase的安装

(3.4.1) 在/usr/local/hc下执行

 

tar zxvf hbase-1.0.1.1-bin.tar.gzmv  hbase-1.0.1.1 hbase
mv hbase /usr/ 

 

 

(3.4.2)修改/hbase/conf/hbase-env.sh

 

export JAVA_HOME=/usr/java/jdk1.7.0_79(自己的jdk安装路径)
export HBASE_CLASSPATH=/usr/hadoop/conf设置到Hadoop的conf目录是用来引导Hbase找到Hadoop
export HBASE_MANAGES_ZK=true 

 

 

(3.4.3)修改/hbase/conf/hbase-site.sh

 


        
            hbase.cluster.distributed
            true
        
        
                hbase.rootdir
                hdfs://nameNode:9000/hbase
          
          
                dfs.replication
                1
          
 

 

 

3.5 启动hadoop和hbase

(3.5.1)首次启动需要格式化namenode。

 

bin/hadoop namenode -format 

 

 

(3.5.2)启动hadoop

 

	./start-dfs.sh

	./start-yarn.sh 

 
OpenTSDB和Grafana_第1张图片
 可通过浏览器浏览:http://192.168.165.130:50070/ 则出现如下界面,说明启动成功;

 

(3.5.3)启动hbase

在/usr/hbase/bin  

 

./start-hbase.sh 

 可通过./hbase shell进入hbase控制台,执行控制台命令操作hbase

 

*在hbase升级到1.0.0版本后,默认端口做了改动。其中16020端口是hmaster服务和hregionserver服务各自使用的默认端口,导致端口冲突。

该问题可以通过 使用单独的regionserver启动脚本程序启动regionserver来规避。

使用方法:

 bin/local-regionservers.sh start 1 

 关闭hbase 用./stop-hbase.sh

 

3.6 安装opendTSDB

(3.6.1) 什么是opendTSDB

OpenTSDB 用HBase存储所有的时序(无须采样)来构建一个 分布式、可伸缩的时间序列数据库 。它支持秒级数据采集所有metrics,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系统里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的metrics并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化、图形化等。

 

对于运维工程师而言,OpenTSDB可以获取基础设施和服务的实时状态信息,展示集群的各种软硬件错误,性能变化以及性能瓶颈。对于管理者而言,OpenTSDB可以衡量系统的SLA,理解复杂系统间的相互作用,展示资源消耗情况。集群的整体作业情况,可以用以辅助预算和集群资源协调。对于开发者而言,OpenTSDB可以展示集群的主要性能瓶颈,经常出现的错误,从而可以着力重点解决重要问题。

(3.6.2)基本概念

Metric 。一个可测量的单位的标称。 metric 不包括一个数值或一个时间,其仅仅是一个标签,包含数值和时间的叫 datapoints ,metric是用逗号连接的不允许有空格,例如:

hours.worked

webserver.downloads

accumulation.snow

Tags 。一个metric应该描述什么东西被测量,在OpenTSDB中,其不应该定义的太简单。通常,更好的做法是用Tags来描述具有相同维度的metric。Tags由tagk和tagv组成,前者表示一个分组,后者表示一个特定的项。

Time Series 。一个metric的带有多个tag的data point集合。

Timestamp 。一个绝对时间,用来描述一个数值或者一个给定的metric是在什么时候定义的。

Value 。一个Value表示一个metric的实际数值。

UID 。在OpenTSDB中,每一个metric、tagk或者tagv在创建的时候被分配一个唯一标识叫做UID,他们组合在一起可以创建一个序列的UID或者 TSUID 。在OpenTSDB的存储中,对于每一个metric、tagk或者tagv都存在从0开始的计数器,每来一个新的metric、tagk或者tagv,对应的计数器就会加1。当data point写到TSD时,UID是自动分配的。你也可以手动分配UID,前提是 auto metric 被设置为true。默认地,UID被编码为3Bytes,每一种UID类型最多可以有16,777,215个UID。你也可以修改源代码改为4Bytes。UID的展示有几种方式,最常见的方式是通过http api访问时,3 bytes的UID被编码为16进制的字符串。

*注意事项

a. 减少metric, tag name和tag value的数量。

b. 为每个metric使用同类的tag name

c. 考虑系统常用的查询方式,选择合适的时间序列metric和tag

 

d. 每个metric的tag数量维持在5个以内,最多不超过8个。

(3.6.3)opendTSDB下载安装

OpenTSDB依赖jdk和Gnuplot,Gnuplot需要提前安装,版本要求为最小4.2,最大4.4,执行以下命令安装即可:

yum install automakeyum install gnuplot autoconf 

 接下来下载和安装openTSDB

 

git clone git://github.com/OpenTSDB/opentsdb.git

cd opentsdb

./build.sh

 

#TSDB通讯的端口
tsd.network.port = 4242
#数据保存到保存到HBase表下
tsd.storage.hbase.data_table = tsdb
#ZooKeeper Quorum
tsd.storage.hbase.zk_quorum = localhost 

 

 

(3.6.4)初始化建表

建表文件opentsdb/src/create_table.sh,如果这是你第一次用你的HBase实例去运行OpenTSDB,你首先需要去创建必须的HBase表:

进入opentsdb文件夹

 

env COMPRESSION=none HBASE_HOME=/usr/hbase ./src/create_table.sh

tsdtmp=${TMPDIR-'/tmp'}/tsd # For best performance, make suremkdir -p "$tsdtmp" # your temporary directory uses tmpfs
./build/tsdb tsd --port=4242 --staticroot=build/staticroot --cachedir="$tsdtmp"
此时你能访问TSD的网络接口通过:127.0.0.1:4242 (假设这跑在你的主机上). 

 

(3.6.5)创建你的第一个指标

首先创建metrics,命令会输出它的UID。

tsdb mkmetric 标签名称1  标签名称2   

 

3.7安装grafana

(3.7.1)下载grafana-2.6.0-1.x86_64.rpm

 

地址为:https://grafanarel.s3.amazonaws.com/builds/grafana-2.6.0-1.x86_64.rpm

service grafana-server start 

 
OpenTSDB和Grafana_第2张图片
 

 

启动后,在浏览器输入http://localhost:3000,默认端口号是3000,默认用户名是admin,密码是admin。点击登录。

(3.7.2)界面介绍

 

主页面(下图)主要分为两部分,左侧是按钮界面,右侧是动态显示图表界面。其中dashboards是所有的数据显示表盘。每一个表盘里面可以有很多动态图表。


OpenTSDB和Grafana_第3张图片
 

Data Sources是grafana连接的数据源管理界面,稍后再介绍。

(3.7.3)显示数据 

要显示数据,第一步得有数据,如果已经有了数据库(grafana原生支持influxDB,Graphite,OpenTSDB)可以直接设置数据源,否则需要自行安装数据库。我们使用OpenTSDB作为数据源。

 

(3.7.4)配置数据源

点击主页面左侧的Data Source 进入数据源配置界面。点击Add new,进入数据源编辑界面。 


OpenTSDB和Grafana_第4张图片
 

  (添加数据源界面)


OpenTSDB和Grafana_第5张图片
 

  (编辑数据源界面)

Edit data source

Name:自定义数据源的名称,在其他地方使用这个引用。

Default:默认数据源配置。多个数据源的默认选择。

Type:选择数据源的类型,可以根据自己安装的数据库的版本和类型选择,他的数据库自己选择。

Http settings

 

Url:数据库的连接地址。格式是:http://IP:Port。IP是数据库暴露出来的IP地址, OpenTSDB默认的端口号是4242


OpenTSDB和Grafana_第6张图片
 

1. 现在数据源已经配置成功,现在来创建表盘显示数据。


OpenTSDB和Grafana_第7张图片
 

点击Dashboards-Home-New,出现下面的界面。点击右侧的设置按钮---settings,进入该dashboard的设置界面。


OpenTSDB和Grafana_第8张图片
 

配置要查询指标mkmetric ,tags过滤条件过滤想要的数据。

 

 

 

 

你可能感兴趣的:(OpenTSDB和Grafana)