搭建ELK容器化,so easy

对于熟悉ELK的技术人员来说,ELK的搭建过程是相对比较繁琐。容器化搭建ELK 可以让复杂的事情简单化.

架构简图如下:

docker宿主机操作

安装docker

[root@docker ~]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker- ce.repo

[root@docker ~]# yum install docker-ce -y

[root@docker ~]# systemctl start docker

[root@docker ~]# systemctl enable docker

下载elk整合版镜像

[root@docker ~]# docker search elk |head -2

NAME DESCRIPTION

STARS OFFICIAL AUTOMATED

sebp/elk Collect, search and visualise log data with …

934 [OK]

[root@docker ~]# docker pull sebp/elk

修改内核参数

[root@docker ~]# vim /etc/sysctl.conf

vm.max_map_count=262144

[root@docker ~]# sysctl -p

如果不修改,运行容器时会报下图错误,所以需要提前修改

运行容器


运行容器的docker-host内存需要比较大(我这里测试时为3G)

[root@docker ~]# docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk

修改容器内的logstash配置文件


重启容器

[root@docker ~]# docker restart elk

应用服务器上操作

下载并安装filebeat

[root@filebeat ~]# wget
https://artifacts.elastic.co/downloads/beats/filebeat/filebea t-7.4.2-x86_64.rpm

[root@filebeat ~]# rpm -ivh filebeat-7.4.2-x86_64.rpm

修改filebeat配置文件

启动filebeat服务

[root@filebeat ~]# systemctl restart filebeat

[root@filebeat ~]# systemctl enable filebeat

测试

在应用服务器上操作产生日志

[root@filebeat ~]# yum install vsftpd -y

[root@filebeat ~]# echo 111111 >> /var/log/yum.log

然后通过浏览器访问kibana