ELFK集群部署(Filebeat+ELK) 本地收集nginx日志 远程收集多个日志

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

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

为什么要用filebeat来收集日志?为什么不直接使用lohstash收集日志?
因为logstash是jvm跑的,资源消耗比较大,启动一个logstash就需要消耗500M左右的内存
(这就是为什么logstash启动特别慢的原因)。

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

filebeat结合logstash带来的好处?
1、通过logstash,具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,
从而减轻Elasticsearch持续写入数据的压力。

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

3、将数据发送到多个目的地,例如S3,HDFS(hadoop分部署文件系统)或写入文件

4、使用数据流逻辑组成更复杂的处理管道。

先部署ELK集群

4台机器

####ELK1##

防火墙

改名

更改工作目录

#######同步操作:

安装时间工具

yum install ntpdate -y

ntpdate ntp.aliyun.com 

任意一台机器输入data 查看时间是否有一致

####ELK1##################

为了方便识别 修改httpd 和NGINX的工作目录 

这个NGINX是yum安装的 工作目录如下

编译安装是 /usr/local/nginx/

页面测试一下端口老师上课改过 nginx是8080(没记录改的过程)

本来nginx的默认端口是80

不输入端口默认是80

######如何来本地收集niginx的日志

设置 filebeat 的主配置文件

给nginx的日志赋权权限 能够读取日志内容

改配置之前 先备份filebeat的配置文件,防止失误

配置输出流

5044是filebeat的默认端口

把outputs的下面elastisearch全部注释掉 因为日志只能发送给一个 这里发送给logstash

打开logstash的注释 修改ip地址

eastiscearch注释掉

 修改为

删除下面

查看nginx的日志格式 

注意空格 和-  输入下面

注意格式对齐 

标识为nginx

索引名字为 192168.233.11_nginx

l类型为nginx

日志来源192.168.233.11

####配置logsatsh

5044是filebeat的默认端口

少了input  在后面截图

input {
   beats { port => "5044" }
 
}
 
output {
    if "nginx" in [tags] {
    elasticsearch {
        hosts => ["192.168.233.12:9200","192.168.233.13:9200"]
        index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"

}

}

   stdout {
    codec => rubydebug
  }
}

#启动 filebeat

开启收集日志

nohup ./filebeat -e -c filebeat.yml > filebeat.out &

nohup 表示在后台记录执行命令的过程
./filebeat 运行文件
-e 使用标准输出的同时进行syslog文件输出
·c 指定配置文件
执行过程输出到filebeat.out这个文件当中,& 后台运行

开一台elk1、查看输出日志的文件

查看日志发现报错

指定配置文件,再指定到数据工作目录  

logstash -f file_nginx.conf --path.data /opt/test1 &

这个命令将启动logstash并使用file_nginx.conf作为配置文件,–path.data参数指定了logstash的数据目录为/opt/test1。&符号表示在后台运行logstash

c测试下

索引已经创建成功

kabana也有索引

左边 选定字段

logstash通过filebeat远程收集多个日志

服务器装 mysql nginx httpd

在mysql 上192.168.233.21

日志目录一生成

cat mysql_general.log

目录

创表数据日志已生产

装 nginx  httpd

改下端口 防止端口冲突

拖入安装包filebeat

j解压

改名

备份

把这之间注释掉的信息 全部删除 留着没用

注释掉下一个output

打开注释,输入Lostash的IP

开一台mysql、

查看NGINX的日志目录路径格式 给NGINX日志目录授权

查看httpd目录路径格式  给httpd 日志目录授权

查看MySQL的日志目录路径格式,授权

- type: log
  enabled: true    
  paths:
    - /var/log/nginx/access.log
    - /var/log/nginx/error.log
  tags: ["nginx"]
  fields:
    service_name: 192.168.233.21_nginx
    log_type: nginx
    from: 192.168.233.21

- type: log
  enabled: true    
  paths:
    - /etc/httpd/logs/access_log
    - /etc/httpd/logs/error_log
  tags: ["httpd"]
  fields:
    service_name: 192.168.233.21_httpd
    log_type: httpd
    from: 192.168.233.21

