文章目录

一、安装Elasticsearch1. 安装Elasticsearch2. 安装IK分词器3. elasticsearch-head 监控的插件4. 配置跨域

二、安装LogStash三、安装kibana四、SpringBoot集成LogStash,将日志输出到ES中五、 启动项目,监控项目运行

提示:以下是本篇文章正文内容,下面案例可供参考

一、安装Elasticsearch

1. 安装Elasticsearch

安装Elasticsearch参考文章

下载镜像

docker pull elasticsearch:7.10.1

创建挂载目录以及配置文件

mkdir -p /mydata/elasticsearch/config

mkdir -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: true

http.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 => 4560

host => "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 ip

index => "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

value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

INFO

${CONSOLE_LOG_PATTERN}

utf8

192.168.128.23:4560

五、 启动项目,监控项目运行

提示:按照以下步骤进行设置

访问kibana,点击 Stack Management 点击 Index Patterns 点击 Create Index Patterns 设置索引模式名,关联索引,点击 Next step 选择时间字段, 点击 Create Index Patterns 设置好的索引模式如下 点击 Discover ,进行项目监控 监控项目运行情况

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: