ELFK的部署

目录

一、ELFK(Filebeat+ELK)

[1. Filebeat的作用](#1. Filebeat的作用)

[2. ELFK工作流程](#2. ELFK工作流程)

[3. ELFK的部署](#3. ELFK的部署)

[3.1 服务器配置](#3.1 服务器配置)

[3.2 服务器环境](#3.2 服务器环境)

安装filebeat

[​编辑 修改filebeat主配置文件](#编辑 修改filebeat主配置文件)

​编辑​编辑​编辑在logstash组件所在节点(apache节点)上新建一个logstash配置文件

浏览器验证

浏览器访问http://192.168.209.60看是否生成filebeat索引

​编辑

​编辑

二、总结


一、ELFK(Filebeat+ELK)

1. Filebeat的作用

由于logstash会大量占用系统的内存资源,一般我们会使用filebeat替换logstash收集日志的功能,组成ELFK架构。 或用fluentd替代logstash组成EFK(elasticsearch/fluentd/kibana),由于fluentd是由Go语言开发的,一般在K8S环境中使用较多。

2. ELFK工作流程

(1)filebeat将日志收集后交由logstash处理

(2)logstash进行过滤、格式化等操作,满足过滤条件的数据将发送给ES

(3)ES对数据进行分片存储,并提供索引功能

(4)kibana对数据进行图形化的web展示,并提供索引接口

3. ELFK的部署

3.1 服务器配置
服务器 主机名 ip地址 主要软件部署
node1节点 node1 192.168.209.60 ElasticSearch、Kibana
node2节点 node2 192.168.209.61 ElasticSearch
apache节点 apache 192.168.209.62 Logstash、Apache
filebeat节点 filebeat 192.168.209.63 Filebeat

在ELK的基础上,增加一台filebeat服务器,因此只需再前述ELK部署的前提下进一步操作。

3.2 服务器环境

filebeat节点

复制代码
[root@localhost ~]# hostnamectl set-hostname filebeat
[root@localhost ~]# bash
[root@filebeat ~]# systemctl stop firewalld
[root@filebeat ~]# systemctl disable firewalld
[root@filebeat ~]# setenforce 0
安装filebeat

filebeat节点

复制代码
[root@filebeat ~]# cd /opt
[root@filebeat opt]# rz -E
rz waiting to receive.
[root@filebeat opt]# ls
[root@filebeat opt]# rpm -ivh filebeat-6.6.1-x86_64.rpm 
修改filebeat主配置文件

filebeat节点

复制代码
[root@filebeat opt]# cd /etc/filebeat/
[root@filebeat filebeat]# cp filebeat.yml filebeat.yml.bak
[root@filebeat filebeat]# vim filebeat.yml
 
filebeat.prospectors:
##21行,指定log类型,从日志文件中读取消息
- type: log
##24行,开启日志收集功能,默认为false
  enabled: true
##28行,指定监控的日志文件
    - /var/log/*.log
##29行,添加收集/var/log/messages
    - /var/log/messages
##31行,添加以下内容,注意格式
  fields: 
    service_name: filebeat
    log_type: log
    service_id: 192.168.209.63
#-------------------------- Elasticsearch output ------------------------------
该区域内容全部注释
#----------------------------- Logstash output --------------------------------
##157行,取消注释
output.logstash:
##159行,取消注释,指定logstash的IP和端口号
  hosts: ["192.168.209.62:5044"]
 
[root@filebeat filebeat]# /usr/bin/filebeat -e -c filebeat.yml
#启动filebeat,-e记录到stderr并禁用syslog /文件输出,-c指定配置文件
在logstash组件所在节点(apache节点)上新建一个logstash配置文件
复制代码
[root@apache ~]# cd /etc/logstash/conf.d/
[root@apache conf.d]# vim logstash.conf
 
input {
    beats {
        port => "5044"
    }
}
output {
    elasticsearch {
        hosts => ["192.168.209.60:9200", "192.168.209.61:9200"]
        index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
    }
    stdout {
        codec => rubydebug
    }
}
 
[root@apache conf.d]# /usr/share/logstash/bin/logstash -f apache_log.conf 
浏览器验证
浏览器访问http://192.168.209.60看是否生成filebeat索引

浏览器访问http://192.168.209.60:5601登录kibana, 添加"filebeat-*"索引后在"Discover"中查看filebeat日志收集情况。

二、总结

这是一种更加完善和灵活的架构,适合处理复杂的日志数据

在这种模式下,filebeat (beats)负贵收日志文件,并将其发送到ogstash进行处理。logtash可以对日志数据进行更多的过滤、转换和增强的操作 ,并将其发送到Elasticsearch进行索引。kibana则可以用来查看和分析日志数据

相关推荐
生活爱好者!6 小时前
哇!影视新玩法!docker部署NEOWATCH NAS
运维·docker·容器
cpolar技术支持9 小时前
Docker 容器启动失败怎么查?端口、日志、权限与网络排障完整教程
linux·docker·容器·cpolar·网络排障
Lsetea11 小时前
Kubernetes 1.37 Pod证书怎么签发:Signer与mTLS信任链排查
云原生·kubernetes·ssl证书·tls·mtls
一技安身11 小时前
【大模型】Win11 部署 DeepSeek+ RAGFlow0.27.2 (Ollama方案,断网可用)
docker·ai·语言模型
新时代牛马12 小时前
docker run 起不来?从dockerd、containerd 到runc 一条线讲透
运维·docker·容器
JavaPub-rodert12 小时前
Docker 安装 MySQL 完整教程:从零部署数据库,到生产环境持久化配置
数据库·mysql·docker
努力努力再努力wz13 小时前
【Docker 入门系列】:从 Namespace、CGroup 到 LXC:理解容器运行时、rootfs 与 LXC 实战
运维·docker·容器
JavaPub-rodert14 小时前
Docker 多阶段构建:为什么生产环境镜像可以小 90%
运维·docker·容器
PC2005-cloud16 小时前
Qdrant 连接失败排查:localhost 解析到 __1,而 Docker 只绑了 IPv4
运维·docker·容器
喵喵爱自由17 小时前
Deepseek Harness镜像离线部署
docker·ai·语言模型