- 平台介绍
- 接入指引
- 版本信息
- 使用流程
- 功能手册
- 操作视频
- 技术文档
- 基础知识
- 客户端SDK
- 服务端SDK
- 数据导入
- API功能
- SQL手册
- DML
- SQL函数
- 日期函数
- convert_tz
- curdate,current_date
- current_timestamp
- curtime,current_time
- date_add
- date_format
- date_sub
- datediff
- day
- dayname
- dayofmonth
- dayofweek
- dayofyear
- from_days
- from_unixtime
- hour
- makedate
- minute
- month
- monthname
- now
- second
- str_to_date
- time_round
- timediff
- timestampadd
- timestampdiff
- to_date
- to_days
- unix_timestamp
- utc_timestamp
- week
- weekday
- weekofyear
- year
- yearweek
- localtime,localtimestamp
- quarter
- last_day
- extract
- date_trunc
- minutes_add
- minutes_diff
- minutes_sub
- seconds_add
- seconds_diff
- seconds_sub
- hours_add
- hours_diff
- hours_sub
- days_add
- days_diff
- days_sub
- weeks_add
- weeks_diff
- weeks_sub
- months_add
- months_diff
- months_sub
- years_add
- years_diff
- years_sub
- 字符串函数
- append_trailing_char_if_absent
- to_base64
- from_base64
- ascii
- length
- bit_length
- char_length
- lpad
- rpad
- lower
- lcase
- upper
- ucase
- initcap
- repeat
- reverse
- char
- concat
- concat_ws
- substr
- substring
- sub_replace
- ends_with
- starts_with
- trim
- ltrim
- rtrim
- null_or_empty
- not_null_or_empty
- hex
- unhex
- elt
- instr
- locate
- find_in_set
- replace
- left
- right
- strleft
- strright
- split_part
- split_by_string
- substring_index
- money_format
- parse_url
- convert_to
- extract_url_parameter
- uuid
- space
- sleep
- 日期函数
- 数据类型
- 数据管理
- 常见问题
- 合规说明
- 资源下载
- AB测试
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-09-18 16:39