插一句嘴,我的毕业设计那个B/S架构的电商网站真的是用处太大了,
先说我的点击流 用了毕业设计嵌入了js埋点,做了hive的数据分析,这次日志录入ElasticSearch我的毕设又充当了应用层产生日志
日志存放目录是:/var/logs/e_mall.log
我的日志是daily的 每日产生一个
诸如:e_mall.log.2017-12-12 e_mall.log.2018-1-3 这样
废话不多说 赶紧上正事
由于我还没有深入学习拦截器 所以此次 只用了输入插件file 和输出插件ElasticSearch 接下来会开一篇深入学习filter
我的配置文件:
input {
file {
path => "/var/logs/*.log"
}
}
output{
elasticsearch {
hosts => ["192.168.90.*","192.168.90.*","192.168.90.*"]
index => "e_mall-%{+YYYY-MM-dd}"
}
}
上面的配置是最简化的配置 具体参数配置参考官网即可。
当然 我见过的 logstash-》ElasticSearch
其中还有Redis集群 Redis作为消息队列 作为过渡。
由于部署在业务服务器上的logstash 不能影响生产业务的正常执行 所以建议不要直接对接ElasticSearch分析服务器 最好中间加消息队列 即
logstash->Redis集群->logstash->ElasticSearch集群
我简化了 操作 不过按照生产应该这么配置。
配置完成 后 :
启动logstash
./bin/logstash -f index.conf
其中 index.conf 为我的配置文件
[2018-01-17T16:43:26,983][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["//192.168.90.42", "//192.168.90.43", "//192.168.90.44"]}
[2018-01-17T16:43:26,986][INFO ][logstash.pipeline ] Starting pipeline {"id"=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>250}
[2018-01-17T16:43:27,220][INFO ][logstash.pipeline ] Pipeline main started
[2018-01-17T16:43:27,290][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
看到 Successfully 就说明 编译正常 配置文件无误。
这时候 去访问网站 生成一条日志过来 直接录入ElasticSearch
可以看到
接下来 可以利用kibana 进行 数据的分析和防欺诈行为 等等 基于日志处理的事情了
kibana我之后也会开专题 说明安装和使用
大部分教程 官网都有