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

相关推荐
酉鬼女又兒5 分钟前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
kong@react29 分钟前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
Gauss松鼠会1 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结
凡人叶枫1 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
凡人叶枫1 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
某林2121 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
|_⊙2 小时前
Linux 中断
linux
m0_738120722 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
Gauss松鼠会2 小时前
【GaussDB】GaussDB SMP特性调优详解
java·服务器·前端·数据库·sql·算法·gaussdb
枫叶梨花2 小时前
Dify 离线安装 OpenAI API Compatible 插件踩坑记
服务器·人工智能