fluentbitでNginxのアクセスログをCloudflare R2へ送信
Cloudflareの提供するAmazon S3互換のオブジェクトストレージにfluentbitを使ってログを転送してみた. endpointパラメータでCloudflare R2のエンドポイントを指定するのがポイントになる. 送信間隔は300秒で設定している.
fluent-bit.conf
[SERVICE]
flush 300
daemon Off
log_level info
parsers_file parsers.conf
plugins_file plugins.conf
http_server Off
http_listen 0.0.0.0
http_port 2020
storage.metrics on
[INPUT]
name tail
tag nginx.${HOSTNAME}
db /var/log/nginx/fluentbit.pos
path /var/log/nginx/*.log
path_key filename
parser nginx
# For Debug
# [OUTPUT]
# name stdout
# match nginx.*
[OUTPUT]
name s3
match nginx.*
bucket cf-apac-log-archive
endpoint https://xxxxxxxx.r2.cloudflarestorage.com
compression gzip
s3_key_format /$TAG[0]/$TAG[1]/%Y/%m/%d/%H/%M/%S/$UUID.gz
Systemdのサービスを以下のコマンドで修正する.
sudo systemctl edit fluent-bit
以下の内容を追記する.AWSのアクセスキーを設定する.
[Service]
Environment=AWS_ACCESS_KEY_ID=xxxx
Environment=AWS_SECRET_ACCESS_KEY=xxxxx
参考資料