2015年6月1日月曜日

fluent-plugin-geoip を試してみた

概要

IPアドレスから地理情報を算出する技術にGeoIPという技術があります
td-agent にそのプラグインがありIPを地理情報へ変換してくれるので試してみました

環境

  • CentOS 6.3 64bit
  • td-agent 0.12.7
  • fluent-plugin-geoip 0.4.0

インストール

geoip-develのインストール

別途Cのライブラリをインストールする必要があります
epelかrpmforgeのリポジトリを追加してyumコマンドでインストールしてください

yum -y install geoip-devel

fluent-plugin-geoipのインストール

td-agent-gem install fluent-plugin-geoip

td-agent.conf設定

例えばApacheのログからIPアドレスを取得してgeoipを算出する場合は

<source>
  type tail
  format apache2
  path /var/log/httpd/access.log
  pos_file /var/log/td-agent/access.log.pos
  tag apache.log
</source>

<match apache.log>
  type geoip
  geoip_lookup_key host
  enable_key_country_code geoip_country
  add_tag_prefix file.
</match>

<match file.apache.log>
  type file
  path /var/log/td-agent/file.app.log  
</match>

という感じで記載してApacheにアクセスするとファイルが出力されていると思います
「geoip_country」というフィールドに国を識別するコードが入っていると思います

"geoip_country":"JP"

あとはこの識別コードを元に地図上にマップしてあげるといい感じに可視化できると思います
ElasticSearch + Kibana が定石だと思うので今後試したら紹介したいと思います

参考サイト

0 件のコメント:

コメントを投稿