Logstash + Filebeat
- 一、概述
- 二、Logstash使用
- 2.1、下载安装包
- 2.2、解压安装包
- 2.3、下载hina_analytics插件
- 2.4、安装hina_analytics插件
- 2.5、hina_analytics插件参数配置
- 2.6、Logstash 配置
- 2.7、Logstash 启动
- 三、Filebeat使用
- 3.1、下载安装包
- 3.2、解压安装包
- 3.3、Filebeat 配置
- 3.4、启动Filebeat
- 3.5 事件时间限制
- 四、常见问题
- 安装hina_analytics插件报错 ERROR:Installation Aborted, message: certificate verify failed……
- 1.打开logstash安装目录下的/lib/pluginmanager/install.rb文件
- 2.在require “fileutils”下一行添加OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
一、概述
Logstash 是由 Elastic 公司推出的一款开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送指定的存储库中。Logstash 官方介绍。
Filebeat 是 Elastic 公司为解决 Logstash “太重” 的问题推出的一款轻量级日志采集器,在处理数量众多的服务器、虚拟机和容器生成的日志时可使用 Logstash + Filebeat 的日志采集方式。Filebeat 官方介绍。
基于 Logstash + Filbeat 的数据采集流程为:后端 SDK 生成数据文件 => Filebeat 读取文件 => Logstash Beat input => Logstash hina_analytics output => 海纳云。
日志文件数据格式:每一行都是一个json,参照数据格式
二、Logstash使用
进入Logstash官网,可以选择自己需要的下载和安装方式,下面是linux平台安装说明;
2.1、下载安装包
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.2.0.tar.gz
2.2、解压安装包
tar -zxvf logstash-7.2.0.tar.gz
2.3、下载hina_analytics插件
下载地址:资源下载
2.4、安装hina_analytics插件
安装之前先修改Gemfile中的source,可以提高安装速度
vim Gemfile
修改为source为 https://gems.ruby-china.com
把下载的插件移动到安装包下,执行以下命令,执行时间可能会较长,请耐心等待~~
./bin/logstash-plugin install --no-verify --local logstash-output-hina_analytics-1.0.3.gem
安装完成后可以查看
./bin/logstash-plugin list
看见新安装的插件 logstash-output-hina_analytics 证明安装成功。
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
url | list | 是 | 海纳云的数据接收地址,可同时配置多个数据接收地址,例如:url =>[“http://IP1:8088/hina-cloud-engine/ha “,”http://IP2:8088/hina-cloud-engine/ha “]。 |
project | string | 否 | 项目名,不写默认为 default ,配置后会覆盖事件中和 url 中指定的 project。优先级为:project 参数配置 > 事件中指定 > url 中指定。 |
json_check | boolean | 否 | 是否校验数据格式为JSON,默认否,配置为true,则读取的每条数据必须为JSON,非JSON不处理 |
compress | boolean | 否 | 是否压缩发送数据,默认否,支持gzip压缩 |
thread | number | 否 | 请求发送并发线程数,默认3 |
配置中主要包含 input、filter 和 output 三部分,Logstash 处理日志数据只需配置 input 和 output 即可
Logstash 安装目录下 config 目录,创建 hina_output.conf 配置文件
hina_output.conf 参考示例:
#使用 beats 作为输入
input {
beats {
port => "5566"
}
}
# 使用 hina_analytics 作为输出
output{
hina_analytics {
# 注意:从海纳嗨数平台上获取对应项目下的数据接入地址。
url => "https://xxx.xxx.com/hina-cloud-engine/ha?token=xxx"
}
}
指定 config/hina_output.conf 为输入输出配置文件启动
nohup bin/logstash -f config/hina_output.conf >/dev/null 2>&1 &
三、Filebeat使用
进入Filebeat官网,选择自己需要的下载和安装方式,下面是linux平台安装说明:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.2.0-linux-x86_64.tar.gz
tar -zxvf filebeat-7.2.0-linux-x86_64.tar.gz
3.3、Filebeat 配置
使用 Filebeat 读取服务端产生的埋点日志文件。
Filebeat 默认配置文件为:filebeat.yml,修改filebeat.inputs配置如下:
1、type 指定 log 类型作为 Filebeat 的输入;
2、paths 指定数据文件所在的位置,使用通配符*
匹配后端 SDK 输出的文件名路径。
进入解压目录
vim filebeat.yml
filebeat.yml 参考示例:
# Filebeat 收集 /data/log 目录下所有以log结尾的日志文件
filebeat.inputs:
- type: log
enabled: true
paths:
- /data/log/*.log
# 将数据发送至Logstash
output.logstash:
hosts: ["ip:5566"]
指定 filebeat.yml 为输入输出配置文件启动
nohup ./filebeat -c filebeat.yml >/dev/null 2>&1 &
3.5 事件时间限制
导入错误时间的数据,会影响真实数据分析的准确性,因此默认情况下海纳对事件时间进行限制:
使用后端语言 SDK (如 Java、C# 等)或导入工具(如 Datax、dataimporter、Logstash + Filebeat等),需要导入历史数据,需要联系海纳运营人员,开放历史事件数据限制;
四、常见问题
安装hina_analytics插件报错 ERROR:Installation Aborted, message: certificate verify failed……
1.打开logstash安装目录下的/lib/pluginmanager/install.rb文件
2.在require “fileutils”下一行添加OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
最后编辑:王建华 更新时间:2024-11-20 17:38