Docker 部署 ElasticSearch & Kibana & Logstash

Docker 部署 ElasticSearch & Kibana & Logstash,第1张

Docker 部署 ElasticSearch & Kibana & Logstash 1、安装elastic search

(1)下载ealastic search和kibana
要求版本必须一致

docker pull elasticsearch:7.6.2
docker pull kibana:7.6.2

(2)配置

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /mydata/elasticsearch/

(3)启动Elastic search

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 
-e  "discovery.type=single-node" 
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" 
-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.6.2 

问题:发现192.168.43.125:9200不可访问 服务不断地退出

解决:保证权限

chmod -R 777 /mydata/elasticsearch/

**(4)设置开机启动elasticsearch **

docker update elasticsearch --restart=always
2安装kabana
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.31.40:9200 -p 5601:5601 -d kibana:7.6.2

2.1设置开机启动kabana

docker update kibana --restart=always

访问Kibana:http://192.168.31.40:5601/app/kibana

3配置ik分词器

(1)进入es容器内部plugin目录

docker exec -it elasticsearch /bin/bash

#移动到plugins目录下

 mkdir ik
 cd ik

上传并解压

unzip elasticsearch-analysis-ik-7.4.2.zip

重启es

docker restart elasticsearch

在elasticsearch-analysis-ik-7.4.2 config 目录下

touch my.dic 

可以在my.dic 自定义一些 词语例如

我爱你中国
新奥新智
叶问
刘备
分词器
EDG牛逼

将分词加入到 配置文件中 并重启ES

vi IKAnalyzer.cfg.xml 

        IK Analyzer 扩展配置
        
        my.dic
         
        
        
        http://192.168.56.10/es/fenci.txt
        
        

3 基于Docker安装Logstash

3.1 启动容器

docker pull logstash:7.4.2
docker run -it -p 4560:4560 --name logstash -d  logstash:7.4.2

3.2 修改配置

docker exec -it logstash /bin/bash
vi /usr/share/logstash/config/logstash.yml

3.3把ip修改成elasticsearch访问地址IP

3.4 修改输入输出配置

vi /usr/share/logstash/pipeline/logstash.conf

配置解释说明:
input:接收日志输入配置
tcp: 协议
mode: logstash服务
port:端口,自己指定。默认4560
output:日志处理输出
elasticsearch: 交给es处理
action:es中index命令。也就是新增命令。
hosts:es的主机
index:存储日志的索引。如果不存在可以自动创建。默认的type名称为doc
一定要先启动编辑状态(点击键盘i键)在粘贴,如果没启用第一行是nput{少个i。

input {
        tcp {
                mode => "server"
                port => 4560
        }
}
filter {
}
output {
        elasticsearch {
                action => "index"
                hosts  => "192.168.56.10:9200"
                index  => "test_log"
        }
}

docker restart logstash

JAVA演示
logback.xml




   

   

   
   

   
   

   
   
      
         INFO
      
      
      
       ${CONSOLE_LOG_PATTERN}
         utf8
      
   
    
    
        192.168.56.10:4560
        
    
   
   
      
      
   


pom 依赖


    org.springframework.boot
    spring-boot-starter-parent
    2.3.3.RELEASE


    
        net.logstash.logback
        logstash-logback-encoder
        6.3
    
    
        org.springframework.boot
        spring-boot-starter-web
    


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5442921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存