質問内容
Windows版td-agent(Fluentd)にて、ルーターからSyslogを受信し、年月日時別のファイルへ出力しようとした際
時刻「%H」の値が「00」とゼロで取得されてしまう。
実現したいこと
下記期待結果の様に、ファイル名にYYYYMMDDHH形式の日付時刻を出力したいのですが
実際にはYYYYMMDDは正常に取得しているが、HHの箇所が「00」で出力されてしまう。
【期待結果ファイル名】
(例:2022/11/02 10時処理時)
C:/SyslogFile/202211/syslog-2022110210-192.168.1.2.log
(例:2022/11/02 11時処理時)
C:/SyslogFile/202211/syslog-2022110211-192.168.1.2.log
【実結果ファイル名】
(例:2022/11/02 10時処理時)
C:/SyslogFile/202211/syslog-2022110200-192.168.1.2.log
(例:2022/11/02 11時処理時)
C:/SyslogFile/202211/syslog-2022110200-192.168.1.2.log
該当のソースコード
<source> @type syslog source_hostname_key "client_host" source_address_key "client_addr" port 514 bind "0.0.0.0" @label @syslog.all tag "syslog" <parse> @type "none" </parse> </source> <label @syslog.all> <filter syslog.**> @type record_transformer <record> message ${record["client_addr"]} ${time} ${tag_suffix[1]} ${record["message"]} </record> </filter> <match syslog.**> @type copy <store> @type "file" append true path "C:/SyslogFile/%Y%m/syslog-%Y%m%d%H-${client_host}" <buffer client_host,time> flush_mode interval flush_interval 60s chunk_limit_records 1 path "c:/SyslogFile/buffer/%Y%m/syslog-%Y%m%d%H-${client_host}" </buffer> <format> @type "single_value" </format> </store> <store> @type "relabel" @label @errorSyslog </store> </match> </label> <label @errorSyslog> リラベルしたあとの処理は省略します。 </label>
試したこと
path "C:/SyslogFile/%Y%m/syslog-%Y%m%d%H-${client_host}"
行の下に
path "C:/SyslogFile/%Y%m/syslog-%Y%m%d%H-${client_host}" time_slice_format %Y%m%d%H%M%s
の様に追加する事で、ファイル名末尾にも年月日付時刻が付加されますが、%H%M%s も全てゼロで取得されてしまいます。
■結果(例 2022/11/02 11時実行時)
C:/SyslogFile/202211/syslog-2022110200-192.168.1.2.20221102000000.log
補足情報(FW/ツールのバージョンなど)
OS:Windows10
td-agent-4.4.1-x64.msi
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。