1.logstash 简介
是有elastic 开发的一款免费的日志收集数据采集类似于flume
2.logstash的安装环境
这是下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
根据自己的需求在可以到elastic官网查看对应版本的logstash 需要的jave 版本:jave8 不支持jave9
centos7 个人是用的rpm格式:jdk-8u201-linux-x64.rpm
查看jave版本:java -version
3.安装logstash:(推荐方法二)
方法一:
sudo yum install logstash
首先下载安装密钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
然后在 /etc/yum.repos.d/ 文件下创建logstash.repo
[logstash-6.x] name=Elastic repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
-------------------------------------------------
x是对应的版本
方法二:
在这个地址:https://www.elastic.co/cn/downloads/logstash
下载rpm格式的文件直接安装
rpm -ivh *.rpm
4.配置logstash的配置文件
关于配置文件具体需求见关网:https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html
本人将在这提供一个通用版本shipper.conf
input {
file {
type => "register" // 定义的类型名字
path => ["/root/bin/logs/*/_user_register*.log"] //收集文件的路径
start_position => "beginning"
sincedb_path => "/dev/null"
codec => json {
charset => "UTF-8"
}
}
}
output {
if [type] == "register" {
elasticsearch {
hosts => ["147.95.192.187:9200"] --- 高版本是hosts 不是host
index => "xueci_log"
template => "/etc/logstash/conf.d/register.json"
template_name => "register"
template_overwrite => true
manage_template=>true
codec => "json"
}
}
}
-----------------------------------------------------------
从上面知道有一个register.json 文件
{
"index_patterns": "register",
"mappings": {
"doc":{
"properties": { ---见官网
"host": { -- log日志中的 健值
"type": "keyword" --类型 官网供更多类型
},
"hour": {
"type": "keyword"
},
"phone_number": {
"type": "keyword"
},
"phone_id": {
"type": "keyword"
},
"agent_id": {
"type": "long"
},
"playerid": {
"type": "long"
},
"link_agent_id": {
"type": "long"
},
"first_login": {
"type": "long"
},
"time": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" --时间的格式
},
"timeStamp": {
"type": "long" --时间戳
}
}
}}
}
----------------------------------------------------------
在以上两个文件方在/etc/logstash/conf.d 文件下面
5.启动logstash
cd /usr/share/logstash
ln -s /etc/logstash config
bin/logstash -f config/conf.d/shipper.conf
注意这个是启动会报错因为没有回值 默认是9200端口Elasticsearch