このエントリーをはてなブックマークに追加

fluen.pyを試してみる

fluen.pyはみんな大好きfluentdのpython実装です。

試してみる。

% sudo apt-get install libevent-dev  # geventに必要
% pip instlal msgpack-python
# 普通にpip installで入る0.13.7はだめ
% pip install http://gevent.googlecode.com/files/gevent-1.0b2.tar.gz


% git clone git://github.com/KLab/fluenpy.git
% cd fluenpy
% python setup.py install

で、インストール出来ました。

次はこんな感じのconfigを書きます。fluentdと同じですね。

<source>
   type http
   port 8890
</source>

<match **>
   type stdout
</match>

で、実行。

% fluen.py -vvv -c ~/fluentd/fluenpy.conf
% curl http://localhost:8890/debug.curl -F 'data={"log":"hoge"}'

DEBUG:fluenpy.plugins.in_http:Recieve message: tag='accesslog.curl',  record={'data': '{"log":"hoge"}'}
2012-05-20 23:36:15 sampled.curl: {"data": "{\"log\":\"hoge\"}"}

はい。まんまですね。

pluginを書いてみる。

というわけで、さっくりとpluginを書いてみました。お手頃な大きさだったsampling-filterです。習作、ということでお願いします。

https://gist.github.com/2758310

まだパッケージ化とかpipでinstallとかそういうことはなさそうなのでgistです。

元となったtagomorisさんの実装と比べると分かりますが、config_paramなどのちょっと便利な関数も移植されており、ほぼそのまんまです。さすがですね。