有关 OpenTSDB 介绍可以参见之前的文章。
OpenTSDB架构
OpenTSDB三大块,收集,加载/存储和查询数据。这种架构的主要目的是写入和读取数据点到HBase的。 有很多种方法来收集数据。我们可以使用tcollector,也可以自定义客户端程序收集。架构图如下:文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
所需条件
- A Linux system
- Java Development Kit 1.6 or later
- GnuPlot 4.2 or later
- Autotools
- Make
- Python
- Git
- An Internet connection
安装jdk
为了处理大量的数据使用的HBase作为底层数据库。在安装OpenTSDB前,需要先安装并运行HBase。本文将部署简单单一的HBase环境,如果你需要可扩展高可用性,就需要部署完全的HBase集群。文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
到Oracle下载jdk安装包。文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
设置环境变量文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
# vim /etc/profile export JAVA_HOME=/usr/local/java CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar PATH=/usr/local/java/bin:$PATH export PATH JAVA_HOME CLASSPATH # source /etc/profile
部署单一的HBase实例
# http://www.apache.org/dist/hbase/hbase-0.98.5/hbase-0.98.5-hadoop2-bin.tar.gz # tar zxvf hbase-0.98.5-hadoop2-bin.tar.gz # ln -s hbase-0.98.5-hadoop2 hbase
配置HBase文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
# vim /usr/local/hbase/conf/hbase-site.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.rootdir</name> <value>file:///data/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/data/zookeeper</value> </property> </configuration>
启动HBase实例文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
# cd /usr/local/hbase # ./bin/start-hbase.sh
安装Gnuplot
# yum install gnuplot
安装OpenTSDB
下载地址:https://github.com/OpenTSDB/opentsdb/releases文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
可以下载RPM包安装或通过源码安装。通过源码编译安装需要连接到Google code下载jar包。文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
# wget https://github.com/OpenTSDB/opentsdb/releases/download/v2.0.0/opentsdb-2.0.0.tar.gz # tar zxvf opentsdb-2.0.0.tar.gz # cd opentsdb-2.0.0 # ./build.sh # make install
创建表
# env COMPRESSION=NONE HBASE_HOME=/usr/local/hbase ./src/create_table.sh
COMPRESSION可以有NONE/LZO/GZIP/SNAPPY。 推荐使用LZO,压缩率高,会节省空间。 将创建4张表:tsdb、tsdb-uid、tsdb-tree、tsdb-meta。文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
配置OpenTSDB
要能正常启动tsdb服务,需要配置以下四个参数:文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
- Port: 监听的端口,默认 4242
- Staticroot: 指定web静态文件根目录
- Cachedir: 创建一个临时目录来存储缓
- Zkquorum: 指定Zookeeper服务器ip和端口
# vim ./opentsdb.conf tsd.network.port = 4242 tsd.http.staticroot =build/staticroot tsd.http.cachedir = /tmp/tsd tsd.core.auto_create_metrics = true
Cachedir目录会缓存大量的临时过期文件,需要定期清理。源码目录下有提供一个脚本来定期清理该目录。可以设置为cron任务。文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
# crontab -e * * * * 0 /usr/local/opentsdb2/tools/clean_cache.sh
启动tsdb服务:文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
# nohup ./build/tsdb tsd --config=./src/opentsdb.conf 2>&1 > /dev/null &
采集数据
#!/bin/bash INTERVAL=15 while :; do echo stats || exit; sleep $INTERVAL; done | nc -w 30 127.0.0.1 4242 | sed 's/^/put /' | nc -w 30 127.0.0.1 4242
收集的数据格式如下:文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
put tsd.hbase.latency_90pct 1408958117 18 method=scan host=tsdb class=TsdbQuery
put tsd.hbase.latency_95pct 1408958117 18 method=scan host=tsdb class=TsdbQuery
put tsd.hbase.root_lookups 1408958117 0 host=tsdb
put tsd.hbase.meta_lookups 1408958117 2 type=uncontended host=tsdb
put tsd.hbase.meta_lookups 1408958117 0 type=contended host=tsdb
put tsd.hbase.rpcs 1408958117 0 type=increment host=tsdb
put tsd.hbase.rpcs 1408958117 312 type=delete host=tsdb
put tsd.hbase.rpcs 1408958117 601 type=get host=tsdb
put tsd.hbase.rpcs 1408958117 14543 type=put host=tsdb
put tsd.hbase.rpcs 1408958117 0 type=rowLock host=tsdb
put tsd.hbase.rpcs 1408958117 102 type=openScanner host=tsdb
put tsd.hbase.rpcs 1408958117 102 type=scan host=tsdb
put tsd.hbase.rpcs.batched 1408958117 739 host=tsdb
put tsd.hbase.flushes 1408958117 0 host=tsdb
put tsd.hbase.connections.created 1408958117 1 host=tsdb
put tsd.hbase.nsre 1408958117 0 host=tsdb
put tsd.hbase.nsre.rpcs_delayed 1408958117 0 host=tsdb
put tsd.compaction.count 1408958117 379 type=trivial host=tsdb
put tsd.compaction.count 1408958117 32 type=complex host=tsdb文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
这个这是简单的测试。收集OpenTSDB的信息的。 可以使用Tcollector来收集数据。有关Tcollector内容参见之前的文章。文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
OpenTSDB内置的可视化界面
通过http://IP:4242来访问文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/
文章源自运维生存时间-https://www.ttlsa.com/opentsdb/opentsdb-setup/

2F
好棒,写的真不错。感觉整个网站的博客都是很用心写的
1F
真的很不错的
来自外部的引用