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

简介: 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 查看数据


相关文章
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
3月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
417 122
基于docker搭建监控系统&日志收集
|
6月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
|
2月前
|
数据采集 缓存 大数据
【赵渝强老师】大数据日志采集引擎Flume
Apache Flume 是一个分布式、可靠的数据采集系统,支持从多种数据源收集日志信息,并传输至指定目的地。其核心架构由Source、Channel、Sink三组件构成,通过Event封装数据,保障高效与可靠传输。
246 1
|
3月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
382 2
|
6月前
|
运维 监控 安全
Syslog 日志分析与异常检测技巧
系统日志蕴含设备运行关键信息,但分析提取颇具挑战。本文详解从命令行工具(如 Grep、Tail、Awk)到专业软件(如 EventLog Analyzer)的全流程日志分析技巧,助你高效挖掘 Syslog 价值,提升运维与安全响应能力。
404 4
|
5月前
|
存储
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
10月前
|
存储 前端开发 数据可视化
Grafana Loki,轻量级日志系统
本文介绍了基于Grafana、Loki和Alloy构建的轻量级日志系统。Loki是一个由Grafana Labs开发的日志聚合系统,具备高可用性和多租户支持,专注于日志而非指标,通过标签索引而非内容索引实现高效存储。Alloy则是用于收集和转发日志至Loki的强大工具。文章详细描述了系统的架构、组件及其工作流程,并提供了快速搭建指南,包括准备步骤、部署命令及验证方法。此外,还展示了如何使用Grafana查看日志,以及一些基本的LogQL查询示例。最后,作者探讨了Loki架构的独特之处,提出了“巨型单体模块化”的概念,即一个应用既可单体部署也可分布式部署,整体协同实现全部功能。
3891 70
Grafana Loki,轻量级日志系统
|
9月前
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
402 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
9月前
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
205 10

热门文章

最新文章