Docker部署ELK与使用
Posted 慢慢进步的java小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker部署ELK与使用相关的知识,希望对你有一定的参考价值。
ELK搭建与使用
Docker 安装 Elasticsearch
- 拉取镜像
docker pull elasticsearch:7.1.1 - 创建自定义的网络(用于连接到连接到同一网络的其他服务)
docker network create somenetwork - 运行elasticsearch
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:7.1.1 - 查看容器状态
docker ps - 检测 elasticsearch 是否启动成功
curl 127.0.0.1:9200
Docker 安装 Kibana
- 拉取镜像
docker pull kibana:7.1.1 - 运行Kibana
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.1.1 - 浏览器访问测试
http://10.0.0.101:5601/
Docker 安装 Logstash
- 拉取镜像
docker pull logstash:7.1.1 - 创建目录用于存放配置文件(标准商城 bin>docker)
- 启动Logstash 映射上一步创建的目录
docker run -it -d -p 5044:5044 --name logstash --net somenetwork
-v /root/docker/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
-v /root/docker/logstash/conf.d/:/usr/share/logstash/conf.d/
-v /usr/mydata/app/logs/:/usr/mydata/app/logs/ \\
索引模式
-
es自动创建索引使用配置文件
-
创建索引
-
索引查询,实时查询索引 根据刚刚添加的
-
通过开发工具 查询
GET 索引名称/_search
(1). 按条件查询全部
"query":
"match_all":
(2). 按字段的分词查询
"query":
"match":
"message": "honghai"
(3). 按照短语查询 是指, 匹配某个 field 的整个内容, 不再利用分词技术
"query":
"match_phrase":
"message": "honghai"
(4). 模糊查询
"query":
"fuzzy":
"message":"honghai"
(5). 指定查询的字段
"query": "match_all":
, "_source": ["message", "score"]
查看实时日志
日志规范
- 日志级别
error:错误日志,指比较严重的错误,对正常业务有影响,需要运维配置监控的;
warn:警告日志,一般的错误,对业务影响不大,但是需要开发关注;
info:信息日志,记录排查问题的关键信息,如调用时间、出参入参等等;
debug:用于开发DEBUG的,关键逻辑里面的运行时数据;
trace:最详细的信息,一般这些信息只记录到日志文件中。 - 日志要打印出方法的入参、出参
- 建议使用参数占位,而不是用+拼接。
- 不要使用e.printStackTrace(),异常日志不要只打一半,要输出全部错误信息
- 禁止在线上环境开启 debug
- 不要记录了异常,又抛出异常
- 避免重复打印日志
- 日志文件分离
- 核心功能模块,建议打印较完整的日志
以上是关于Docker部署ELK与使用的主要内容,如果未能解决你的问题,请参考以下文章