Docker fluentdのlogging driverを使ってみる
前提
docker起動している
fluentdの起動
# docker run --name fluentd --rm -d -p 24224:24224 fluent/fluentd
(省略)
nginxの起動、ログをfluentdに吐く
# docker run --name nginx --rm -d -p 10080:80 --log-driver=fluentd --log-opt=fluentd-async-connect --log-opt=fluentd-address=localhost24224 --log-opt=tag=docker.{{.ID}} nginx
(省略)
-log-opt=fluentd-async-connect を付けないとエラーだめ?
fluentd、nginxの状況確認
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
131cc6cbf72f nginx "nginx -g 'daemon of…" 25 minutes ago Up 25 minutes 0.0.0.0:10080->80/tcp nginx
8514de69eec9 fluent/fluentd "/bin/entrypoint.sh …" 41 minutes ago Up 41 minutes 5140/tcp, 0.0.0.0:24224->24224/tcp fluentd
nginxにアクセスしてログを吐かせる
# curl localhost:10080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!
(省略)
</title></html>
ログが出ていることを確認
# docker exec -it fluentd cat /fluentd/log/docker.log
2018-09-30T15:00:22+00:00 docker.131cc6cbf72f {"container_name":"/nginx","source":"stdout","log":"172.17.0.1 - - [30/Sep/2018:15:00:22 +0000] \"GET / HTTP/1.1\" 200 612 \"-\" \"curl/7.29.0\" \"-\"","container_id":"131cc6cbf72f532b840236a7780f128e21b0d3b19bf8ffbbdb75afb3e8f27dc6"}
2018-09-30T15:01:23+00:00 docker.131cc6cbf72f {"source":"stdout","log":"172.17.0.1 - - [30/Sep/2018:15:01:23 +0000] \"GET / HTTP/1.1\" 200 612 \"-\" \"curl/7.29.0\" \"-\"","container_id":"131cc6cbf72f532b840236a7780f128e21b0d3b19bf8ffbbdb75afb3e8f27dc6","container_name":"/nginx"}
# date
2018年 10月 1日 月曜日 00:29:58 JST
課題
ログの時刻がJSTじゃない。