Changes between Initial Version and Version 1 of linux/Fluentd


Ignore:
Timestamp:
2015/11/07 14:46:07 (9 years ago)
Author:
yuna
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • linux/Fluentd

    v1 v1  
     1= Fluentでログ管理 
     2 
     3== CentOSにFluentdをインストール 
     4 
     5下記のコマンドを叩くと、Fluentd開発元のTreasuredata謹製のFluentdがインストールされる。 
     6 
     7{{{ 
     8$ curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh 
     9}}} 
     10 
     11プロキシ経由でWebにアクセスする場合は、/etc/yum.confにプロキシの設定を記述する。 
     12 
     13{{{ 
     14/etc/init.d/td-agent start 
     15}}} 
     16 
     17でFluentdのエージェントが起動。 
     18 
     19== 使ってみる 
     20 
     21HTTP経由でログ出力、 
     22 
     23{{{ 
     24$ curl -X POST -d 'json={"post":"message"}' http://localhost:8888/debug.post 
     25}}} 
     26 
     27fluent-catを利用してログ出力 
     28{{{ 
     29$ echo '{"cat":"message"}' |/opt/td-agent/embedded/bin/fluent-cat  --json debug.cat 
     30}}} 
     31 
     32/var/log/td-agent/td-agent.logにログが出力される。 
     33 
     34{{{ 
     352015-11-07 12:53:46 +0900 debug.post: {"post":"message"} 
     362015-11-07 12:54:18 +0900 debug.cat: {"cat":"message"} 
     37}}} 
     38 
     39== OpenStackのログを管理してみる 
     40 
     41例えば、こんな感じのログがあるとする。 
     42{{{ 
     432014-05-21 13:01:55.215 6322 INFO nova.osapi_compute.wsgi.server [-] (6322) accepted ('192.168.66.128', 42247) 
     442014-05-21 13:01:55.968 6322 DEBUG nova.api.openstack.wsgi [-] No Content-Type provided in request get_body /usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:835 
     452014-05-21 13:01:55.998 6322 DEBUG nova.api.openstack.wsgi [-] Calling method <bound method Versions.multi of <nova.api.openstack.compute.versions.Versions object at 0x3908150>> _process_stack /usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:962 
     462014-05-21 13:01:56.286 6322 INFO nova.osapi_compute.wsgi.server [-] 192.168.66.128 "GET /v237da0ad900aa4119bc743d59975e1bce/images/detail HTTP/1.1" status: 300 len: 486 time: 0.6088369 
     47}}} 
     48 
     49Fluentdは、正規表現を利用してログを解析し、タグ(属性)をつけて保存することができる。 
     50 
     51{{{ 
     52<source>  
     53  type tail  
     54  path /var/log/nova/nova-api.log  
     55  pos_file /var/log/td-agent/nova-api.log.pos  
     56  tag nova-api.log  
     57  format /^(?<date>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3} \d{4}) (?<level>[^ ]*) (?<class>[^ ]*) \[(?<tag>[^ ]*)] (?<message>.*)$/  
     58</source> 
     59 
     60<match nova-api.log> 
     61  type stdout 
     62</match> 
     63}}}