从0开始使用Docker搭建ELK日志分析系统(公司内网)

搭建OS环境

CentOS 7 的服务器(本次ES服务为单节点)

系统构成

使用Logstash进行日志数据收集,将收集的数据转发到ElasticSearch,最后在Kibana进行BI展现

前期准备

下载CentOS用Docker安装相关RPM包
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

本文下载了以下三个RPM文件
docker-ce-19.03.7-3.el7.x86_64.rpm
docker-ce-cli-19.03.7-3.el7.x86_64.rpm
containerd.io-1.2.6-3.3.el7.x86_64.rpm

安装命令:

yum install *.rpm

安装中可能还需要container-selinux
你可以去Centos官网下载并安装

下载相关Docker Image
你可以在外网环境直接Pull Docker Image

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2
docker pull docker.elastic.co/logstash/logstash:7.6.2
docker pull docker.elastic.co/kibana/kibana:7.6.2

也可以在内网环境加载代理后再运行Pull命令
需要下载其他版本的话,可以把7.6.2替换成其他版本

安装及配置

启动ES镜像

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.6.2

多节点的话,可以参考官网的说明
https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docker.html

启动Kibana镜像

docker run --link 你的ES镜像名称或者ID:elasticsearch -p 5601:5601 docker.elastic.co/kibana/kibana:7.6.2

启动Logstash镜像

配置数据收集Pipline

input {
  tcp {
    port => 5044
    codec => json
  }
}
output {
   elasticsearch {
      hosts => ["IP:9200"]
      index => "log_collection_%{+YYYY.MM}"
      document_type => "logs"
   }
}

启动镜像

docker run --rm -it -v 你的本地Pipline目录:/usr/share/logstash/pipeline/ docker.elastic.co/logstash/logstash:7.6.2

验证环境

浏览器访问http://IP:5601能够正确访问Kibana及ES
往5044端口发送一条JSON数据能够再Kibana中正确显示即可

如果有幸帮到你,请帮我点个【赞】

你可能感兴趣的:(从0开始使用Docker搭建ELK日志分析系统(公司内网))