- type: log
  enabled: true
  paths:
    - /usr/local/mysql/data/mysql_general.log
  tags: ["mysql"]
  fields:
    service_name: 192.168.233.21_mysqld
    log_type: mysql
    from: 192.168.233.21

标识方便识别 再次修改下

在ELK1 上192.168.233.11

收日志到目录 /opt/log

接着上面 这里的标识也改下

先到mysql上 启动felibeat文件往loastash上发

再到elk1上

指定配置文件,再指定到数据工作目录  

这个命令将启动logstash并使用file_nginx.conf作为配置文件,–path.data参数指定了logstash的数据目录为/opt/test2。&符号表示在后台运行logstash

vim filebeat.yml

优化性能:
pipeline.workers 2
该参数用于设置 Logstash 处理事件的工作线程数量。默认值是核心数。
在一个拥有两个核心的系统上,可以设置为 2,以充分利用系统资源。


pipeline.batch.size 125
该参数定义了从输入中检索事件的批量大小,然后将这批事件发送到过滤器和工作线程。
默认值是 125。你可以根据你的需求和系统性能进行调整。


pipeline.batch.delay 50
该参数定义了在轮询下一个事件之前等待的时间,以确保形成一个适当大小的事件批量。
默认值是 50 毫秒。你可以根据实际情况进行调整。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正式版PS 2024 25新增功能 刚刚发布的虎标正式版

Adobe Photoshop 2024是一款业界领先的图像编辑软件,被广泛应用于设计、摄影、插图等领域。以下是这款软件的一些主要功能和特点: 丰富的工具和功能。Adobe Photoshop 2024提供了丰富的工具和功能,可以帮助用户对图像进行编辑、修饰和优化。…

虚拟数据生成_以Python为工具

生成虚拟数据_以Python为工具 生成虚拟数据技术在现实生活中具有多个重要的应用领域。它为数据隐私保护、机器学习算法开发、数据处理和可视化等方面提供了实用且有价值的解决方案。尤其是能满足定制化需求的虚拟数据,在预期的方向上让数据定向随机。 &#x1f339…

编程之外,生活的美好航程

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

volatile-之小总结

凭什么我们Java写了一个volatile关键字,系统底层加入内存屏障?两者的关系如何勾搭? 内存屏障是什么? 是一种屏障指令,它使得CPU或编译器对屏障指令的前和后所发出的内存操作执行一个排序的约 束。也称为内存栅栏或栅…

概念理论类-k8s :架构篇

转载:新手通俗易懂 k8s :架构篇 Kubernetes,读音是[kubə’netis],翻译成中文就是“库伯奈踢死”。当然了,也可以直接读它的简称:k8s。为什么把Kubernetes读作k8s,因为Kubernetes中间有8个字母…

centos7配置tomcat

简介 Tomcat是一个使用Java编写的开源Web应用服务器,是由Apache Software Foundation管理的一个项目。它是一个轻量级的应用服务器,可以下载、安装和使用,而且还提供了许多高级功能,例如支持Java Servlet、JavaServer Pages (JSP)和JavaServer Faces (JSF) 等JavaEE技术,…

mysql中字符串截取与拆分

按分隔符把字符串拆成多行 引言截取字符串一、left(str,length)二、right(str,length)三、截取特定长度的字符串四、按分隔符截取 分割字符串一、分割成多列二、分割成多行 总结 引言 截取和拆分字符串在编程生涯中是普遍存在的,在sql中也不例外,下面就…

Panalog 日志审计系统 前台RCE漏洞复现

0x01 产品简介 Panalog是一款日志审计系统,方便用户统一集中监控、管理在网的海量设备。 0x02 漏洞概述 Panalog日志审计系统 sy_query.php接口处存在远程命令执行漏洞,攻击者可执行任意命令,接管服务器权限。 0x03 复现环境 FOFA&#xf…

Elasticsearch:使用 ILM 示例运行降采样 (downsampling)

