ELK7.x日志系统搭建 3. 采用轻量级日志收集Filebeat
时间:2022-07-22
本文章向大家介绍ELK7.x日志系统搭建 3. 采用轻量级日志收集Filebeat,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
ELK7.x日志系统搭建 3. 采用轻量级日志收集Filebeat
当我们在对系统日志进行处理的时候,我们需要结合成本考虑方案,前期如果使用 Logstash
进行日志收集的话会耗费较多的机器性能,我们这里选择优化一下日志的采集。简单介绍一下即将出场的家伙: filebeat
首先 filebeat
是 Beats
中的一员。 Beats
在是一个轻量级日志采集器,其实 Beats
家族有6个成员,早期的 ELK
架构中使用 Logstash
收集、解析日志,但是 Logstash
对 内存
、 cpu
、 io
等资源消耗比较高。相比 Logstash
, Beats
所占系统的 CPU
和内存几乎可以忽略不计。
Beats
有目前七个工具:
Functionbeat 能收集、传送并监测来云服务的相关数据
Packetbeat 网络数据(收集网络流量数据)
Metricbeat:指标(收集系统、进程和文件系统级别的CPU和内存使用情况等数据)
Filebeat:日志文件(收集文件数据)
Winlogbeat:windows事件日志(收集Windows事件日志数据)
Auditbeat:审计数据(收集审计日志)
Heartbeat:运行时间监控(收集系统运行时的数据)
安装filebeat
wget https://mirrors.huaweicloud.com/filebeat/7.6.0/filebeat-7.6.0-linux-x86_64.tar.gz
tar -zxvf filebeat-7.6.0-linux-x86_64.tar.gz
Filebeat输出到文件
- filebeat.yml
filebeat.inputs:
# 指定文件的输入类型log
- type: log
enabled: true
# 指定要监控的日志,可以指定具体得文件或者目录
paths:
- /var/log/test-filebeat.log
# 输出方式 可以以文件输出
output.file:
path: "/tmp"
filename: "filebeat.txt"
- 测试
echo test >> /var/log/test-filebeat.log
查看到输出文件已经有变化了
输出到logstash
- filebeat.yml
output.logstash:
hosts: ["192.168.179.124:5044"]
- logstash配置
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => ["192.168.179.124:9200"] #elasticsearch服务器地址
user => "elastic"
password => "${ES_PWD}"
index => "logstash-filebeat-%{+YYYY.MM.dd}" #索引名称
}
}
- 测试数据
echo hello >> /var/log/test-filebeat.log
- 查看索引模式
输出到Redis
- filebeat.yml
output.redis:
hosts: ["192.168.179.124:6379"]
key: "test-filebeat"
db: 0
timeout: 5
- 查看连接
redis
日志
- 查看效果
logstash从redis中读取数据
-
logstash-filebeat.conf
配置logstash
input {
redis {
data_type => "list"
host => "192.168.179.124"
port => "6379"
db => 0 # 指定库
key => "test-filebeat" # 配置redis 键
}
}
output {
elasticsearch {
hosts => ["192.168.179.124:9200"] #elasticsearch服务器地址
user => "elastic"
password => "${ES_PWD}"
index => "logstash-test-%{+YYYY.MM.dd}" #索引名称
}
}
- 启动
logstash
./bin/logstash -f ./conf.d/logstash-filebeat.conf
- 测试数据
echo test >> /var/log/test-filebeat.log
logstash
会一直从 redis
中获取数据,获取完成会删除掉 redis
的键,我们创建 kibana
的索引模式来查看一下收取的数据
经过这篇文章的理解,我们应该更好的理解 Logstash
, 他可以输出地方很多,可以直接输出到 队列
、ES
、文件
等等,非常轻量和灵活
- 通过java程序模拟实现地铁票价2+2=12(r3笔记第94天)
- 由objC运行时所想到的。。。
- tensorflow系列笔记:流程,概念和代码解析
- node实现watcher的困境
- Java基础-03(02).总结运算符、键盘录入、if语句
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(十一)数据层优化-druid监控及慢sql记录
- python数据分析师面试题选
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(九)数据层优化-jdbc连接池简述、druid简介
- webpack配置别名alias出现的错误匹配
- 在Java程序中处理数据库超时与死锁
- 如何用TensorFlow和TF-Slim实现图像标注、分类与分割
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合
- 使用shell脚本查看数据库负载情况(第二篇)(r3笔记第92天)
- tensorflow LSTM + CTC实现端到端OCR
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【Pytorch 】笔记四:Module 与 Containers 的源码解析
- 控制pod内container执行顺序的几种姿势
- 本地部署istio多集群(共享控制面)
- elasticsearch unassigned shard
- 【Pytorch 】笔记五:nn 模块中的网络层介绍
- docker浅入深出4
- BFE.dev前端刷题#58. 获取DOM tree高度
- 如何在Tungsten Fabric上整合裸金属服务器(附配置验证过程)
- 逐行阅读Spring5.X源码(三) BeanDefinition的实现类详解,拔高
- 逐行阅读Spring5.X源码(番外篇)BeanDefinition到底有多重要
- 逐行阅读Spring5.X源码(番外篇)AnnotatedBeanDefinitionReader的作用
- 逐行阅读Spring5.X源码(四) BeanFactory——核心容器bean工厂
- 逐行阅读Spring5.X源码(五) 初探BeanFactoryPostProcessor后置处理器,难,特别难。
- 逐行阅读Spring5.X源码(六) ClassPathBeanDefinitionScanner扫描器
- 逐行阅读Spring5.X源码(番外篇)自定义扫描器, Mybatis是如何利用spring完成Mapper扫描的