啊哈哈哈哈,又来到了CSDN,在这里我打算消灭一半技术难题,虽然我tm自己都觉得有点不靠谱。我,一个风骚而又腼腆的男人,一个多情而又绝情的男人,灭霸,打算搞定ELK,hohohohohooha。
一上来我就找到了filebeat这个小婊砸,这货胜在年轻,有活力,轻量级,而且新版出了一个新的concept,开箱即用。搞了一些新的dashboard,配合kibana这个花魁,颇有些相得益彰(狼狈为奸)呢。
为什么我说filebeat是个bitch,因为从根上说作者就不咋地,logstash已经人老珠黄,再加上是java写的,干活不利索,吃的又多,于是创造了filebeat这个bitch,这是什么,典型的喜新厌旧,见异思迁。我灭霸虽然见谁都灭,可是也是有原则的啊,所以要说句公道话(不过filebeat确实活儿好,hhhhh)。
什么,你连dashboard也不知道,你听说过制服诱惑不,就是穿在外面的那层,就是展示,比如nginx的访问量,慢速url,远程ip统计,给你弄一个页面,看下图。
看着换可以是吧?下面,让我们脱掉filebeat那层神秘的外纱。
first,我是centos,下载rpm包,官网走起。
https://www.elastic.co/downloads/beats/filebeat
然后上传到服务器
rpm -vih filebeat-6.2.4等等一串
然后cd /etc/filebeat/modules.d,里面是一堆module,想用哪个就重命名就可以了,我灭霸就喜欢nginx,于是就用nginx这个模块。阿西吧,灭霸开始遇到困难了。
把nginx.yml.disabled 重命名nginx.yml
修改里面的内容vim nginx.yml
对,就是那个prospector,做多行匹配,才能输出正确的日志,不然换行的日志就只能分好几条。
pattern表示正则匹配开始行,nginx的日志最开始是ip,所以就是以数字开头,
negate表示啥来着灭霸忘了,
match选after表示多行合并后面行粘到前面的行的后面,什么玩意。
然后进入/etc/filebeat目录
vim filebeat.yml
然后我们就可以开始配置filebeat了。
第一个就是在es建立template,然后是在kibana建立相应的dashboard。
直连elasticsearch,注意,这个是一般的场景,日志量不大,我测了一下,每秒1w条数据无压力。如果有压力请自行添加kafka跟logstash。
开启debug日志为了方便调试,生产上关了。
然后service filebeat start,就搞定了
最后的最后,特别说明,只有直连es的时候才能用module和dashboard,这就是限制!!!
然后6.24的kibana有bug,日志显示不全,起码nginx日志是这样的,我用5.6.5的es和kibana就没事了。别看我,我tm也不知道为啥。