前回のブログで、fluentd(td-agent)を利用して、さくらのBase Storageへnginxのログの転送にエラーが出る件ですが、設定を試行錯誤した結果、無事転送できるようになりました。
修正したところは、fluentd起動にアクセスチェックを行わないように、check_apikey_on_startをfalseにしたところになります。
これは、IDCFの分散ストレージへのfluentd(td-agent)による転送の設定と同じでした。
fluentdの設定を一部記載しておきます。
<match nginx.access> type s3 aws_key_id XXXXXXX aws_sec_key YYYYYYYYYYYYYYYYYYYYYYYYYY s3_bucket sakuralog check_apikey_on_start false s3_object_key_format %{path}%{time_slice}_%{index}.%{file_extension} s3_endpoint b.storage.sakura.ad.jp path logs/ buffer_path /var/log/td-agent/s3 flush_interval 1440m time_slice_format %Y%m%d-%H </match>
ストレージ内をs3cmdで確認すると、確かに、ログが作成されていることが確認できました。
# s3cmd ls s3://sakuralog/logs/ DIR s3://sakuralog/logs/20140204/ 2014-02-06 13:08 635 s3://sakuralog/logs/20140206-04_0.gz 2014-02-06 13:08 2939 s3://sakuralog/logs/20140206-05_0.gz
相変わらず、Base Storageのコントロールパネルのオブジェクトからは確認できない。この辺りはおそらく未実装ではと予想される。
この状態でしばらく運用してみます。