搭建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
启动Docker
sudo systemctl start docker
也可以在内网环境加载代理后再运行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中正确显示即可
如果有幸帮到你,请帮我点个【赞】