如果你对降采样还不是很熟的话,请阅读之前的文章 “Elasticsearch:对时间序列数据流进行降采样(downsampling)”。这是一个简化的示例,可让你快速了解降采样如何作为 ILM 策略的一部分来减少一组采样指标的存储大小。 该示例使用典…

如何充分了解客户需求

如何充分了解客户需求 如何充分了解客户需求,以提供贴心服务? 想要提供超出客户期望的优质服务,首先需要了解他们的需求。通过多种方式收集客户反馈、深入挖掘数据、建立紧密的客户关系,我们可以更好地理解客户需求,…

Flutter使用flutter_gen管理资源文件

pub地址: https://pub.dev/packages/flutter_gen 1.添加依赖 在你的pubspec.yaml文件中添加flutter_gen作为开发依赖 dependencies:build_runner:flutter_gen_runner: 2.配置pubspec.yaml 在pubspec.yaml文件中,配置flutter_gen的参数。指定输出路…

6.1 Windows驱动开发:内核枚举SSDT表基址

SSDT表(System Service Descriptor Table)是Windows操作系统内核中的关键组成部分,负责存储系统服务调用的相关信息。具体而言,SSDT表包含了系统调用的函数地址以及其他与系统服务相关的信息。每个系统调用对应SSDT表中的一个表项…

Netty Review - 探索Channel和Pipeline的内部机制

文章目录 概念Channel Pipeline实现原理分析详解 Inbound事件和Outbound事件演示Code 概念 Netty中的Channel和Pipeline是其核心概念,它们在构建高性能网络应用程序时起着重要作用。 Channel: 在Netty中,Channel表示一个开放的连接&#xff…

Spring整合web环境

目录 Javaweb三大组件及环境特点 Spring整合web环境的思路及实现 Spring的web开发组件spring-web MVC框架思想及其设计思路 Javaweb三大组件及环境特点 Spring整合web环境的思路及实现 package com.xfy.listener;import com.xfy.config.SpringConfig; import org.springfra…

Scrapy框架中间件(一篇文章齐全)

1、Scrapy框架初识(点击前往查阅) 2、Scrapy框架持久化存储(点击前往查阅) 3、Scrapy框架内置管道(点击前往查阅) 4、Scrapy框架中间件 Scrapy 是一个开源的、基于Python的爬虫框架,它提供了…

业务连续性的实施步骤及价值

业务连续性计划不仅仅是面对灾难时的应急措施,更是一种战略性的投资。通过综合的风险评估、计划制定和实施,企业可以提高对各种风险的适应能力,确保业务在任何情况下都能够持续运营。这种全面的准备不仅有助于应对突发事件,还能为…

【社会网络分析第6期】Ucient实操

一、导入数据处理二、核心——边缘分析三、聚类分析四、网络密度 一、导入数据处理 将数据导入Ucinet首先需要对数据进行处理。 承接上一期的数据格式:【社会网络分析第5期】gephi使用指南 原先得到的数据格式如下: 接下来打开ucinet: 之后…

latex中算法的几种模板

latex中算法的几种模板_latex算法模板-CSDN博客文章浏览阅读6.2k次,点赞3次,收藏45次。latex中几种算法模板_latex算法模板https://blog.csdn.net/weixin_50514171/article/details/125136121?spm1001.2014.3001.5506 latex排版原理 常用算法排版伪代码…

「Linux」使用C语言制作简易Shell

💻文章目录 📄前言简易shell实现shell的概念系统环境变量shell的结构定义内建命令完整代码 📓总结 📄前言 对于很多学习后端的同学来讲,学习了C语言,发现除了能写出那个经典的“hello world”以外&#xff…

43.0BaseDao抽取dao公共父类

43.1. 回顾 1. 把数据库表中查询的结果封装到一个实体类中。 命名规则:类名和表名一致 类中属性和表的字段对应。 表中的一条记录对应实体的一个对象 多条记录→集合 43.2. 正文 目录 43.1. 回顾 43.2. 正文 43.3. 抽取dao公共父类。 43.4. 引入数据源 43.3. 抽取dao公共…