利用elk进行日志提取分析。
安装elasticsearch
创建一个内网组,方便其他组件之间直接通过内网访问,比如logstash和kibana等。
docker network create elk-net
启动Elasticsearch:
docker run -d --name elasticsearch --net elk-net -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.12.0
注意:elasticsearch不支持lastest标签
-d:后台运行
--net:加入内网组
9200用于外部通讯,基于http协议,程序与es的通信使用9200端口。
9300jar之间就是通过tcp协议通信,遵循tcp协议,es集群中的节点之间也通过9300端口进行通信。
discovery.type:使用单机模式
elasticsearch:7.12.0:镜像名加标签
启动后可以使用命令测试
curl http://localhost:9200/
出现如下结果表示安装成功
启动成功后控制台会打印解析完成的信息
image.png
若出现中文乱码,说明log文件不是utf-8格式的
并且也可以直接使用API在es中查询
先用curl http://localhost:9200/_cat/indices?v找到index
image.png
然后查询index中的数据curl http://localhost:9200/logstash-2021.04.14-000001/_search
image.png
可以看到数据已经写入es了,程序可以使用REST API进行查询。
安装kibana
docker run -d --name kibana --network elk-net -p 5601:5601 kibana:7.12.0
打开kibana浏览器页面http://localhost:5601/
配置Index patterns为logstash*
网友评论