ELK学习笔记(三)(本文是在Linux环境下进行)
经过在windows环境下的运行(配置logstash时真的很困难,改了一次又一次),今天是在Linux下的测试环境下进行实战。今天的流程如下:
filebeat => logstash => elasticsearch => kibana
首先声明的是,我们的测试环境下的这些组件都是下载解压好的,可以直接使用,没有配置好的可以自行搜索安装解压教程,网上很多,但注意各个组件的版本号要一致
开始
Filebeat配置
在你创建Logstash管道之前,你需要先配置Filebeat来发送日志行到Logstash:
在安装目录下,也就是data同级,拷贝filebeat.yml,命名为yuxin-filebeat.yml:
filebeat.prospectors:
- type: log //文件类型
#paths:
#- /gsg
paths:
- /gsg/yuxin.log //文件存在的路径
#encoding: utf-8
output.logstash: //输出目的地为logstash
hosts: ["172.18.232.197:5044"] //指定logstash实例
Logstash配置
在安装目录下,也就是bin目录同级,新建.conf文件 命名logstash-yuxin.conf:
input {
beats { host =>"172.18.232.197" port => "5044" }
} // 指定host port, 也就是filebeat指定的logstash实例地址
filter {
grok {
match => {"message" => "%{COMBINEDAPACHELOG}"}
}//grok 过滤器插件是Logstash默认可用的几个插件之一。
}
output { //输出包含了es 、 控制台,会在es实例中不存在yuxin-new索引,则会自动新建yuxin-new索引
elasticsearch{
hosts => ["172.18.232.197:9200"]
index => "yuxin-new"
}
stdout{ codec => rubydebug}
}
Elasticserach启动
在我们的而测试环境中,es是一直启动未关闭的,可以用curl命令查看你的es。
Logstash启动
核心:携带正确的配置文件运行
bin/logstash -f logstash-yuxin.conf --config.test_and_exit
--config.test_and_exit选项的意思是解析配置文件并报告任何错误
bin/logstash -f logstash-yuxin.conf --config.reload.automatic
--config.reload.automatic选项的意思是启用自动配置加载,以至于每次你修改完配置文件以后无需停止然后重启Logstash
Filebeat启动
rm data/registr
./filebeat -e -c yuxin-filebeat.yml -d "publish"
注意:每次重新启动filebeat一定要把之前的register删除掉否则会报错
Kibana启动
直接运行就行:./kibana