OWL--监控系统实战二搭建梳理

  本篇博客不会讲具体的怎么搭建owl,而只是对一些遇到的问题进行梳理。因为已经有文档讲的非常清楚了,可以去github:https://github.com/TalkingData/owl 上指定的QQ群里面获取(所以,如果参考QQ群上面的文档安装没有什么问题可跳过该篇博客)。

整个环境搭建的梳理

  • 开始准备安装软件
    • 搭建OWL之前,需要安装OpenTSDBMySQLHBaseNginxJDKGO语言环境
    • 安装HBase、MySQL、Nginx、JDK这些就不在这里介绍了,可以参考我之前的博客。
    • 所以下面就介绍一下OpenTSDB、GO语言环境、OWL的搭建

编译安装OpenTSDB

  • 注意:安装OpenTSDB之前需要提前安装好HBase,因为在HBase中存了OpenTSDB的数据
  • 一、下载https://github.com/OpenTSDB/opentsdb/releases
  • 二、解压

    1
    2
    [root@xiaoxiaomo ~]# tar -zxvf /opt/opentsdb-2.3.0.tar.gz -C /data
    [root@xiaoxiaomo ~]# mv /data/opentsdb-2.3.0/ /data/opentsdb
  • 三、编译

  1. 创建一个build目录,复制third_party下面所有的文件到build目录下

    1
    2
    3
    4
    [root@xiaoxiaomo ~]# cd /data/opentsdb
    [root@xiaoxiaomo opentsdb]# mkdir build
    [root@xiaoxiaomo opentsdb]# cp -r third_party ./build
    [root@xiaoxiaomo opentsdb]# ./build.sh
  2. 直接cd 到 $opentsdb目录下,执行build.sh文件编译会出现异常:

    异常:Error: Could not find or load main class javacc
    解决:https://community.hortonworks.com/questions/82834/error-could-not-find-or-load-main-class-javacc.html

  3. 编译后会看到如下日志

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    INFO: Created user preferences directory.
    Compiling module tsd.QueryUi
      Compiling 5 permutations
         Compiling permutation 0...
         Compiling permutation 1...
         Compiling permutation 2...
         Compiling permutation 3...
         Compiling permutation 4...
      Compile of permutations succeeded
    Linking into /data/opentsdb/build/gwt/queryui
      Link succeeded
      Compilation succeeded -- 70.492s
    /bin/mkdir -p staticroot
    cp ../src/tsd/static/favicon.ico ../src/tsd/static/opentsdb_header.jpg staticroot
    find -L staticroot -type l -exec rm {} \;
    p=`pwd`/gwt/queryui && cd staticroot \
     && for i in $p/*; do ln -s -f "$i" || break; done
    find -L staticroot/gwt -type f | xargs touch
    make[1]: Leaving directory `/data/opentsdb/build'
  • 四、初始化HBase表修改配置
  1. 初始化HBase表,执行:env COMPRESSION=NONE HBASE_HOME=/data/hbase ./src/create_table.sh
    初始化HBase表

  2. 修改配置

    1
    2
    3
    4
    5
    # vim opentsdb/src/opentsdb.conf
    tsd.network.port = 4242
    tsd.http.staticroot =/data/opentsdb/build/staticroot
    tsd.http.cachedir = /tmp/tsd
    tsd.core.auto_create_metrics = true
  • 五、启动&访问
  1. 启动

    1
    2
    3
    [root@xiaoxiaomo ~]# nohup opentsdb/build/tsdb tsd --config=opentsdb/src/opentsdb.conf 2>&1  > a.log & 
    [root@xiaoxiaomo ~]# jps
    3771 TSDMain
  2. 访问:http://ip:4242
    访问OpenTSDB

GO语言环境

  • GO语言环境,这里主要是想说一下GOROOT和GOPATH,得配置好
    1、作为一个对GO语言不是很了解,对其他语言很熟悉的就很容易忽视这一点,我就掉进这个里面过。直接下载下来安装包解压后,配了一个GO_HOME!!哈哈,傻了,后面pull下来owl代码后import找不到自己!
    2、GOROOT:简单理解就是go安装包目录
    3、GOPATH:简单理解就是一个工作区(你放项目的地方,包括你自己安装的Go包)。在这个目录下一般有src、pak、bin三个目录。
    4、GOPATH:你可以配置多个,Win下用分号分割/Linux用冒号分割,举个linux下变量配置例子:GOPATH=/data/data/ext:/data/data/work。pull下来的代码就可以放在/data/data/work/src/下面

OWL的搭建

  1. owl是有很多组件构成,所以得组逐个安装,由于该golang项目包由godep管理,在安装之前先安装godep:go get github.com/tools/godep,如果网络问题没法下载可参考:https://www.golangtc.com/download/package手动下载
  2. owl组件安装参考QQ群中的文档,文档上面看着内容有点多,其实主要做的都是重复的事情。下面以安装agent举个例子,来说明一下每一步都在做什么
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     ## 安装agent,在$GOPATH目录下就会有一个可执行文件
    [root@xiaoxiaomo owl]# godep go install owl/agent
    godep: WARNING: Godep workspaces (./Godeps/_workspace) are deprecated and support for them will be removed when go1.8 is released.
    godep: WARNING: Go version (go1.6) & $GO15VENDOREXPERIMENT= wants to enable the vendor experiment, but disabling because a Godep workspace (Godeps/_workspace) exists

    ## 创建一个目录(下面/etc/init.d/owl-agent文件中的执行文件路径,其实就是指向的该目录下的具体文件)
    [root@xiaoxiaomo owl]# mkdir -p /usr/local/owl-agent/conf

    ## 复制第一步编译好的执行文件到第二步创建好的目录下
    [root@xiaoxiaomo owl]# cp $GOPATH/bin/agent /usr/local/owl-agent/

    ## 复制配置文件到第二步创建好的conf目录下
    [root@xiaoxiaomo owl]# cp conf/agent.conf /usr/local/owl-agent/conf

    ## 复制启动文件到init.d目录下并添加执行权限,方便下面启动
    [root@xiaoxiaomo owl]# cp scripts/init/owl-agent.init /etc/init.d/owl-agent
    [root@xiaoxiaomo owl]# chmod +x /etc/init.d/owl-agent

    ## 修改配置文件
    [root@xiaoxiaomo owl]# vim /usr/local/owl-agent/conf/agent.conf

    ## 启动
    [root@xiaoxiaomo owl]# /etc/init.d/owl-agent start
    Starting owl-agent (via systemctl): [ 确定 ]

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器