Filebeat+ELK 部署

一、ELFK(Filebeat + ELK)

1.1 Filebeat 的作用

由于 logstash 会大量占用系统的内存资源,一般我们会使用 filebeat 替换 logstash 收集日志的功能,组成 ELFK 架构

或用 fluentd 替代 logstash 组成 EFK(elasticsearch/fluentd/kibana),由于 fluentd 是由 Go 语言开发的,一般在 K8s 环境中使用较多

1.2 ELFK 工作流程

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

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

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

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

1.3 ELFK 的部署

1.3.1服务器配置

|-------------|--------|----------|----------------|----------------------|
| 服务器 | 配置 | 主机名 | ip地址 | 主要软件部署 |
| node1 节点 | 2C/4G | node1 | 192.168.91.104 | ElasticSearch、Kibana |
| node2 节点 | 2C/4G | node2 | 192.168.91.105 | ElasticSearch |
| apache 节点 | / | apache | 192.168.91.102 | Logstash、Apache |
| filebeat 节点 | / | filebeat | 192.168.91.103 | Filebeat |

在 ELK 的服务配置的基础上,增加一台 filebeat 服务器,其余不变(所以以下只说明部署Filebeat服务器)

1.3.2服务器环境

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

1.3.3安装 filebeat

复制代码
[root@filebeat ~]# cd /opt
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.4-linux-x86_64.tar.gz
[root@filebeat opt]# tar zxvf filebeat-6.2.4-linux-x86_64.tar.gz 
[root@filebeat opt]# mv filebeat-6.2.4-linux-x86_64 /usr/local/filebeat

1.3.4修改 filebeat 主配置文件

复制代码
[root@filebeat opt]# cd /usr/local/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
##46行,添加以下内容,注意格式
  fields: 
    service_name: filebeat
    log_type: log
    service_id: 192.168.91.103
#-------------------------- Elasticsearch output ------------------------------
该区域内容全部注释
#----------------------------- Logstash output --------------------------------
##157行,取消注释
output.logstash:
##159行,取消注释,指定logstash的IP和端口号
  hosts: ["192.168.91.102:5044"]

配置文件修改如下

1.3.5在 logstash7-2 组件所在节点(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.91.104:9200"]
        index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
    }
    stdout {
        codec => rubydebug
    }
}
 
[root@apache conf.d]# /usr/share/logstash/bin/logstash -f logstash.conf

1.3.6启动配置文件

复制代码
[root@filebeat filebeat]# ./filebeat -e -c filebeat.yml
#启动filebeat,-e记录到stderr并禁用syslog /文件输出,-c指定配置文件

1.3.7浏览器验证

先去浏览器访问 http://192.168.91.104:9100,查看filebeat索引是否创建成功

浏览器访问 http://192.168.91.104:5601 登录 kibana

在Kibana创建索引filebeat

查看索引信息

当我们在Kibana访问filebeat时,查看 filebeat主机实时收集的信息

./filebeat -e -c filebeat.yml

相关推荐
JXJD200411 小时前
光模块自动化组装设备 工艺体系与选型指南
运维·自动化
AOwhisky11 小时前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
宠友信息11 小时前
社区类源码开发实践中的仿小红书系统技术要点分析
java·spring boot·redis·mysql·uni-app·vue·内容运营
斑马13911 小时前
Linux软件编程学习笔记(四)——进程
linux·运维·服务器
扛枪的书生12 小时前
Linux 三剑客 - Awk 命令指南
linux·运维
OceanBase数据库官方博客12 小时前
亮相“十五五”公积金高质量发展大会“AI 数据库”助力智慧公积金升级
数据库·人工智能
MaximusCoder12 小时前
等保测评命令——weblogic
运维·安全·安全威胁分析
Lyra_Infra12 小时前
MySQL Docker 误删恢复:binlog PITR
mysql·docker·命令行
龙虾PRO13 小时前
高并发场景数据库调优实操:目标定位、监控方法与优化维度全解析
数据库·oracle
达梦产品与服务13 小时前
SQLark 实战 | 高频 SQL 脚本的导入、管理与复用
数据库·sql·数据库开发·数据库运维·脚本管理·sqlark百灵连接·sql脚本