fluentd に GEOIP Plugin をインストールする
IP Adress から Location情報をリアルタイムに引いてくれる便利なPluginです
CentOS6でInstallすることを想定します
Plugin こちらの方が作成されていました。ありがとうございます。
https://github.com/y-ken/fluent-plugin-geoip
gpio-devel を Install する
- epel repository を追加
epel repository を使えるようにしてみる
wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
- gpio-devel をInstall
yum install geoip-devel --enablerepo=epel
Plugin Install
- Plugin を Install する
sudo td-agent-gem install fluent-plugin-geoip
gcc が Installされていない場合、ここでエラーが出るので、gcc のInstallが未済の場合ここでInstallする
yum install gcc
使い方
詳しい使い方はこちらを参照ください。
https://github.com/y-ken/fluent-plugin-geoip
Elasticsearch にいれて、kibana から参照したい場合、以下のように追加してやるといい
※ Elasticsearch 上で GIO_IP として mapping することを忘れずに
td-agent.conf
<match access.*>
type geoip
geoip_lookup_key host
skip_adding_null_record true
add_tag_suffix .gioip
<record>
country ${country_code['host']}
location ${latitude['host']},${longitude['host']}
</record>
</match>
Elasticserch のマッピング(参考)
curl -XPUT http://localhost:9200/_template/access_log/ -d '
{
"template": "access_log-*",
"mappings": {
"access_log":{
"properties":{
"location":{
"type":"geo_point"
}
}
}
}
}
'