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 毫秒。你可以根据实际情况进行调整。

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

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

相关文章

Python与ArcGIS系列(十一)SearchCursor方法

目录 0 简述1 SearchCursor检索要素2 where子句筛选3 几何令牌改进SearchCursor性能0 简述 从要素类和图层中以只读的方式进行检索,如获取GDP超过多少以上的城市列表。除此之外,可以进一步地对数据进行where筛选,以获取数据集子集;大数据量的情况下这种方式效率可能较低,…

【产品功能】dolphinscheduler怎么修改,实现超时就结束掉当前工作流

超时就结束工作流 代码 代码 MasterExecThread类 的 runProcess方法 里面有超时告警,原本里面只有超时告警的,这时候我只要加上海豚自己写好的结束任务的方法endProcess()方法

pycharm编译报错处理

1.c生成工具下载 https://visualstudio.microsoft.com/visual-cpp-build-tools/ 在这里插入图片描述 pip install pycocotools

遭到美国做空机构“灰熊”做空后,人工智能公司商汤科技股价暴跌

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,在遭到美国做空机构Grizzly Research(灰熊)指控夸大收入后,商汤科技的股价在周二一度下跌了9.7%。 Grizzly Research在周二发布的一份报告中称,商汤…

基于java的职工便利系统【大学期末结课作业】

需求分析 背景和目标 基于现在的各类企业的职工在企业日常工作及生活中所需要的各类需求,通过使用Java语言开发一个职工便利系统,以方便职工完成公司内的日常事务,提高工作效率。 设计目的: 设计职工便利系统的主要目的是为了提升职工的工作…

Jenkins部署配置及Jenkinsfile流水线任务示例【无图版】

一、下载 JDK环境下载:https://repo.huaweicloud.com/java/jdk/11.0.113/jdk-11.0.1_linux-x64_bin.tar.gz Jenkins安装包下载:https://github.com/jenkinsci/jenkins/releases/tag/jenkins-2.375.3 二、Jdk/Java环境配置 解压 tar -zxvf jdk-11.0.…

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

[RK-Linux] 移植Linux-5.10到RK3399(一)| 搭建系统并让系统跑起来

这个专题主要记录把 RK Linux-5.10 移植到 ROC-RK3399-PC Pro 的过程。 文章目录 一、u-boot 移植二、内核移植三、文件系统移植四、固件编译与打包五、移植问题处理一、u-boot 移植 首先进入 rk3399 板级配置文件目录 device/rockchip/rk3399,可以看到有一个 BoardConfig-rk…

全文检索[ES系列] - 第495篇

历史文章(文章累计490) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 M…

闭包与装饰器

章节目录: 一、闭包1.1 相关概述1.2 基本使用 二、装饰器2.1 相关概述2.1 装饰器最早版本2.3 基本使用2.4 装饰带有参数的函数2.5 装饰带有返回值的函数2.6 通用装饰器2.7 带有参数的装饰器2.8 类装饰器2.9 装饰器的使用场景 三、装饰器总结四、结束语 一、闭包 Pyt…

知识蒸馏代码实现(以MNIST手写数字体为例,自定义MLP网络做为教师和学生网络)

dataloader_tools.py import torchvision from torchvision import transforms from torch.utils.data import DataLoaderdef load_data():# 载入MNIST训练集train_dataset torchvision.datasets.MNIST(root "../datasets/",trainTrue,transformtransforms.ToTens…

ES6中的类

1、Class 类是一种可选(而不是必须)的设计模式,而且在 JavaScript 这样的 [[Prototype]] 语言中实现类是很别扭的。大致解决了以下问题: 不再引用杂乱的 .prototype 了Button 声 明 时 直 接“ 继 承 ” 了 Widget, …

Docker容器化平台及其优势和应用场景介绍

Docker是一种开源的容器化平台,它基于操作系统级别虚拟化技术,可以将应用程序及其依赖项打包成一个独立的容器,提供轻量级、一致性、可移植性的应用环境。Docker的基本概念和优势如下: 镜像(Image):Docker容器的基础&…

JAVA对象转HashMap如何快速强转

小编我最近看到了些资料,之前JAVA对象转DTO都是另外写类&#xff0c;进行强转&#xff0c;里面有些Long类型&#xff0c;日期类型&#xff0c;都是转成String类型&#xff0c;现在有快速优雅得解决方式 我们需要得Map结构是 Map<String,object> 简单说明一下这个类&…

QT Day01 qt概述,创建项目,窗口属性,按钮,信号与槽

1.qt概述 1.什么是qt Qt 是一个跨平台的 C 图形用户界面应用程序框架。它为应用程序开发者提供建立艺 术级图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组 件编程。 2.支持的平台 Windows – XP 、 Vista 、 Win7 、 Win8…

Java(119):ExcelUtil工具类(org.apache.poi读取和写入Excel)

ExcelUtil工具类(XSSFWorkbook读取和写入Excel),入参和出参都是:List<Map<String,Object>> 一、读取Excel testdata.xlsx 1、new XSSFWorkbook对象 File file = new File(filePath); FileInputStream fis = new FileInputStream(file);…

8.二维数组——将一个二维数组行和列的元素互换,存到另一个二维数组中。

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 将一个二维数组行和列的元素互换&#xff0c;存到另一个二维数组中。 二、题目分析 三、解题 程序运行代码 #incl…

玄学调参实践篇 | 深度学习模型 + 预训练模型 + 大模型LLM

&#x1f60d; 这篇主要简单记录一些调参实践&#xff0c;无聊时会不定期更新~ 文章目录 0、学习率与batch_size判断1、Epoch数判断2、判断模型架构是否有问题3、大模型 - 计算量、模型、和数据大小的关系4、大模型调参相关论文经验总结5、训练时模型的保存 0、学习率与batch_s…

python中几次方怎么打,三种内置方法

Python中几次方的三种内置方法 Python中至少内置的三种可以用于求取某个底数的几次方的方法&#xff0c;如下&#xff1a; 第一种方法&#xff0c;通过Python内置的幂次方运算符“**”&#xff1b;使用math模块的pow()方法&#xff0c;可以用于求取幂次方&#xff0c;即pow()…

压力测试+接口测试

jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简单。因 为jmeter是java开发的&#xff0c;所以运行的时候必须先要安装jdk才可以。jmeter是…