ELK+Filebeat

Filebeat概述

1.Filebeat简介

Filebeat是一款轻量级的日志收集工具,可以在非JAVA环境下运行。

因此,Filebeat常被用在非JAVAf的服务器上用于替代Logstash,收集日志信息
实际上,Filebeat几乎可以起到与Logstash相同的作用,可以将数据转发到Logstash、Redis或者是Elasticsearch中进行直接处理。

2.使用Filebeat的原因

因为logstash是jvm跑的,资源消耗比较大,启动一个logstash就需要消耗500M左右的内存
(这就是为什么logstash启动特别慢的原因)。

而filebeat只需要10M左右的内存资源。
常用的ELK日志采集方案中,大部分的做法就是将所有节点的日志内容通过filebeat发送到logstash,lostash根据配置文件进行过滤,然后将过滤之后的文件传输到elasticsearch中,最后通过kibana展示

3.Filebeat结合logstash的好处

Filebeat结合logstash中,Filebeat负责收集日志,logstash负责过滤

  • 1、通过logstash,具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,从而减轻Elasticsearch持续写入数据的压力。
  • 2、从其它数据源(例如数据库,s3对象存储或消息传递队列)中提取
  • 3、将数据发送到多个目的地,例如S3,HDFS(hadoop分部署文件系统)或写入文件
  • 4、使用数据流逻辑组成更复杂的处理管道。

本机直接收集日志实验

(Nginx日志)

实验组件

Node1节点:node1/20.0.0.20			      Elasticsearch
Node2节点:node2/20.0.0.30				  Elasticsearch
Filebeat节点:20.0.0.10				      Logstash  Kibana  Filebeat  Nginx

实验步骤

1.安装Filebeat

#10
cd /opt/
--上传filebeat-6.7.2-linux-x86_64.tar.gz--
tar -xf filebeat-6.7.2-linux-x86_64.tar.gz
mv filebeat-6.7.2-linux-x86_64 filebeat
vim /etc/logstash/logstash.yml
--64--
path.config: /opt/logsystemctl restart logstash

2.时间同步

#所有节点
yum -y install ntpdate
ntpdate ntp.aliyun.com 
date

3.配置filebeat

#修改nginx的端口,防止与apache冲突
vim /etc/nginx/nginx.conf
...
listen       8080;
listen       [::]:8080;

#给nginx日志文件赋权
cd /var/log/nginx/
chmod 777 access.log error.log

#配置filebeat
cd /usr/local/filebeat
vim filebeat.yml
filebeat.inputs:- type: logenabled: true	paths:- /var/log/nginx/access.log- /var/log/nginx/error.logtags: ["nginx"]fields:service_name: 20.0.0.10_nginxlog_type: nginxfrom: 20.0.0.10--------------Elasticsearch output-------------------
(全部注释掉)----------------Logstash output---------------------
output.logstash:hosts: ["20.0.0.10:5044"]      #指定logstash的IP和端口

4.配置logstash

