天天看点

Ubuntu12.04.5 Scribe 日志系统安装

Ubuntu12.04.5 Scribe 日志系统安装

很久都没来写自己的博客了,最近有时间写下这篇文章分享给大家。提供帮助和参考。

最近项目中使用scribe来采集应用程序日志,起初安装的时候,到处都是折腾,网上这方面的资料又比较不靠谱,现在记录下来,有这方面需要的童鞋,可以看看。

软件包下载地址:http://down.51cto.com/data/1902192

第一步,修改镜像源、安装必要的软件包、依赖包等。

root@vmware:~# mv /etc/apt/sources.list /etc/apt/sources.list.bak

root@vmware:~# vim /etc/apt/sources.list

deb http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-security main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-updates main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-proposed main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ precise-backports main restricted universe multiverse

root@vmware:~# apt-get update  

root@vmware:~# apt-get upgrade

root@vmware:~# reboot  

root@vmware:~# apt-get install -y gcc make g++ automake libssl-dev pkg-config libncurses5-dev heirloom-mailx lrzsz multitail nmon htop unzip

第二步,采用apt-get方法安装 boost,避免编译thrift时,出现莫名其妙的错误。

root@vmware:~# apt-get install -y build-essential bison flex libboost-all-dev libevent-dev libglib2.0-dev \

libboost-dev libssl-dev python-dev \

libboost-system-dev libboost-filesystem-dev libtool git automake gawk

第三步,下载thrift安装包 http://down.51cto.com/data/1902192、编译安装 thrift。

root@vmware:~# cd /usr/local/

root@vmware:/usr/local# mkdir software

\\将下载的软件包拷贝到/usr/local/software目录下,

root@vmware:/usr/local/software# tar zxvf thrift-0.9.1.tar.gz

root@vmware:/usr/local/software#cd thrift-0.9.1/

root@vmware:/usr/local/software/thrift-0.9.1#./configure CPPFLAGS="-DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H"

root@vmware:/usr/local/software/thrift-0.9.1# make

make后会出现如下图错误信息:

Ubuntu12.04.5 Scribe 日志系统安装

处理方法:

root@vmware:/usr/local/software/thrift-0.9.1# cp test/cpp/*.o test/cpp/.libs/

root@vmware:/usr/local/software/thrift-0.9.1# make install

##接着安装下fb303

root@vmware:/usr/local/software/thrift-0.9.1# cd contrib/fb303/

root@vmware:/usr/local/software/thrift-0.9.1/contrib/fb303# ./bootstrap.sh

root@vmware:/usr/local/software/thrift-0.9.1/contrib/fb303# make

root@vmware:/usr/local/software/thrift-0.9.1/contrib/fb303# make install

##安装完成,检查下版本。

root@vmware:~# thrift -version

Thrift version 0.9.1

第三步,编译安装scribe

root@vmware:~# cd /usr/local/software/

root@vmware:/usr/local/software# tar zxvf scribe.tar.gz

root@vmware:/usr/local/software# cd scribe

root@vmware:/usr/local/software/scribe# ./bootstrap.sh

root@vmware:/usr/local/software/scribe# ./configure CPPFLAGS="-DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -DBOOST_FILESYSTEM_VERSION=2" --prefix=/usr/local/scribe

root@vmware:/usr/local/software/scribe# make

Ubuntu12.04.5 Scribe 日志系统安装

root@vmware:/usr/local/software/scribe# cd src/

root@vmware:/usr/local/software/scribe/src# g++  -Wall -O3 -L/usr/lib  -o scribed store.o store_queue.o conf.o file.o conn_pool.o scribe_server.o network_dynamic_config.o dynamic_bucket_updater.o  env_default.o  -L/usr/local/lib -L/usr/local/lib -L/usr/local/lib -lfb303 -lthrift -lthriftnb -levent -lpthread  libscribe.a libdynamicbucketupdater.a -lboost_system-mt -lboost_filesystem-mt

## 再次编译下:

root@vmware:/usr/local/software/scribe/src# cd ..

root@vmware:/usr/local/software/scribe# make install

第四步,配置scribe

root@vmware:/usr/local/software/scribe# cd /usr/local/scribe/

root@vmware:/usr/local/scribe# mkdir etc logs

root@vmware:/usr/local/scribe# cd etc

root@vmware:/usr/local/scribe/etc# vim scribe.conf

port=1463

max_msg_per_second=2000000

check_interval=3

<store>

  category=default

  type=file

  fs_type=std

  file_path=./logs/

  base_filename=tmpdata

  max_size=1000000000

</store>

##启动scribe

root@vmware:/usr/local/scribe/bin# ldconfig

root@vmware:/usr/local/scribe/bin#nohup /usr/local/scribe/bin/scribed /usr/local/scribe/etc/scribe.conf &

root@vmware:/usr/local/scribe# netstat -ntpl |grep 1463

tcp        0      0 0.0.0.0:1463            0.0.0.0:*               LISTEN      59125/scribed

## 测试 scribe

测试时错误:

root@vmware:/usr/local/scribe# cd /usr/local/software/scribe/examples/

root@vmware:/usr/local/software/scribe/examples# echo  "hello world"|./scribe_cat testecho  "hello world"|./scribe_cat test

Traceback (most recent call last):

  File "./scribe_cat", line 24, in <module>

    from scribe import scribe

ImportError: No module named scribe

解决办法

在debian/ubuntu系列安装完毕后,python的scribe模块并没有在默认搜索路径中,所以:

cp -a /usr/lib/python2.7/site-packages/* /usr/lib/python2.7/dist-packages/

测试结果如下

Ubuntu12.04.5 Scribe 日志系统安装

到这里,scribe已经安装完成。安装流程本人亲自安装测试过,如有问题可以发表评论。

李惟忠

写于 2014.12.20 晚