ELFK——ELK结合filebeat日志分析系统(2)

目录

一、filebeat

二、ELFK

1.原理简介

2.在ELK基础上部署filebeat


一、filebeat

Filebeat,轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。常应用于 EFLK 架构当中。

filebeat 结合 logstash 带来好处

1)通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻 Elasticsearch 持续写入数据的压力

2)从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取

3)将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件

4)使用条件数据流逻辑组成更复杂的处理管道

二、ELFK

1.原理简介

在ELK中,Logstash 负责收集日志,将日志格式化并输出到 Elasticsearch 群集中;Elasticsearch 对格式化后的数据进行索引和存储;Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。

而在ELFK中,filebeat替代logstash收集日志,而logstash负责格式化日志和输出到es集群。

2.在ELK基础上部署filebeat

nginx服务器部署filebeat:192.168.116.40

logstash+kibana服务器:192.168.116.50

es节点1: 192.168.116.60

es节点2: 192.168.116.70

关闭防火墙和selinux

下载nginx,添加测试页面

bash 复制代码
#配置nginx官方源
cd /etc/yum.repos.d/
vim nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

#下载并启动
yum -y install nginx
systemctl enable --now nginx

#添加测试页面
cd /usr/share/nginx/html/
echo '<h1>this is nginxlog test1 webpage</h1>' > test1.html
echo '<h1>this is nginxlog test2 webpage</h1>' > test2.html

准备filebeat安装包,解压安装

bash 复制代码
tar xf filebeat-6.7.2-linux-x86_64.tar.gz
mv filebeat-6.7.2-linux-x86_64 /usr/local/filebeat

修改filebeat配置文件 /usr/local/filebeat/filebeat.yml

启动filebeat

nohup ./filebeat -e -c filebeat.yml nohup后台启动(不会因为退出终端而终端)

-e 同时输出到屏幕(便于实验),也可以使用重定向到文件中

-c 指定配置文件

修改logstash配置文件

启动logstash

测试索引收集日志

但是此索引包含了nginx的access.log和error.log,我们可以在配置文件中添加条件判断分割日志,然后重启服务测试

在客户端访问nginx测试页面,然后刷新es,出现了分割的索引

在kibana中创建对应索引

之后就可以查看了

相关推荐
G_H_S_3_4 分钟前
【网络运维】Linux 文本处理利器:sed 命令
linux·运维·网络·操作文本
Linux运维技术栈14 分钟前
多系统 Node.js 环境自动化部署脚本:从 Ubuntu 到 CentOS,再到版本自由定制
linux·ubuntu·centos·node.js·自动化
拾心2131 分钟前
【运维进阶】Linux 正则表达式
linux·运维·正则表达式
Gss7771 小时前
源代码编译安装lamp
linux·运维·服务器
444A4E2 小时前
深入理解Linux进程管理:从创建到替换的完整指南
linux·c语言·操作系统
G_H_S_3_2 小时前
【网络运维】Linux:正则表达式
linux·运维·网络·正则表达式
敲上瘾2 小时前
Linux I/O 多路复用实战:Select/Poll 编程指南
linux·服务器·c语言·c++·select·tcp·poll
huangyuchi.2 小时前
【Linux系统】匿名管道以及进程池的简单实现
linux·运维·服务器·c++·管道·匿名管道·进程池简单实现
MrZhangBaby2 小时前
SQL-leetcode—3374. 首字母大写 II
linux·sql·leetcode
czhc11400756633 小时前
LINUX 820 shell:shift,expect
linux·运维·excel