cd /opt
mkdir log
cd log
vim file_nginx.confinput {beats { port => "5044"}}output {if "nginx" in [tags] {elasticsearch {hosts => ["20.0.0.20:9200","20.0.0.30:9200"]index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"}}stdout {codec => rubydebug}}

5.启动filebeat

nohup ./filebeat -e -c filebeat.yml > filebeat.out &
-------------------------------------------------------------------------------------------
nohup:表示在后台记录执行命令的过程
./filebeat:运行文件
-e:使用标准输出的同时禁用syslog文件输出
-c:指定配置文件
将执行过程输出到filebeat.out文件当中
&:后台运行
-------------------------------------------------------------------------------------------
logstash -f file_nginx.conf --path.data /opt/test1 &

6.结果

远程收集多个日志实验

(Nginx+Apache+Mysql日志)

实验组件

logstash节点:20.0.0.10
Node1节点:node1/20.0.0.20			      Elasticsearch
Node2节点:node2/20.0.0.30				  Elasticsearch
日志来源服务器:20.0.0.81                   MYsql  Nginx  Apache  Filebeat

实验步骤

1.安装Filebeat并配置

#81
cd /opt/
--上传filebeat-6.7.2-linux-x86_64.tar.gz--
tar -xf filebeat-6.7.2-linux-x86_64.tar.gz
mv filebeat-6.7.2-linux-x86_64 filebeat
cd filebeat/
vim filebeat.ymlfilebeat.inputs:
- type: logenabled: truepaths:- /var/log/nginx/access.log- /var/log/nginx/error.logtags: ["nginx_81"]fields:service_name: 20.0.0.81_nginxlog_type: nginxfrom: 20.0.0.81- type: logenabled: truepaths:- /etc/httpd/logs/access_log- /etc/httpd/logs/error_logtags: ["httpd_81"]fields:service_name: 20.0.0.81_httpdlog_type: httpdfrom: 20.0.0.81- type: logenabled: truepaths:- /usr/local/mysql/data/mysql_general.logtags: ["mysql_81"]fields:service_name: 20.0.0.81_mysqllog_type: mysqlfrom: 20.0.0.81--------------Elasticsearch output-------------------
(全部注释掉)----------------Logstash output---------------------
output.logstash:hosts: ["20.0.0.10:5045"]      #指定logstash的IP和端口

2.配置logstash

10:
cd /opt/log/
vim nhm_81.conf input {beats { port => "5045"}
}output {if "nginx_81" in [tags] {elasticsearch {hosts => ["20.0.0.20:9200","20.0.0.30:9200"]index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"}}if "httpd_81" in [tags] {elasticsearch {hosts => ["20.0.0.20:9200","20.0.0.30:9200"]index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"}}if "mysql_81" in [tags] {elasticsearch {hosts => ["20.0.0.20:9200","20.0.0.30:9200"]index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"}}stdout {codec => rubydebug}}

3.启动filebeat

nohup ./filebeat -e -c filebeat.yml > filebeat.out &logstash -f nhm_81.conf --path.data /opt/test2 &

4.结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/178310.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware 系列:您当前正在评估模式下使用ESXi。此许可证将在60 天后过期

您当前正在评估模式下使用ESXi。此许可证将在60 天后过期 本人的ESXI版本为6.7。点击下方的分配许可证:一些序列号仅供参考:6.7VMware vSphere ESXi 7.0 Enterprise PlusVMware vSphere 7 Enterprise Plus with Add-on for KubernetesVMware vCenter 7.0 StandardVMware vSph…

使用C++编写代码实现字符串的拼接操作

C中有多种方法实现字符串拼接&#xff0c;以下是两种常见的方法&#xff1a; 方法一&#xff1a;使用加号“” #include <iostream> #include <string>using namespace std;int main() {string str1 "Hello";string str2 "World";string s…

Android11编译第八弹:root用户密码设置

问题&#xff1a;user版本增加su 指令以后&#xff0c;允许切换root用户&#xff0c;但是&#xff0c;root用户默认没有设置密码&#xff0c;这样访问不安全。 需要增加root用户密码。 一、Linux账户管理 1.1 文件和权限 Linux一切皆文件。文件和目录都有相应的权限&#x…

【Python】(自定义函数)模块的相对路径导入

是我以前写的老文章的升级版&#xff0c;本质上使用exec和sys.path实现相对路径导入。 RelativeImport&#xff1a; __version__1.1.0 __author__Ls_Janimport os import sys import inspectdef RelativeImport(module,*args):#模块导入module为模块所在路径(模块名不需要.py后…

函数式编程:简洁与效率的完美结合

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

还在担心发抖音没素材跟文案?[腾讯云HAI] AIGC带你蹭热度“今年你失去了什么?”

目录 &#x1f433;前言&#xff1a; &#x1f680;了解高性能应用服务 HAI &#x1f47b;即插即用 轻松上手 &#x1f47b;横向对比 青出于蓝 &#x1f424;应用场景-AI作画 &#x1f424;应用场景-AI对话 &#x1f424;应用场景-算法研发 &#x1f680;使用HAI进行…

蓝桥杯day01——根据给定数字划分数组

题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 pivot 。请你将 nums 重新排列&#xff0c;使得以下条件均成立&#xff1a; 所有小于 pivot 的元素都出现在所有大于 pivot 的元素 之前 。所有等于 pivot 的元素都出现在小于和大于 pivot 的元素 中间 。小于 piv…

orcad模块化绘制电路

当我们的板子上需要绘制大量的重复电路的时候&#xff0c;手动去绘制就很浪费时间。 orcad 的软件可以进行模块化绘制&#xff0c;将几个原理图包装成一个模块&#xff0c;然后直接去复制模块就可以。 相对来说大大的简化了原理图的设计麻烦程度 下面就是整个的操作流程 最后做…

Router跳转打开新窗口

this.$router.push()无效时&#xff0c;首先要检查路由列表是否正确。 console.log(this.$router.options.routes);跳转 /*本窗口*/// this.$router.push({ path: /filePreview, query: { path: row.path } })/*新打开窗口*/let routeData this.$router.resolve({ path: /fi…

一天之内“三个离职群都满了”;飞行出租车的时代就此开启?丨 RTE 开发者日报 Vol.94

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

每日一练 | 华为认证真题练习Day138

1、IPv6地址FE80::2EO:FCFF:FE6F:4F36属于哪一类&#xff1f; A. 组播地址 B. 任播地址 C. 链路本地地址 D. 全球单播地址 2、如果IPv6的主机希望发出的报文最多经过10台路由器转发&#xff0c;则应该修改IPv6报文头中的哪个参数&#xff1f; A. Next Header B. Version …

【考研or就业】关键的时间节点,暑期实习/秋招/春招大揭秘(文末附时间线图)

【考研or就业】关键的时间节点&#xff0c;暑期实习/秋招/春招大揭秘 一些引言考研初复试暑期实习秋招春招 【考研or就业】关键的时间节点&#xff0c;暑期实习/秋招/春招大揭秘&#xff08;视频版&#xff09; 一些引言 ● 之前我个人的选择是比较离谱的那种&#xff0c;考研…

【实验】配置用户通过IPv6方式上网

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等https://xmws-it.blog.csdn.net/article/details/117297837?spm1001.2014.3001.5502【微/信/公/众/号&#xff1a;厦门微思网络】 组网需求 运营商为企业分配了WAN侧的IPv6地址11…

SageMath安装

Sagemath工具是免费开源的&#xff0c;针对数学计算的一个工具。 网页版免安装&#xff1a;https://sagecell.sagemath.org/ Sagemath是根据Linux系统编写的&#xff0c;所以Windows上使用的话&#xff0c;会创建一个Linux系统运行。 1. 安装 Windows本地安装参考&#xff1…

数字人应用行业有哪些?

随着人工智能和虚拟形象技术的不断发展&#xff0c;数字人正运用于各行各业。数字人是通过模型训练和虚拟形象技术创造的虚拟实体&#xff0c;具有自己的外貌、声音和行为。本文将介绍数字人应用行业的几个主要领域&#xff0c;并探讨其重要意义。 一、直播带货和电商领域 1. …

oracle闪回恢复表数据

oracle闪回恢复表数据 1.打开监听和数据库&#xff0c;进入需要操作的表的所属用户下 [oraclemydb ~]$ lsnrctl start [oraclemydb ~]$ sqlplus / as sysdba SQL> startup SQL> conn test/123456 SQL> select * from test1&#xff1b;2.删除任意数据&#xff1a; …

WIFI模块(esp-01s)实现天气预报代码实现

目录 前言 实现图片 一、串口编程的实现 二、发送AT指令 esp01s.c esp01s.h 三、数据处理 1、初始化 2、cjson处理函数 3、核心控制代码 四、修改堆栈大小 前言 实现图片 前面讲解了使用AT指令获取天气与cjson的解析数据&#xff0c;本章综合将时间显示到屏幕 一、…

MyBatis的解析和运行原理

文章目录 MyBatis的解析和运行原理MyBatis的工作原理 MyBatis的解析和运行原理 MyBatis编程步骤是什么样的&#xff1f; 1、 创建SqlSessionFactory 2、 通过SqlSessionFactory创建SqlSession 3、 通过sqlsession执行数据库操作 4、 调用session.commit()提交事务 5、 调用…

lettcode 1089. 复写零

代码&#xff1a; class Solution {public void duplicateZeros(int[] arr) {int cur 0, dest -1, n arr.length;// 1. 先找到最后⼀个需要复写的数while (cur < n) {if (arr[cur] 0) dest 2;else dest 1;if (dest > n - 1) break;cur;}// 2. 处理⼀下边界情况if …

智能优化算法应用:基于多元宇宙算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于多元宇宙算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于多元宇宙算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.多元宇宙算法4.实验参数设定5.算法结果6.参考…