1. 介绍

logkafka是一个可以配合kafka manager使用的日志收集工具。具体的介绍可以查看官方文档

虽然花了好几个小时完了下这个,但是觉得还是用flume(高可用的,大而全)或者logstash(小而精)比较好。

2. 准备工作

logkafka需要安装以下内容:

  1. librdkafka
  2. libzookeeper_mt
  3. libuv
  4. libpcre2
  5. PHP 5.3 and above (with zookeeper extension)

2.1 librdkafka

官网点我查看

使用git clone下来,然后进去后使用./configure查看自己有哪些包是没安装的。

一般来说会缺编译C++相关的包等。可以使用如下代码来安装缺少的包

yum install gcc
yum install gcc-c++
yum install cmake

##安装好编译环境,然后直接编译安装即可
./configure
make 
make install

2.2 libzookeeper_mt

安装方式在logkafka中已经给出:

cd /tmp
wget -N http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz; tar zxvf zookeeper-3.4.6.tar.gz; rm -f zookeeper-3.4.6.tar.gz
cd zookeeper-3.4.6/src/c
./configure --prefix=/usr/local/zookeeper
make
sudo make install

PS:下载很慢的话,建议迅雷下载好再通过RZ工具传到LINUX上

有其他问题可以点击这里查看

2.3 libuv

可以按照如下过程安装

cd /tmp
git clone https://github.com/libuv/libuv.git
cd libuv
sh autogen.sh
./configure
make
sudo make install

PS: 执行autogen.sh的时候注意下报错,可能缺少某些包。例如automake和libtool,所以先下载安装下。

yum install automake
yum install libtool

2.4 libpcre2

cd /tmp
wget -N http://sourceforge.net/projects/pcre/files/pcre2/10.20/pcre2-10.20.tar.gz; tar zxvf pcre2-10.20.tar.gz; rm -f pcre2-10.20.tar.gz
cd pcre2-10.20
./configure
make
sudo make install

3. 安装logkafka

进入logkafka的目录,执行如下命令。这里作者给出了两种方式,第一种是手动安装上面的依赖,第二种是自动安装依赖。问了避免自动下载依赖的网络问题,我使用了手动安装依赖。下面我把两种方式都罗列出来。

第一种:

cmake -H. -B_build -DCMAKE_INSTALL_PREFIX=_install
cd _build
make -j4
make install
cmake -H. -B_build -DCMAKE_INSTALL_PREFIX=_install \
                   -DINSTALL_LIBRDKAFKA=ON \
                   -DINSTALL_LIBZOOKEEPER_MT=ON \
                   -DINSTALL_LIBUV=ON \
                   -DINSTALL_LIBPCRE2=ON
cd _build
make -j4
make install

PS: cmake的时候提示缺少libz,为了保险起见我们也还是装下zlib这个工具

进入zlib官网下载一个新版的zlib即可,解压后使用./configure, make ,make install命令来安装即可。

再执行安装,发现cmake版本太低:

执行以下操作安装个新点的cmake再安装logkakfa

首先进到cmake官网下载个最新的,然后执行./bootstrap,make,make install即可

然后再到log kafka下执行之前的安装命令即可。

4. 在logkafka manager中使用logkafka

4.1 修改配置文件

修改logkafka中conf下的logkakfa.conf文件,主要是以下内容。注意这里的ZK必须使用IP。

# 建议配置下id,可以拿自己的机器IP来配
logkafka.id = 
zookeeper.connect = 127.0.0.1:2181
# 可以用kafka manager当中的集群名字来命名
pos.path       = ../data/pos.myClusterName

4.2 启动线程,后台运行

进入logkafka安装目录,执行如下命令:

_install/bin/logkafka --daemon -f _install/conf/logkafka.conf -e _install/conf/easylogging.conf

4.3 配置kafka manager

创建cluster的时候开启logkafka,然后注意logkafkaid保持一致即可。