��ꤿ�����ȡ�
�������̤ʥ�������������fluentd���̤��ơ�elasticsearch�ˤ��줿����
�����ƺǽ�Ū�ˤ�Kibana�Ǥߤ�����͡�
��뤳�ȡ�
�����Фȥǡ����Τʤ���
��Web�����Сס�֥������󥵡��Сס��elasticsearch+kibana�Υ����С�
�����������ѥ����ФǤϰ������������ȤäƤ����ޤ���
��Web�����ФΥ�������������LTSV�����ˤ��롣
���������󥵡��ФǤϡ�����������¸���ơ�����Ū�ˤϤ��ˤ礴�ˤ�׻��Ȥ��⤷����
���������󥵡��Ф���fluentd���̤���elasticsearch�˥���ݡ���
��elasticsearch+kibana�����Фϼ���˸���
����٤뤳�ȡ��狼��ʤ����ȡ�
��fluentd������ե�����ν���
��elasticsearch�Υ������ޥƥ�ץ졼�Ȥν�����
���������ꥹ�ȥ�󥰤�ʬ�����ñ¤¤ï¿½ï¿½ï¿½Æ¤Û¤ï¿½ï¿½ï¿½ï¿½Ê¤ï¿½ï¿½ï¿½
����index�ϡ�logtash-YYYYMMDD�פȤ�������type�ϡ֥����ӥ�̾_access_log�פȤ�������
����1�ĤΥ���ǥå����ˤ���뤳�Ȥǡ�����դνŤ�ɽ���Ȥ����Ǥ���Τ����󤽤��������ʤȡ������ץꥱ�������ϤΥ�����ŤͤƤߤ��Ȥ褤��͡�
��뤳�Ȥ���1����������������ޤ���LTSV�����ˤ�������
LTSV�η����Ϥ���ʴ����ˤ�����
LogFormat "domain:%V\thost:%h\tserver:%A\tident:%l\tuser:%u\ttime:%{%d/%b/%Y:%H:%M:%S %z}t\tmethod:%m\tpath:%U%q\tprotocol:%H\tstatus:%>s\tsize:%b\treferer:%{Referer}i\tagent:%{User-Agent}i\tresponse_time:%D" combined
�������Y-ken����Υ֥����򻲹ͤˤ����Ƥ��������ޤ�����
Apache������LTSV�����ˤ���ݤΣ��Ĥ���Ȥ�����н�ˡ��Apache��Fluentd��LTSV���ꥵ��ץ�
���������Ρ���˽񤤤Ƥ��ޤ���Τ������餷���Ǥ��������Ƥ��Ĥ�����äƤ��ޤ���
httpd.conf�ΰ���ȴ�衣
status.html�Υإ륹�����å��ѤΥ����ϽФʤ�����򤷤Ƥ���Τ�
LogFormat�˻��ꤷ���Ȥ���˽��Ϥ���褦�ˤȡ�
SetEnvIf Request_URI "status.html" nolog
LogFormat "domain:%V\thost:%h\tserver:%A\tident:%l\tuser:%u\ttime:%{%Y/%m/%d %H:%M:%S %z}t\tmethod:%m\tpath:%U%q\tprotocol:%H\tstatus:%>s\tsize:%b\treferer:%{Referer}i\tagent:%{User-Agent}i\tresponse_time:%D" combined_lts
CustomLog /var/www/sss/redirect/logs/apache_access.log combined_lts env=!nolog
����Cookie�ϤϤդ���Ƥ��ޤ��󡣷�̡��ʲ��Τ褦�ʥ����ǽ��Ϥ����ͽ�ꡣ
domain
host
server
ident
user
time
method
path
protocol
status
size
referer
agent
response_time
��뤳�Ȥ���2��Web�����Фˡ�fluent-agent-lite�פ򥤥󥹥ȡ�������
fluent-agent-lite
#fluentd �ѥ����������ѤΥ���������� fluent-agent-lite �񤤤�
���󥹥ȡ�����˰ʲ��򤤤�ʤ��ȡ�����ʾ�礬����ޤ�����
<
yum -y install perl-ExtUtils-MakeMaker
vim /etc/fluent-agent-lite.conf
apache.access.hoge01 �Ȥ������٥�ȥ������ʤ���Ƥ����Ϥ��Ǥ��͡�
# fluentd tag prefix of all LOGS
TAG_PREFIX="apache"
LOGS=$(cat <<"EOF"
access.hoge01 /var/www/sss/redirect/logs/apache_access.log
EOF
)
# SERVERNAME[:PORTNUM]
# port number is optional (default: 24224)
PRIMARY_SERVER="192.168.x.x:24224"
;�̤Ǥ�����fluent-agent-lite��fluent-agent�ε�ư�κ��ˤĤ��ƺ٤������Ҥ�����ޤ�����
http://blog.livedoor.jp/sonots/archives/24617519.html
��뤳�Ȥ���3���������󥵡��Фˡ�fluentd�פȥץ饰���󥤥󥹥ȡ��롢����
fluentd���󥹥ȡ��뤷�ޤ���
�ץ饰���󥤥󥹥ȡ��뤷�ޤ���
/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-elasticsearch
/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-parser
/usr/lib64/fluent/ruby/bin/fluent-gem install fluent-plugin-file-alternative
����ե���������ƤǤ���
�ǽ顢���Τޤ�elasticsearch�˥ǡ�����ή���ȡ�message��������ˤϤ��ä��ޤ�ޥ���ǥå�������������Ƥ��ޤäơ����������Ȥ��פäƤ����ΤǤ�����
������ꤹ���󤬡����ɥХ������������ޤ�����
@boheanimato ��٤����꤬�ʤ��Τʤ顢fluent-plugin-parser �� ltsv ��parse���Ƥ��ޤ��Ф����Ȼפ��ޤ���
— tagomoris (@tagomoris) 2013, 11�� 15
����Ǹ�Ψ�褯�������Τ����������Ȼפ��Ĥİʲ��ǤǤ��ޤ�����
<source>
��type forward
��port 24200
</source>
<match apache.access.**>
��type copy
��<store>
����type file_alternative
����path /tmp/httpd/access.*.log
����time_slice_format %Y%m%d
����compress gzip
����output_include_time false
����output_include_tag false
����output_data_type attr:message
����add_newline true
��</store>
��<store>
����type parser
����add_prefix parsed
����format ltsv
����time_format %d/%b/%Y:%H:%M:%S %z
����key_name message
��</store>
</match>
<match parsed.apache.access.**>
��type copy
��<store>
����type elasticsearch
����index_name adminpack
����type_name redirect_apache
����include_tag_key true
����tag_key @log_name
����host 192.168.xx.xx
����port 9200
����logstash_format true
����flush_interval 3s
��</store>
</match>
�åµï¿½Î¤è¤¦ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½elasticsearch��ή������ȡ��ʲ��Τ褦�ʥ���ǥå�������������ޤ���
Sense�Ǹ���
xxx.xxx.xxx.xxxx:9200/logstash-2013.12.05/redirect_apache
GET _search
{
"query": {
"match_all": {}
}
}
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1016,
"max_score": 1,
"hits": [
{
"_index": "logstash-2013.12.05",����������ǥå���
"_type": "redirect_apache",������������type������
"_id": "MB-NARl7Tpm4pXqEvbBTtA",
"_score": 1,
"_source": {
"domain": "hogehoge.co.jp",
"host": "xxx.xxx.0.176",
"server": "xxx.xxx.11.175",
"ident": "-",
"user": "-",
"method": "GET",
"path": "/favicon.ico",
"protocol": "HTTP/1.1",
"status": "301",
"size": "328",
"referer": "-",
"agent": "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Win64; x64; Trident/6.0)",
"response_time": "142",
"time": "2013/12/05 09:53:28 +0900",
"@log_name": "parsed.apache.access.hoge",����tag_key���ꤷ��̾��
"@timestamp": "2013-12-05T09:53:28+09:00"
}
},
��뤳�Ȥ���4��elasticsearch+kibana�򥤥󥹥ȡ��롢����
��elaticsearch�Υ��󥹥ȡ���
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.6.tar.gz
tar -xf elasticsearch.tar.gz
rm elasticsearch.tar.gz
mv elasticsearch-* elasticsearch
sudo mv elasticsearch /usr/local/share
���ǡ���󲽤��Ƶ�ư����
curl -L http://github.com/elasticsearch/elasticsearch-servicewrapper/tarball/master | tar -xz
mv *servicewrapper*/service /usr/local/share/elasticsearch/bin/
rm -Rf *servicewrapper*
sudo /usr/local/share/elasticsearch/bin/service/elasticse
��kibana�Υ��󥹥ȡ���
tarŸ�����ƥɥ�����ȥ롼�Ȥ��֤�������
http://www.elasticsearch.org/overview/kibana/installation/
wget https://download.elasticsearch.org/kibana/kibana/kibana-3.0.0milestone4.tar.gz
�褦�䤯��������
http://xxx.xxx.xxx.xxx/kibana/index.html#/dashboard/file/logstash.json
���󥹥ȡ���μ��ʤ󤫤Ϥ�������ǤƤ���ΤǤ�����򻲹ͤˤ��Ƥ���������
���ȡ�����Υ����Ф���Firewall�Ȥ�iptables�Ȥ������꤬����Τǡ�
��ǧ����ɬ�פʥݡ��Ȥʤ󤫤ϻ����ˤ����Ƥ����ޤ��礦��
�ޤ��Ǥ��Ƥʤ�����
���⤤�ä��ꡢ��ե��顢�桼��������������Ȥ�ʬ�����ñ¤¤ï¿½ï¿½ï¿½Æ¤ï¿½ï¿½ë¡£orz
������ϡ�Mapping�򤤤�뤳�Ȥǡ���褷�ޤ�����
elasticsearch���Τ�Τ����ٶ��ʤΤǡ�sense�ǥ����꤬�����Ƥ��ʤ���orz
�Ȥ������Ȥǡ����̤ޤǤ����ΤǤ�����elasticsearch���������ٶ����Ƥ��ޤ���
�ޤ��ޤ���ꤿ������
���ˤ��ޤ�ˤ��ޤä���������������LTSV�����ˤʤ����ơ�fluentd��elasticsearch�˥���ݡ��Ȥ�������
���ξ�硢����ǥå����򤽤����Ǻ���������������ɡ�������fluentd�ǻ���Ǥ����ꤹ��Τ��ʡ�
�����С��������ʣ���ե����뤬����Τǡ����礷��LTSV�ˤ��ơ�fluentd��ή���Ȥ��ˡ�����ϡ�2012/09/08�פΥ���ǥå������衪�Ȥ����ä�ή�����ߤ�����
���ȡ����Ѥ���������̤��ɤΤ��餤�Ǹ³��ͤˤʤ����������(kibana���Ť��Ȥ��͡�
��äƤߤʤ��Ȥ狼��ʤ����ʡ�
�Ȥ�������������ΤǺ����ñ�����̤��������Ǥ�����
elasticsearch�Ȥ�����ǥå����ι�¤�ˤĤ���Ĵ�٤ޤ���
ʿ�Ԥ���fluentd�������Ȥ��פ��Ĥġ�������̳���ɤ��ĤĤʤΤǡ�
�����ޤǤ���Τ˿����֤κ��ڤ���֤��פ��ޤ�����orz
Ƭ�˥���ƥ뤤�줿����
��Ϥꡢ�����ɥ�����ȤΥ�ե���󥹤��ĤŤ��ɤശ���Ǥ����͡���
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html
Comment
���ͤˤʤ뤫�狼��ޤ��󤬡�elasticsearch�Υƥ�ץ졼�ȵ�ǽ��Ȥ��С�
����äƥ������ޤ�������뤳�Ȥ���ǽ�Ǥ���
�����ǡ�ʬ�����ñ¤¡ï¿½not_analyze�ˤ���ꤷ�Ƥ�����С�ʬ�����ñ¤¤ï¿½ï¿½ï¿½Ê¤ï¿½ï¿½Ê¤ï¿½Þ¤ï¿½ï¿½ï¿½
template���ܲȥ����ɡ�
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-templates.html
����ץ롧
https://gist.github.com/johtani/6949948
�狼��ʤ��ս�Ȥ�����С�ʹ���Ƥ���������
��®��äƤߤޤ��͡���
�����Ȥ���