1、介绍

openTSDB(见图)使用hbase作为存储中心,它无须采样,可以完整的收集和存储上亿的数据点,支持秒级别的数据监控,得益于hbase的分布式列式存储,hbase可以灵活的支持metrics的增加,可以支持上万机器和上亿数据点的采集。在openTSDB中,TSD是hbase对外通信的daemon程序,没有master/slave之分,也没有共享状态,因此利用这点和hbase集群的特点就可以消除单点。用户可以通过telnet或者http协议直接访问TSD接口,也可以通过rpc访问TSD。每一个需要获取metrics的Servers都需要设置一个Collector用来收集时间序列数据。这个Collector就是你收集数据的脚本。

opentsdb.png?version=1&modificationDate=1376452208960&api=v2

2、安装好JDK并配置JAVA_HOME

JAVA_HOME=/usr/java/latest

3、安装单节点的hbase

a、下载hbase-0.94.7.tar.gz并解压缩

tar -zxf hbase- 0.94 . 7 .tar.gz
#cd hbase- 0.94 . 7 /conf
#vim hbase-site.xml
<property>
<name>hbase.tmp.dir</name>
<value>/tmp/hbase</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>file: ///opt/hbase/hbase-\${user.name}/hbase</value>
</property>
#mkdir -p /opt/hbase



b、配置HBASE_HOME

#export HBASE_HOME=/root/OpenTSDB/hbase- 0.94 . 7

c、启动hbase

#/bin/start-hbase.sh

d、查看hbase进程

jps查看是否有HMaster  

ps aux| grep hbase

4、安装openTSDB所需的一些软件

yum install gnuplot autoconf git -y

5、安装openTSDB

a、下载opentsdb-1.1.0.tar.gz

#tar -zxf opentsdb- 1.1 . 0 .tar.gz
#cd opentsdb- 1.1 . 0
#./build.sh


6、运行opneTSDB

配置环境变量并建hbase表

#env COMPRESSION=none HBASE_HOME=/root/OpenTSDB/hbase- 0.94 . 7 /root/OpenTSDB/opentsdb- 1.1 . 0 /src/create_table.sh
#./build/tsdb tsd --port= 4242 --staticroot=staticroot  --cachedir=/tmp/tsdtmp &



以下是tsdb可运行的命令

usage: tsdb <command> [args] 
Valid commands: fsck, import, mkmetric, query, tsd, scan, uid

7、测试

收集系统负载:

cat >loadavg-collector.sh <<\EOF
#!/bin/bash
set -e while true ;
do awk -v now=`date +%s` -v host=`hostname`
\ '{ print "put proc.loadavg.1m " now " " $ 1 " host=" host;
print "put proc.loadavg.5m " now " " $ 2 " host=" host }'
/proc/loadavg sleep 15 done | nc -w 30 192.168 . 0.75 4242
EOF
#chmod +x loadavg-collector.sh
#nohup ./loadavg-collector.sh &



然后可以在终端看见:

put proc.loadavg.1m 1288946927 0.36 host=desktop30
put proc.loadavg.5m 1288946927 0.62 host=desktop30
put proc.loadavg.1m 1288946942 0.43 host=desktop30
put proc.loadavg.5m 1288946942 0.62 host=desktop30



此时,在OpenTSDB服务器上,添加metric

#/root/OpenTSDB/opentsdb-1.1.0/build/tsdb  mkmetric  proc.loadavg.1m    proc.loadavg.5m

也可在启动时添加自动创建参数,--auto-metric,如下:

./build/tsdb tsd --port=4242--staticroot=staticroot  --cachedir=/tmp/tsdtmp --auto-metric &


然后通过浏览器访问:http://192.168.0.75:4242,如下图

tsdb.png?version=1&modificationDate=1376454334231&api=v2