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後會出現如下圖錯誤信息:

wKioL1SVeFXRPBGmAAPc6nRGMSI672.jpg

 

處理方法:
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

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
make後會出現如下圖錯誤信息:

wKioL1SVeyvzdT65AAPkPwbJSLg106.jpg

 

處理方法:

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

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/

測試結果如下

 

wKioL1SVhdfyJ0G3AAOBmo60WqI747.jpg

 

 

到這裏,scribe已經安裝完成。安裝流程本人親自安裝測試過,如有問題可以發表評論。

 

李惟忠

寫於 2014.12.20 晚

                                                                                                                

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章