logstasha安装与启动,读取文件写入es中
logstasha安装注意事项与启动案例
Logstash 是ELK的主要成员 (logstash ElasticSearch Kibana)主要作用是读取数据,并且提供了过滤器清洗数据,输出数据
我们接下来展示案例,这里需要注意的是: ELK都是同一个公司的出品,所以 组合起来 版本也必须一致
一定要注重版 否则 会有很有奇怪的bug 例如 找不到java_home 或者是findStr命令失效 等等 环境变量明明配置了但是就是出错等原因, 最好选择 7.16.2版本
安装开始:
去官网下载软件 : https://www.elastic.co/cn/downloads/logstash
选择logstash 并且选择 7.16.2版本 下载:
下载到本地后解压软件:
第二步 进入bin目录
我们创建一个weblog.conf的文件,这也是我们要读取目标和输出数据的配置
copy出内容
input{
file{
path=>["C:\Users\Administrator\log\xxxx1.2\bms-web.log"] #需要读取的文件
#监听文件的起始位置,默认是end
start_position => beginning
type=>"data"
sincedb_path => "D:\1.txt"
}
}
filter {
grok {
match => {
# 从原始日志中解析出 trace_id 等其它需要的字段
"message" => "^(?\d{4}\-\d{2}\-\d{2}\s\d{2}\:\d{2}\:\d{2}\.\d{3})\s(?\w{4,5})\s+\T\I\D\:\s*(?[0-9a-f.]{54})\s%{DATA:thread}\s%{DATA:class}\:%{GREEDYDATA:content}$"
}
}
mutate {
remove_field => "message" # 删除原始日志内容节省存储和带宽
}
}
output{
#elasticsearch{ #输出到es
#hosts=>["127.0.0.1:9200"]
#index=>"filedemo"
# document_type => "filedemo"
#}
stdout{codec => rubydebug }
}
编写完了文件bin目录就多了一个weblog.conf文件
启动logstash 测试一下
cmd 进入到 logstash 的bin目录下
输入命令
logstash -f weblog.conf
结果是启动成功 , 我这里是把文件 输出的ES里面了你如果也想输出的ES 需要把 文件的注释解除: 并且还要安装ElasticSearch
output{
elasticsearch{ #输出到es
hosts=>["127.0.0.1:9200"]
index=>"filedemo"
document_type => "filedemo"
}
stdout{codec => rubydebug }
}