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

相关推荐
L***86531 分钟前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
钮钴禄·爱因斯晨4 分钟前
【探索实战】KuratorGitOps 多环境配置管理与合规审计
数据库
Z***G47914 分钟前
【零基础学Mysql】常用函数讲解,提升数据操作效率的利器
数据库·mysql
q***064722 分钟前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
aml258__30 分钟前
MySQL 数据库管理入门:从创建到删除(T1)
数据库·mysql·oracle·初学数据库
悦悦欧呐呐呐呐34 分钟前
数据库事务是什么,怎么用的
服务器·数据库·oracle
q***649742 分钟前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
beata1 小时前
MySQL 索引你真的用对了吗?
mysql
忘记9261 小时前
mybatis是什么
数据库·oracle·mybatis
q***92511 小时前
Springboot3 Mybatis-plus 3.5.9
数据库·oracle·mybatis