行业知识
docker安装ES、LogStash、Kibana
2026-11-15 16:54:14
来源:互联网转载
文章目录
- 一、安装Elasticsearch
- 1. 安装Elasticsearch
- 2. 安装IK分词器
- 3. elasticsearch-head 监控的插件
- 4. 配置跨域
- 二、安装LogStash
- 三、安装kibana
- 四、SpringBoot集成LogStash,将日志输出到ES中
- 五、 启动项���,监控项目运行
提示:以下是本篇文章正文内容,下面案例可供参考
一、安装Elasticsearch
1. 安装Elasticsearch
安装Elasticsearch参考文章
- 下载镜像
docker pull elasticsearch:7.10.1
- 创建挂载目录以及配置文件
mkdir -p /mydata/elasticsearch/configmkdir -p /mydata/elasticsearch/data#注意:http.host: 0.0.0.0 冒号后有一空格。echo "http.host: 0.0.0.0" >>/mydata/elasticsearch/config/elasticsearch.yml#文件夹赋权chmod -R 777 /mydata/elasticsearch/
- 使用命令启动容器
docker run --name elasticsearch -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.10.1
-e “discovery.type=single-node”:单例模式
-e ES_JAVA_OPTS=“-Xms64m -Xmx128m”:配置内存大小
- 设置容器开机自启
docker update elasticsearch --restart=always
2. 安装IK分词器
- 进入容器
docker exec -it elasticsearch /bin/bash
- 进入插件目录
cd /usr/share/elasticsearch/plugins/
- 安装插件
提示:我用方法一报javax.net.ssl.SSLException异常了,所以采用方法二
提示:ik分词器版本要和elasticsearch版本一致
方法一:
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.1/elasticsearch-analysis-ik-7.10.1.zip
方法二:
- 先使用https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.1/elasticsearch-analysis-ik-7.10.1.zip下载压缩包;
- 上传到Liunx服务器,/mydata/elasticsearch/ik目录下;
- 将Ik压缩包拷贝到docker容器内,语法:docker cp /Linux目录 容器名/ID:docker容器内部路径,执行以下命令:
docker cp /mydata/elasticsearch/ik/elasticsearch-analysis-ik-7.10.1.zip elasticsearch:/usr/share/elasticsearch
- 安装插件,执行下面命令
elasticsearch-plugin install file:/usr/share/elasticsearch/elasticsearch-analysis-ik-7.10.1.zip
- 退出容器,重启docker容器
exit docker restart elasticsearch
3. elasticsearch-head 监控的插件
- 拉取镜像
docker pull mobz/elasticsearch-head:5
- 启动容器
docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5
- 进行访问,如果访问失败,配置一下跨域。
4. 配置跨域
- 进入容器
docker exec -it elasticsearch /bin/bash
- 找到配置文件
vim ./config/elasticsearch.yml
- 添加跨域
http.cors.enabled: truehttp.cors.allow-origin: "*"
- 重启容器
docker restart elasticsearch
- 进行访问
二、安装LogStash
- 拉取镜像, LogStash需要和 elasticsearch的版本号一致
# 1. 查看elasticsearch版本 docker images# 2. 拉取kibana镜像 docker pull logstash:7.10.1
- 启动LogStash容器
docker run -it -p 4560:4560 --name logstash --restart=always -d logstash:7.10.1
- 安装json_lines插件
- 进入容器
docker exec -it logstash /bin/bash
- 安装插件
logstash-plugin install logstash-codec-json_lines
- 修改输入配置,也可以通过挂在目录的方式来修改配置文件
- 继续在容器中–>打开配置文件
vi /usr/share/logstash/config/logstash.yml
- 把ip修改成elasticsearch 访问地址IP
http.host: "0.0.0.0"xpack.monitoring.elasticsearch.hosts: [ "http://esIP:9200" ]
- 修改输出配置
- 继续在容器中–>打开配置文件
vi /usr/share/logstash/pipeline/logstash.conf
- 修改配置,添加以下内容
input {tcp{mode => "server"port => 4560host => "0.0.0.0" # 允许任意主机发送日志codec => json_lines # 格式化数据}}filter {date {# 格式化临时变量中的值赋予下面的target,这个时间字段可用于Kibana的时间查询字段match => ["logdate","yyyy-MM-dd HH:mm:ss.SSS"]target => "@timestamp"}}output {elasticsearch{action => "index"hosts => "esIP:9200" # elasticsearch ipindex => "elk_log" # 索引名,数据保存到那个索引中}stdout {codec => json_lines # 格式化数据 }}- 重启LogStash
docker restart logstash
三、安装kibana
- 拉取镜像, kibana需要和 elasticsearch的版本号一致
# 1. 查看elasticsearch版本 docker images# 2. 拉取kibana镜像 docker pull kibana:7.10.1
- 启动kibana容器
# 1. 方法一docker run -di --name kibana -p 5601:5601 --link elasticsearch:elasticsearch --restart=always kibana:7.10.1或# 2. 方法二docker run -di --name kibana -p 5601:5601 -e ELASTICSEARCH_URL=http://XXX.XXX.XXX.XXX:9200 --restart=always kibana:7.10.1
- –restart=always: 开机启动
- –link:elasticsearch和kibana在同一docker下 --link 后面可以直接写elasticsearch:elasticsearch的容器名
- -e ELASTICSEARCH_URL=http://ES的IP:9200: 设置Kibana连接的Elasticsearch的地址
- 访问页面
四、SpringBoot集成LogStash,将日志输出到ES中
- maven坐标
net.logstash.logback logstash-logback-encoder 6.3
- application.yml
server: port: 80 #tomcat端口 servlet: context-path: /
- logback.xml
INFO ${CONSOLE_LOG_PATTERN} utf8 192.168.128.23:4560五、 启动项目,监控项目运行
提示:按照以下步骤进行设置
- 访问kibana,点击 Stack Management
- 点击 Index Patterns
- 点击 Create Index Patterns
- 设置索引模式名,关联索引,点击 Next step
- 选择时间字段, 点击 Create Index Patterns
- 设置好的索引模式如下
- 点击 Discover ,进行项目监控
- 监控项目运行情况
- 修改配置,添加以下内容
- 把ip修改成elasticsearch 访问地址IP
- 安装插件
上一篇:逆时怎么选择服务器?
下一篇:怎么制造服务器我的世界?