这个十一假期就做了个小实践,搭建ELK平台接收并分析syslog日志,
最近容器玩儿的比较多,实践越多越能体会技术发展的本质,因为懒,哈哈,
就说我这个拿ELK搭建syslog日志分析平台吧,
以前都是先把ELK的软件都下载下来,然后手动安装,再配置半天,
这有了容器,就开始想着应该有人已经拿容器封装好了吧,
于是就去dockerhub上搜,还真能搜到,sebp/elk,
https://hub.docker.com/r/sebp/elk/tags,

使用也简单,一条命令搞定,
sudo docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 --name elk sebp/elk,
这多好,5601能直接访问kibana的UI,9200可以收各种直接给elasticsearch的数据,5044可以收syslog日志,要啥有啥,
前几天latest的版本可能有点儿问题,容器run起来访问kibana的UI就一直在那儿转啊转,于是就改成用其它tag的版本,
sudo docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 --name elk sebp/elk:671,
要是这么简单就完了,那也不用写这个blog了,
我要的是能接收并分析任意syslog的ELK,默认run起来的sebp/elk还不行,
默认的sebp/elk是只能接收filebeat吐给logstash的syslog,
那就得进去修改配置,
进到sebp/elk容器里,
sudo docker exec -it 2186fc2c5345 bash,
找到logstash的配置文件,
vim /etc/logstash/conf.d/02-beats-input.conf,
把beat改成tcp,端口不动,把ssl的检查都给它关掉,
input {
tcp {
port => 5044
#ssl => true
#ssl_certificate => "/etc/pki/tls/certs/logstash-beats.crt"
#ssl_key => "/etc/pki/tls/private/logstash-beats.key"
}
}
这样改完的容器就能用了,为了以后实践更方便,趁机保存一个自己的容器镜像,sudo docker commit 2186fc2c5345 myelk:0.1,
以后再想做这样的实践,直接用自己保存的镜像就好了,
sudo docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 --name elk myelk:0.1,
好了,接收并分析syslog日志的ELK平台就这样快速搭好了,
拿我司的vFW发送syslog试试,效果这就出来了,

整个实践过程也就20分钟,因为懒,所以技术在进步,不是吗?