centos7下openTSDB简单应用

2018年09月20日 5728点热度 11人点赞

一、说明:



> opentsdb需要zookeeper和hbase的支持,请提前安装和启动好它们,才能正常启动和使用opentsdb。
> opentsdb安装使用也需要提前配置好java环境,请确认环境变量配置测试好javac命令是否能正常使用。


在使用opentsdb之前,为了确保能连接到zookeeper,可以telnet其端口,然后执行stats命令




二、安装部署openTSDB

0、首先安装opentsdb需要的依赖包

GnuPlot是一个命令行的交互式绘图工具,使用opentsdb查询数据时可以通过它来以曲线图直观的展现出来(不安装也不影响opentsdb使用)。
git就后面编译的时候会用到这个命令,没有的话会报错,我们也装上吧。




1、解压下载好的包




2、编译配置(如果编译有报错请至本文最下方7.1和7.2处查找解决方法)




3、在hbase中创建opentsdb需要的表(需指定hbase的家目录)


> 其中COMPRESSION值可以是NONE,LZO,GZIP或SNAPPY。
> 如果您只是在评估OpenTSDB,那么现在不要担心压缩。在生产和大规模生产中,请确保使用有效的压缩库,因为它可以极大地节省存储空间。




4、复制src/opentsdb.conf配置文件到当前目录(tsdb命令默认调用opentsdb家目录下的配置文件,如果没有会报错),在末尾追加以下配置内容(不能将以下配置直接添加到配置文件行首,不然会不起作用)


为了获得最佳性能,请确保你的临时目录使用tmpfs

tsd.http.cachedir - 临时文件写入的路径
tsd.http.staticroot - 指定静态GUI文件的路径./build/staticroot
tsd.storage.hbase.zk_quorum - 如果HBase和Zookeeper未在同一台计算机上运行,​​请在此处指定主机和端口。

opentsdb配置的缓存目录,通过内置的GUI要求的图形生成存储临时文件。应定期清除这些文件以释放空间。OpenTSDB此时不会自行清理,但是有一个脚本应该每天至少运行一次作为cron运行tools/clean_cache.sh。




5、根据当前家目录下的配置文件定义,来启动opentsdb


在启动的时候也可以指定选项来覆盖配置文件中定义的内容




6、访问opentsdb

启动好之后,就可以通过浏览器打开http://ip:port进行访问。


graph:用来查询数据,以曲线图方式展现出现。输入起止时间和metric名称即可查询。
stats:显示当前metric
logs:显示当前opentsdb一些日志信息。
version:当前opentsdb版本信息




7、常见问题

7.1、使用./build.sh编译时报错:configure: error: cannot find javac

出现这个错误一般是java环境没有配置好,命令行输入java然后连敲两次Tab键看自动补齐是否有javac这个命令。如果没有可以尝试给$JAVA_HOME/bin目录下所有文件可执行权限或则重新配置java环境。




7.2、使用./build.sh编译时报错:javac: 找不到文件: ./src/net/opentsdb/query/expression/parser/*.java

不知道什么原因,好像每安装opentsdb都会遇到这个问题,需要复制third_party目录下所有内容到build目录下,然后在重新执行./build.sh即可。





7.3、使用tsdb命令来启动opentsdb的时候,报错:Config: No configuration found, will use defaults
Missing static root directory

出现这个问题一般是opentsdb的配置文件没有定义好或则配置文件没有放到opentsdb的家目录下面,导致启动时没有正确加载到配置。这个可详细参考上面第5步的配置!




Chen

健康 · 开心 · 做自己