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

相关推荐
小明铭同学7 分钟前
MySQL 八股文【持续更新ing】
数据库·mysql
大熊程序猿12 分钟前
netcore PowerShell 安装-linux
linux·运维
Mr_Xuhhh17 分钟前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
Fireworkitte21 分钟前
Redis 源码 tar 包安装 Redis 哨兵模式(Sentinel)
数据库·redis·sentinel
Johny_Zhao32 分钟前
Docker 一键安装部署 JumpServer 堡垒机
linux·网络安全·信息安全·云计算·shell·jumpserver·ldap·yum源·系统运维
AIbase202436 分钟前
国内MCP服务平台推荐!aibase.cn上线MCP服务器集合平台
运维·服务器·人工智能
艾立泰智能包装1 小时前
电商分拣的“效率密码”:艾立泰轻量化托盘引领自动化流水线革新
运维·自动化
cpsvps_net1 小时前
Windows内存泄漏自动化
运维·自动化
qq_339282231 小时前
postgressql 如何修改模式的所有表的所有者
数据库