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.hqwc.cn/news/229156.html

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

相关文章

社区团购小程序源码系统 带会员功能+会员积分+会员分组+会员等级 附带部署与搭建的完整教程

社区团购小程序源码系统是一种基于微信小程序的电商系统,它通过社交电商模式,将社区居民、商家和平台紧密结合,实现便捷的线上购物和线下社区服务。该系统支持会员功能、会员积分、会员分组和会员等级等功能,为用户提供更加个性化…

ST53xx 系列是一种高精度、高输入电压、低静态电流、高速度、低压差线性稳压器

ST53xxS/T 40V,低静态电流,高可靠性 LDO 概述: ST53xx 系列是一种高精度、高输入电压、低静态电流、高速度、低压差线性稳压器,具有高纹波抑制能力。在 Vour 5V VIN 7V 时,输入电压高达40V,负载电流高达300…

使用OSS搭建私有云内网yum仓库的方法

使用OSS搭建私有云内网yum仓库的方法 文字&图片内容已脱敏 #、前几天接到一个搭建内网yum源的任务。刚接到这个任务的时候还是比较头疼的,因为内部有很多VPC。VPC与VPC之间是不互通的,又不能打高速通道,也不可能每个VPC下边都建一个yum…

vue.draggable拖拽——岗位切换如何判断?

有一个业务场景:把一个单位的某个岗位的人,从某某市A岗位调离出来后,又拖拽回去,如果是回到某某市A岗位,则没有变化,若是换了岗位,则会把色块变成红色,表示岗位的变化。 方法一&…

Web3 进入“殖民时代”

最近在 AI 和 Web3 领域发生了两件“大”事,两件事都具有指标意义,但在媒体上其意义都被大量的八卦细节给掩埋了。 其实看待任何重大事件,都可以有两种不同的视角。第一是娱乐的视角,在新闻事件中找乐子。如果是本着这个目的&…

LeetCode Hot100 543.二叉树的直径

题目: 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 方法:灵神 代码: ​…

LeetCode [中等]3. 无重复字符的最长子串

3. 无重复字符的最长子串 - 力扣(LeetCode) 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 1. 滑动窗口(Sliding Window): 滑动窗口是一种用于处理数组或列表的子数组或子序列的问题…

60V 72V 输入 输出5V 2A 内置MOS 降压芯片 ESOP8封装

60V 72V 输入 输出5V 2A 内置MOS 降压芯片 SC9102 ESOP8封装

C++基础 -10- 类的构造函数

类的构造函数类型一 使用this指针给类内参数赋值 class rlxy {public:int a;rlxy(int a, int b, int c){this->aa;this->bb;this->cc;cout << "rlxy" << endl;}protected:int b;private:int c; };int main() {rlxy ss(10, 20, 30); }类的构造…

Sentaurus TCAD半导体器件入门常用案例合集

Sentaurus TCAD是用于模拟半导体器件和工艺的工具之一&#xff0c;可以帮助工程师设计电路元件&#xff0c;优化半导体工艺和器件性能。主要功能包括&#xff1a;半导体器件建模&#xff08;用于建立各种半导体器件的物理模型工艺模拟&#xff09;、半导体器件的制造工艺模拟&a…

Linux C语言 22-多进程

Linux C语言 22-进程 本节关键字&#xff1a;进程、exec函数族 相关C库函数&#xff1a;fork、getpid、getppid、getuid、geteuid、getgid、getegid、execl、execlp、execv、execvp、execle、execvpe 什么是进程&#xff1f; 进程是程序的执行过程&#xff1b;进程是动态的&…

基于多模态大数据的国家安全风险态势感知模型构建

源自&#xff1a;情报杂志 “人工智能技术与咨询” 发布 摘 要 [研究目的]为强化国家安全情报能力,推动风险监测预警能力提升,构建基于多模态大数据的国家安全风 险态势感知模型。 [研究方法]首先,对国家安全风险态势感知进行阐释;然后,分析多模态大数据驱动…