由于公司很多软件系统,需要做性能方面的指标监控,
最近和同事沟通由我来做这块ELK数据采集处理,之前也是学过es,
在其它公司项目有接触 es 这方面的技术,今天想着51劳动节不是很忙,
把整个实现流程先记录一下,欢迎大家一起沟通交流。。。
环境
Win10 + Docker Desktop
软件/插件安装
es
创建网络
因为docker和kibana需要共享同一个网络,所以利用docker创建一个共享网络es-net
docker network create es-net
查看共享网络
docker network ls
拉取镜像
docker pull elasticsearch:7.12.1
运行容器 Elasticsearch(windows-docker)
docker run -d --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node" -v es-data:/usr/local/elasticsearch7.12.1/data -v es-plugins:/usr/local/elasticsearch7.12.1/plugins -v es-logs:/usr/local/elasticsearch7.12.1/logs --privileged --network es-net -p 9200:9200 -p 9300:9300 elasticsearch:7.12.1
验证安装结果
Ik分词器-进入容器安装插件
cmd
docker exec -it es bash
cd /usr/share/elasticsearch/bin
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
Kibana
拉取镜像
docker pull kibana:7.12.1
运行容器
docker run -d --name kibana -e ELASTICSERACH_HOSTS=http://es:9200 --network=es-net -p 5601:5601 kibana:7.12.1
配置文件位置
通常所在目录
Windows: C:\Program Files\Kibana\config\kibana.yml
Linux: /etc/kibana/kibana.yml
macOS: /usr/local/etc/kibana.yml
通过 win+docker 下载 Kibana配置文件的目录
docker exec -it <kibana-container-name> /bin/bash
cat /usr/share/kibana/config/kibana.yml
验证安装结果
Logstash
拉取镜像
docker pull logstash:7.12.1
启动命令
docker run -d -p 5044:5044 -p 9600:9600 --name logstash --network=es-net logstash:7.12.1
es-net 跟之前 es、kibana对应
软件安装参考资料
Docker上安装部署Elasticsearch(ES)详细教程
Docker上安装部署Elasticsearch(ES)详细教程_docker安装es-优快云博客
Windows基于Docker安装Elasticsearch和 kibana笔记
Windows基于Docker安装Elasticsearch和 kibana笔记_windows docker elasticsearch-优快云博客
Docker安装Logstash
Docker安装Logstash_docker 安装logstash-优快云博客
导入json数据参考资料
Wireshark+Elasticsearch+Kibana打造流量回溯系统
Wireshark+Elasticsearch+Kibana打造流量回溯系统 - 简书
https://www.cnblogs.com/ttzsqwq/p/11077574.html
将json数据导入到ES集群——解决方案对比&填坑日记
https://blog.51cto.com/u_15812686/8699742
解析 JSON 文件并导入到 Elasticsearch 中
Logstash:解析 JSON 文件并导入到 Elasticsearch 中_logstash解析json数据-优快云博客
具体文件配置
见上面-参考资料
需要注意的是,因为是自己的机器容器启动,所以不能使用127.0.0.1,
应该使用本机真实ip192.168.xxx.xxx(自己本地ip),否则就会报错