インストール

http://dev.classmethod.jp/cloud/td-agent2-amazon-linux/

上記ページに沿って行った。CentOSでも同じ手順。

手動で実行するならば以下の通りに実行する

yum.repositoryの追加

[treasuredata]
name=TreasureData
baseurl=http://packages.treasure-data.com/redhat/$basearch
gpgcheck=0

td-agentのインストール

yum install td-agent

設定ファイル

sourceで入力を定義して、matchで処理を行う。matchで複数の処理はできないので別々のプラグインで複数処理をしたい場合はtagをつける。

<match apache.access>
  type file
  path /var/tmp/apache_all.log
  tag next.apache.access
</match>
<match next.apache.access>
  type file
  path /var/tmp/apache_all2.log
</match>

設定ファイルのインクルード

include conf.d/*.conf

httpポート8888で待ち受け

# http://localhost:8888/<tag>?json=<json>
<source>
  type http
  port 8888
</source>

type forwardの場合はhttpアクセスはできないがそのポートで待ち受けすることになる。

type(subtype)の説明

type名簡単な概要
null転送せずに捨てる
forestタグ名を置換変数化できるので、まとめて同じような設定をしたいときに使う
rewrite_tag_filter正規表現でタグづけできる
record_modifier新たに属性を追加できる。たとえばApacheログにホスト名を付与したりとか

ローカルのファイルを転送する。

<source>
  type tail
  format apache
  path /var/log/httpd/*_access_log
  tag apache.access
  pos_file /tmp/fluentd-apache.pos
</source>
<match apache.access>
       type s3
       aws_key_id 
       aws_sec_key 
       s3_bucket bucket_name
       s3_endpoint bucket_name.s3-website-ap-northeast-1.amazonaws.com
       path logs/
       buffer_path /var/tmp/fluentd
       time_slice_format %Y%m%d/%H_apache.log
       time_slice_wait 30m
       flush_interval 60s // この感覚でS3にputするので一日1440リクエストで危うくクラウド破産!
</match>
<source>
  type   tail
  path   /var/log/httpd/error_log
  format apache_error
  tag    apache.error
  pos_file /tmp/apache_error.pos
</source>
# 送り先を Fluentd の標準ログへ出力します
<match apache.error>
  type stdout
</match>
<source>
  type tail
  path /var/log/httpd/access_log
  pos_file /var/tmp/access_log.pos
  tag httpd
  format none
</source>
# 送り先を Fluentd の標準ログへ出力します
<match httpd>
  type stdout
</match>

実行

トラブルシューティング

  1. 読み込みファイルの指定にワイルドカードが使えないわかがない!→後で修正
  2. 読み込みにはtd-agentグループ権限が付与されていないとエラー
  3. combinedがパターンマッチされない・・これはカスタマイズしている可能性もあるので今後調査。→カスタマイズしてたら取り込まれない!

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS