首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日志旋转、syslog-ng和松散日志

日志旋转、syslog-ng和松散日志
EN

Stack Overflow用户
提问于 2017-01-12 20:20:26
回答 1查看 521关注 0票数 0

背景

  1. 运行在计算机上并生成/var/log/httpd/error_log日志的Apache服务器
  2. 使用syslog-ng将日志发送到端口5140
  3. 最终,它将被kafka producer使用以发送到一个主题。
  4. logrotate每小时旋转一次/var/log/httpd/error_log

设置

syslog-ng.conf

代码语言:javascript
复制
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

代码语言:javascript
复制
/var/log/httpd/error_log {
  copytruncate
  rotate 4
  dateext
  missingok
  ifempty
  .
  .
  .
}

日志消耗

代码语言:javascript
复制
 nc -k -l 5140 | grep "STATS:" | java program

这个java程序本质上是一个kafka-producer,并将数据发送到kafka集群。

问题

logrotate启动copytruncate和从/var/log/httpd/error_log读取数据的syslog-ng之间,一些数据被发送到该文件,但没有被syslog-ng捕获,因此没有被推送到kafka-cluster

是否有任何正确的方法来连续地读取日志,而不丢失由logrotate定期旋转的文件?

EN

回答 1

Stack Overflow用户

发布于 2017-02-02 12:48:21

日志旋转时是否重新加载syslog-ng?没有它,syslog-ng就会更慢地了解文件的截断。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41622258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档