前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ELK:配置使用 Filebeat

ELK:配置使用 Filebeat

作者头像
BUG弄潮儿
发布2021-08-13 10:03:14
3670
发布2021-08-13 10:03:14
举报
文章被收录于专栏:JAVA乐园
0x01:为什么采用 Filebeat

Logstash 是一个 Java 程序,当作为收集日志的 Agent 时,显得太臃肿了。这时需要一个轻量级的日志收集 Agent,其实可以先看看官方是否提供相关的 Agent,现在的需求是收集特定的日志文件, 官方提供了这样的工具:Filebeat,官方给 Filebeat 的定义就是轻量级的日志收集工具。

Filebeat 是基于原先 logstash-forwarder 的源码改造出来的。换句话说:Filebeat 就是新版的 logstash-forwarder,也会是 ELK Stack 在 shipper 端的第一选择。

0x02:安装 Filebeat

2.1 准备条件

  • ELK简介

对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:Logstash(收集)、Elasticsearch(存储 + 搜索)、Kibana(展示)。将这三个组合起来的技术称之为 ELKStack,所以说 ELKStack 指的是 Elasticsearch、Logstash、Kibana 技术栈的结合。

关于 Elastic Stack 的快速安装最新文档请参考官网的安装文档Installing the Elastic Stack,总结得比较完整。

代码语言:javascript
复制
https://www.elastic.co/guide/en/elastic-stack/current/installing-elastic-stack.html
  • ELK 快速安装

安装 Elasticsearch

Elasticsearch 首先需要 Java 环境,所以需要提前安装好 JDK,可以直接使用 yum 安装。也可以从 Oracle 官网下载 JDK 进行安装。开始之前要确保 JDK 正常安装并且环境变量也配置正确。

代码语言:javascript
复制
# 0. 安装 JDK
[root@linux-node1 ~]# yum install java
[root@linux-node1 ~]# java -version
openjdk version "1.8.0_101"
OpenJDK Runtime Environment (build 1.8.0_101-b13)
OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)

# 1. 下载安装 GPG Key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

# 2. 配置 yum 仓库
vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

# 3. 安装
yum install elasticsearch -y

安装 Logstash

与安装 Elasticsearch 一样,在开始部署 Logstash 之前也需要你的环境中正确的安装的 JDK。

代码语言:javascript
复制
# 0. 安装 JDK
[root@linux-node1 ~]# yum install java
[root@linux-node1 ~]# java -version
openjdk version "1.8.0_101"
OpenJDK Runtime Environment (build 1.8.0_101-b13)
OpenJDK 64-Bit Server VM (build 25.101-b13, mixed mode)

# 1. 下载安装 GPG Key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

# 2. 配置 yum 仓库
vim /etc/yum.repos.d/logstash.repo
[logstash-2.3]
name=Logstash repository for 2.3.x packages
baseurl=https://packages.elastic.co/logstash/2.3/centos
gpgcheck=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

# 3. 安装
yum install logstash -y

安装 Kibana

Kibana 是为 Elasticsearch 设计的开源分析和可视化平台。 你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。 你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来。

代码语言:javascript
复制
# 1. 下载安装 GPG Key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

# 2. 配置 yum 仓库
vim /etc/yum.repos.d/kibana.repo
[kibana-4.5]
name=Kibana repository for 4.5.x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

# 3. 安装
yum install kibana -y

小技巧:yum install *.rpm 会验证依赖。 当 yum 下载安装软件包比较慢时,可以用其他快速下载工具下载对应的软件包,然后再安装。

使用 Cobbler 创建 ELKStack 仓库

生产环境一般不能使用外网的 YUM 仓库,可以使用 Cobbler 来创建自己的 yum 仓库。

代码语言:javascript
复制
[root@linux-node1 ~]# cobbler repo add --name=elasticsearch-2.x --mirror=https://packages.elastic.co/elasticsearch/2.x/centos --arch=x86_64 --breed=yum
[root@linux-node1 ~]# cobbler repo add --name=logstash-2.3 --mirror=https://packages.elastic.co/logstash/2.3/centos --arch=x86_64 --breed=yum
[root@linux-node1 ~]# cobbler repo add --name=kibana-4.5 --mirror=http://packages.elastic.co/kibana/4.5/centos --arch=x86_64 --breed=yum
[root@linux-node1 ~]# cobbler reposync

2.2 安装 Filebeat

代码语言:javascript
复制
# 下载并安装 Filebeat 软件包
curl -L -O https://download.elastic.co/beats/filebeat/filebeat-1.3.1-x86_64.rpm
rpm -ivh filebeat-1.3.1-x86_64.rpm

0x03:配置 Filebeat

代码语言:javascript
复制
# 本例主要修改 2 部分参数


[root@linux-node2 conf.d]# egrep -v "#|^$" /etc/filebeat/filebeat.yml
filebeat:
  prospectors:
    -
      paths:
        - /var/log/nginx/access_log_json.log        # 定义日志文件的路径,可以使用 Shell GLOB 匹配
      input_type: log
  registry_file: /var/lib/filebeat/registry
output:
  logstash:            # output 处配置输出到 logstash,其实也可以直接输出到 ES,但不能对日志进行额外处理
    hosts: ["192.168.56.11:5044"]
shipper:
logging:
  files:

可以在这样在 “./filebeat -configtest -e” 前台运行 Filebeat 测试配置文件

0x04: 启动 Filebeat

代码语言:javascript
复制
/etc/init.d/filebeat start

正常启动后,Filebeat 就可以发送日志文件数据到你指定的输出。

0x05:Logstash 配置 input beats 插件

代码语言:javascript
复制
[root@linux-node1 ~]# cat /etc/logstash/conf.d/filebeat.conf 
input {
  beats {
    port => 5044    #Logstash 开启 5044 端口用于接收上面 Filebeat 发送过来的数据
    type => "logs"
    codec => "json"
  }
}


output {
  redis {
    host => "192.168.56.12"
    port => 6379
    db => 6
    data_type => "list"
    key => "filebeat"
  }
}

这样就完成了 Filebeat 收集日志文件数据并发送到 Logstash 的配置。

代码语言:javascript
复制
souce: http://jaminzhang.github.io/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档