0
- Apacheサーバマシン上で実行されていると
/var/log/httpd/error_log
- にログを生成します
kafka producer
によって消費され、トピックに送信されます logrotate
は、毎時/var/log/httpd/error_log
を返します。
設定
のsyslog-ng.conf
options {
flush_lines (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (no);
};
source s_apache2 {
file("/var/log/httpd/error_log" flags(no-parse));
}
destination loghost {
tcp("*.*.*.*" port(5140) template("$MSG\n"));
}
logrotate.hourly.conf
/var/log/httpd/error_log {
copytruncate
rotate 4
dateext
missingok
ifempty
.
.
.
}
ログの消費
nc -k -l 5140 | grep "STATS:" | java program
このJavaプログラムは
を本質的kafka-producer
で、カフカのクラスタにデータを送信問題
/var/log/httpd/error_log
からcopytruncate
とsyslog-ng
データ読み出しを開始logrotate
の間に、いくつかのデータは、このファイルに送信されますsyslog-ng
によってキャプチャされないため、kafka-cluster
logrotate
によって定期的にローテーションされているファイルからログを連続的に読み取るには、正常な方法はありますか?