开源日志收集软件fluentd 转发(forward)架构配置

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

需求:

通过开源软件fluentd收集各个设备的apache访问日志到fluentd的转发服务器中,然后通过webHDFS接口,写入到hdfs文件系统中。


软件版本说明:

hadoop版本:1.1.2

fluentd版本:1.1.21


测试环境说明:

node29服务器上安装了apache,以及fluentd,作为fluentd的客户端;

node1服务器,为hadoop服务器的namenode;


node29服务器上fluentd配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
< source >
   type  tail
   format  apache2
   path  /var/log/httpd/access_log
   pos_file  /var/log/td-agent/access_log .pos
   time_format %Y-%m-%d %H:%M:%S
   localtime
   tag apache.access
  
< /source >
 
#Log Forwarding to node1 server
<match apache.access>
   type  forward
#  time_slice_format %Y%m%d
#  time_slice_wait 10m
#  localtime
  
#定义日志入库日志的时间;
   time_format %Y-%m-%d %H:%M:%S
#localtime非常重要,不设置日志时间和系统时间相差8小时;  
   localtime
  
#定义入库日志的时间;
  
   <server>
   host node1
   port 24224
   < /server >
  
   flush_interval 1s
< /match >


node1服务器配置,这个服务器上配置了hadoop的namenode,以及作为fluentd的转发角色,具体配置文件如下:

1
2
3
4
< source >
   type  forward
   port 24224
< /source >


<match apache.access>

  type webhdfs

  host node1.test.com

  port 50070

  path /apache/%Y%m%d_%H/access.log.${hostname}

  time_slice_format %Y%m%d

  time_slice_wait 10m


#定义日志入库日志的时间;

  time_format %Y-%m-%d %H:%M:%S

  localtime


  flush_interval 1s

</match>


配置好以后,重启fluentd服务;


开始测试,在node29用ab命令开始访问apache,生成访问日志;

wKioL1Srm8vR_ovaAAPZIkcRXtw457.jpg



然后,到node1服务器上去查看HDFS文件系统中,是否生成了相关文件及目录:

查看生成的目录:

wKioL1SrnD2T4tjMAANsBMDhnlw258.jpg


查看文件里面具体日志:

hadoop fs -cat /apache/20150106_16/access.log.node1.test.com

wKiom1Srm-KBfz8qAAYjJTfE3zY387.jpg


如上图所示,fluentd已经通过转发模式,把node29服务器上apache日志收集到hdfs文件系统中了,方便下一步用hadoop进行离线分析。




本文转自 shine_forever 51CTO博客,原文链接:http://blog.51cto.com/shineforever/1599771

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
1月前
|
存储 监控 算法
防止员工泄密软件中文件访问日志管理的 Go 语言 B + 树算法
B+树凭借高效范围查询与稳定插入删除性能,为防止员工泄密软件提供高响应、可追溯的日志管理方案,显著提升海量文件操作日志的存储与检索效率。
89 2
|
1月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
221 0
|
4月前
|
数据采集 人工智能 安全
开源赋能双碳:MyEMS 能源管理系统的架构与实践价值
在全球碳中和趋势与“双碳”目标推动下,能源管理趋向精细化与智能化。MyEMS是一款基于Python开发的开源能源管理系统,具备灵活适配、功能全面的优势,覆盖工厂、建筑、数据中心等多元场景。系统支持能源数据采集、分析、可视化及设备管理、故障诊断、AI优化控制等功能,提供“监测-分析-优化”闭环解决方案。遵循“国家+省级+接入端”三级架构,MyEMS在重点用能单位能耗监测中发挥关键作用,助力实现能源效率提升与政策合规。开源模式降低了技术门槛,推动“双碳”目标落地。
191 0
|
5月前
|
存储 机器学习/深度学习 缓存
软考软件评测师——计算机组成与体系结构(分级存储架构)
本内容全面解析了计算机存储系统的四大核心领域:虚拟存储技术、局部性原理、分级存储体系架构及存储器类型。虚拟存储通过软硬件协同扩展内存,支持动态加载与地址转换;局部性原理揭示程序运行特性,指导缓存设计优化;分级存储架构从寄存器到外存逐级扩展,平衡速度、容量与成本;存储器类型按寻址和访问方式分类,并介绍新型存储技术。最后探讨了存储系统未来优化趋势,如异构集成、智能预取和近存储计算等,为突破性能瓶颈提供了新方向。
|
2月前
|
存储 缓存 监控
用 C++ 红黑树给公司电脑监控软件的日志快速排序的方法
本文介绍基于C++红黑树算法实现公司监控电脑软件的日志高效管理,利用其自平衡特性提升日志排序、检索与动态更新效率,并结合实际场景提出优化方向,增强系统性能与稳定性。
120 4
|
1月前
|
存储 运维 监控
局域网网络监控软件的设备连接日志哈希表 C++ 语言算法
针对局域网监控软件日志查询效率低的问题,采用哈希表优化设备连接日志管理。通过IP哈希映射实现O(1)级增删查操作,结合链地址法解决冲突,显著提升500+设备环境下的实时处理性能,内存占用低且易于扩展,有效支撑高并发日志操作。
135 0
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
541 5
|
安全 BI 网络安全
EventLog Analyzer 如何满足等保合规要求?密码有效期、产品日志保留、配置备份三大核心问题全面解答
EventLog Analyzer(ELA)助力企业满足网络安全等级保护要求,支持配置自动/手动备份、日志180天留存及密码策略管理,提升合规性与安全运营效率。
|
4月前
|
JSON 安全 Go
Go语言项目工程化 —— 日志、配置、错误处理规范
本章详解Go语言项目工程化核心规范,涵盖日志、配置与错误处理三大关键领域。在日志方面,强调其在问题排查、性能优化和安全审计中的作用,推荐使用高性能结构化日志库zap,并介绍日志级别与结构化输出的最佳实践。配置管理部分讨论了配置分离的必要性,对比多种配置格式如JSON、YAML及环境变量,并提供viper库实现多环境配置的示例。错误处理部分阐述Go语言显式返回error的设计哲学,讲解标准处理方式、自定义错误类型、错误封装与堆栈追踪技巧,并提出按调用层级进行错误处理的建议。最后,总结各模块的工程化最佳实践,助力构建可维护、可观测且健壮的Go应用。
|
5月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
652 4