使用fluentd插件聚合Apache日志

在本文中,我们将学习如何使用fluent-plugin-s3插件结合Minio做为日志聚合器。

1. 前提提件

2. 安装

3. 步骤

第一步:创建存储桶。

fluentd将会实时聚合半结构化apache日志到这个存储桶。

  1. mc mb myminio/fluentd
  2. Bucket created successfully myminio/fluentd’.

第二步:修改fluentd配置以使用Minio作为存储后端。

aws_key_id, aws_sec_key, s3_bucket, s3_endpoint替换为你自己的值。

/etc/td-agent/td-agent.conf 替换为:

  1. <source>
  2. @type tail
  3. format apache2
  4. path /var/log/apache2/access.log
  5. pos_file /var/log/td-agent/apache2.access.log.pos
  6. tag s3.apache.access
  7. </source>
  8. <match>
  9. @type s3
  10. aws_key_id `aws_key_id`
  11. aws_sec_key `aws_sec_key`
  12. s3_bucket `s3_bucket`
  13. s3_endpoint `s3_endpoint`
  14. path logs/
  15. force_path_style true
  16. buffer_path /var/log/td-agent/s3
  17. time_slice_format %Y%m%d%H%M
  18. time_slice_wait 10m
  19. utc
  20. buffer_chunk_limit 256m
  21. </match>

第三步: 重启 fluentd server.

  1. sudo /etc/init.d/td-agent restart

第四步: 检查fluentd的日志以确认是否一切正在运行。

  1. tail -f /var/log/td-agent/td-agent.log
  2. path logs/
  3. force_path_style true
  4. buffer_path /var/log/td-agent/s3
  5. time_slice_format %Y%m%d%H%M
  6. time_slice_wait 10m
  7. utc
  8. buffer_chunk_limit 256m
  9. </match>
  10. </ROOT>
  11. 2016-05-03 18:44:44 +0530 [info]: following tail of /var/log/apache2/access.log

第五步: 验证你的配置。

Ping Apache server。该示例采用ab(Apache Bench)程序。

  1. ab -n 100 -c 10 http://localhost/

第六步: 验证聚合的日志。

Minio Server的fluent存储桶应该显示聚合后的日志。

  1. mc ls myminio/fluentd/logs/
  2. [2016-05-03 18:47:13 IST] 570B 201605031306_0.gz
  3. [2016-05-03 18:58:14 IST] 501B 201605031317_0.gz

注意事项:

fleuntd需要有访问/var/log/apache2/access.log的权限。

原文: https://docs.minio.io/cn/aggregate-apache-logs-with-fluentd-and-minio.html