想要继续研究opentsdb的前提是我们先搭建一个可以运行的opentsdb环境,接下来我将本人搭建此环境的过程记录下来,希望对给位有帮助。首先列出安装整个过程需要具备的环境总结:
1. linux操作系统;
2.安装jdk;
3.安装Hbase;
4.安装gnuplot;
5.安装opentsdb;
6.检验安装
具体步骤:
1.linux操作系统
这是最基本的,我们需要保证安装的linux系统是可以连接上网络的,不然后续的安装可能会比较麻烦,当然也并不是不可以安装,在此不做过多的讨论。
2.安装jdk
由于opentsdb本身是给予java语言编译执行的,所以我们需要提供这样的环境。
# wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm
# rpm -ivhjdk-7u79-linux-x64.rpm
设置环境变量
# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_79/
CLASSPATH=/usr/java/jdk1.7.0_79/lib/dt.jar:/usr/java/jdk1.7.0_79/tools.jar
PATH=/usr/java/jdk1.7.0_79/bin:$PATH
#source /etc/profile
检查jdk的版本号
# java -version
3.安装Hbase
# vim hbase-0.98.18-hadoop2/conf/hbase-site.xml
6.检验安装
OK!下面我们打开URL:http://localhost:4242/可以看到opentsdb内置的可视化界面:
以上就是安装的整个过程,下面我再来添加两个metric,检测一下
# ./opentsdb/build/tsdb mkmetric pro.loadavg.1m
# ./opentsdb/build/tsdb mkmetric pro.loadavg.5m
编写脚本并运行
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 127.0.01 4242 EOF chmod +x loadavg-collector.sh nohup ./loadavg-collector.sh &红字部分换成启动tsd服务的服务器IP和端口
4.安装gnuplot
每隔15秒会输出如下信息到tsd
put proc.loadavg.1m 1288946927 0.36 host=foo
put proc.loadavg.5m 1288946927 0.62 host=foo
put proc.loadavg.1m 1288946942 0.43 host=foo
put proc.loadavg.5m 1288946942 0.62 host=foo4.安装gnuplot使用浏览器登陆 TSD IP:端口,在metrics里分别添加“proc.loadavg.1m”和“proc.loadavg.5m”,就能在图表中看到监控信息了
总结:
opentsdb的表设计特点可以满足时间序列的数据存储在hbase中并能秒级相应。适合于以固定时间间隔的数据采集,例如:系统软件和硬件的监控。结合logstash可以监控应用log日志信息。
当然你也可以参考官方网站上的安装指南进行操作,地址为:http://opentsdb.net/docs/build/html/installation.html