flume 通过syslog协议读取系统日志

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: flume 通过syslog协议读取系统日志

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址

全文共计2077字,阅读大概需要3分钟

一、 任务描述

本实验任务主要完成基于ubuntu环境使用flume通过syslog协议读取日志信息。通过完成本实验任务,要求学生了解并掌握flume通过syslog协议去读日志信息的语法和使用的命令,为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。


二、 任务目标

熟悉Flume基本组件Source,Sink,Channel

 理解Syslog Source,Syslog UDP Source和Multiport Syslog Source


三、 任务环境

本次环境是:Ubuntu16.04+flume-ng-1.5.0-cdh5.3.6


四、 任务分析

Syslog是很多应用写日志消息的众所周知的形式,集成了syslog的Flume可以接收TCP和UDP消息。Flume提供了两种syslog Source:Syslog UDP Source和Multiport Syslog Source.这两种Source都能解析syslog消息,抽取几个字段到Flume事件的header,可以用HDF Sink分桶。如果syslog消息不符合Syslog RFCs,事件将包含一个带有值为Invalid flume.syslog.status的header. Syslog UDP Source认为整个UDP数据报文是一个Syslog事件,并将其转换一个Flume事件。本实验采用Syslog Source+Memory Channel+Logger Sink方式


♥ 知识链接

zooKeeper于Flume的作用

 Flume采用了多Master的方式。为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。


五、 任务实施

步骤1、操作步骤

创建agent文件

在目录/simple/flume/conf下,创建文件

touch syslog_tcp.conf,并编辑内容如下:

1.  # 配置agent
2.  a1.sources = syslog
3.  a1.sinks = k1
4.  a1.channels = c1
5.  
6.  # Describe/configure the  source
7.  a1.sources.syslog.type =  syslogtcp
8.  a1.sources.syslog.port =  5140
9.  a1.sources.syslog.host =  localhost
10. a1.sources.syslog.channels  = c1
11. 
12. # Describe the sink
13. a1.sinks.k1.type = logger
14. 
15. # Use a channel which  buffers events in memory
16. a1.channels.c1.type =  memory
17. a1.channels.c1.capacity =  1000
18. a1.channels.c1.transactionCapacity  = 100
19. 
20. # Bind the source and sink  to the channel
21. a1.sources.r1.channels = c1
22. a1.sinks.k1.channel = c1

根据配置好syslog_tcp.conf的配置信息,启动flume agent,进入目录:cd /simple/flume

 执行如下启动脚本:./bin/flume-ng agent -c . -f conf/syslog_tcp.conf -n a1 -Dflume.root.logger=INFO,console。如图1所示

24a434624b064e98a8a85c70d4f84974.png



图1 启动flume


一些配置的说明:

name Value
-f 指定flume服务端启动监听的agent配置文件,
-n 指定启动的flume agent别名,
-D flume.root.logger=DEBUG,console 表示数据在控制台打印出,

启动flume agent后,可以看到如下信息:

syslog tcp source starting,此时会不停扫描syslog_tcp.conf,

启动成功信息,如图2所示:


dbe1efa85aa0479db89ffd1a0548eb9a.png


图2 扫描syslog_tcp.conf启动信息


再启动一个终端。

测试产生syslog;

在新启动的命令终端任意目录下,执行:echo “hello flume: syslog tcp” | nc localhost 5140

数据向终端发送成功的信息,红框表示终端收到的数据(如果syslog消息不符合Syslog RFCs,RFC-3146或RFC-5424,事件中将包含一个带有值为Invalid flume.syslog.status的header)。如图3所示:


ae28d6d4d865494f95ecefde481a691c.png


图3 查看数据


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
运维 监控 安全
在Linux系统中,认证日志
Linux系统中的认证日志对于安全监控和故障排查至关重要,常见的日志文件包括:`/var/log/auth.log`(Debian、Ubuntu)、`/var/log/secure`(RPM发行版)、`/var/log/lastlog`、`/var/log/faillog`、`/var/log/wtmp`和`/var/run/utmp`。这些文件记录登录尝试、失败、当前用户等信息。日志管理可通过文本编辑器、日志查看工具或`rsyslog`、`syslog-ng`等工具进行。注意日志位置可能因发行版和配置差异而变化,应确保日志文件的安全访问,并定期轮转归档以保护敏感信息和节省空间。
26 3
|
1月前
|
存储 运维 监控
【Flume】flume 日志管理中的应用
【4月更文挑战第4天】【Flume】flume 日志管理中的应用
|
1月前
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
3月前
|
消息中间件 监控 网络协议
Flume系统
Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输系统,起源于Cloudera。【2月更文挑战第8天】
33 4
|
2月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
35 0
|
5月前
|
设计模式
二十三种设计模式全面解析-职责链模式的高级应用-日志记录系统
二十三种设计模式全面解析-职责链模式的高级应用-日志记录系统
|
16天前
|
监控 Linux 开发者
【专栏】`head`命令是Linux系统中用于快速查看文件开头内容的工具,常用于处理日志文件
【4月更文挑战第28天】`head`命令是Linux系统中用于快速查看文件开头内容的工具,常用于处理日志文件。基本用法包括指定查看行数(如`head -n 10 file.txt`)和与其他命令(如`grep`)结合使用。高级用法涉及动态查看日志、过滤内容、管道操作及在脚本中的应用。实际应用案例包括监控系统日志、排查错误和分析应用日志。使用时注意文件存在性、行数选择及权限问题。熟练掌握head命令能提升工作效率,结合其他工具可实现更多功能,助力Linux用户提升技能。
|
5月前
|
存储 监控 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
179 1
|
5月前
|
SQL 存储 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
210 0
|
26天前
|
JavaScript Java 测试技术
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
141 3