docker 安装elasticsearch、kibana、logstash

docker安装elasticsearch

docker pull elasticsearch:7.6.2

 查看是否已经下载好镜像

docker images

创建一个启动脚本

touch es.sh
#! /bin/bash
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-e "discovery.type=single-node" \
-e "cluster.name=elasticsearch" \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:7.6.2

授权操作

chmod 777 /mydata/elasticsearch/plugins
chmod 777 /mydata/elasticsearch/data

安装ik分词器

docker exec -it elasticsearch /bin/bash
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
docker restart elasticsearch

访问查看是否安装成功

http://ip:9200,出现下列代表成功

 判断ik分词器是否安装成功

docker安装kibana

下载kibana

docker pull kibana:7.6.2

创建启动脚本 

touch kibana.yml

编辑kibana.yml

server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.119.138:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true

编辑kibana.sh

#! /bin/bash
docker run -d \
  --name=kibana \
  --restart=always \
  -p 5601:5601 \
  -v /kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
  kibana:7.3.0

 查看kibana的日志

docker logs -f <container id>

访问 http://ip:5601

 安装logstash

Logstash 传输管道安装

官方介绍:Logstash is an open source data collection engine with real-time pipelining capabilities。简单来说logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。

Logstash的事件(logstash将数据流中等每一条数据称之为一个event)处理流水线有三个主要角色完成:inputs –> filters –> outputs:

  • inpust:必须,负责产生事件(Inputs generate events),常用:File、syslog、redis、beats(如:Filebeats)
  • filters:可选,负责数据处理与转换(filters modify them),常用:grok、mutate、drop、clone、geoip
  • outpus:必须,负责数据输出(outputs ship them elsewhere),常用:elasticsearch、file、graphite、statsd

  其中inputs和outputs支持codecs(coder&decoder)在1.3.0 版之前,logstash 只支持纯文本形式输入,然后以过滤器处理它。但现在,我们可以在输入 期处理不同类型的数据,所以完整的数据流程应该是:input | decode | filter | encode | output;codec 的引入,使得 logstash 可以更好更方便的与其他有自定义数据格式的运维产品共存,比如:graphite、fluent、netflow、collectd,以及使用 msgpack、json、edn 等通用数据格式的其他产品等。

下载镜像

docker pull logstash:7.6.2

创建启动容器脚本,并设置启动容器命令 

touch logstash.sh
chmod 777 logstash
docker run --name logstash -p 5044:5044 -p 9600:9600 -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \
--link elasticsearch:es \
-v /mydata/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \
-d logstash:7.6.2

创建映射目录

mkdir -p /mydata/logstash/config

拷贝配置文件

docker cp logstash:/usr/share/logstash/config /mydata/logstash/

修改配置文件logstash.yml

修改es的ip为宿主机的IP

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://宿主机IP:9200" ]

修改配置文件logstash.conf

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
 
input {
  beats {
    port => 5044
  }
}
 
output {
  elasticsearch {
    hosts => ["http://宿主机IP:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

修改配置文件pipelines.yml

path.config 修改为刚才创建配置文件的全路径

# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see the documentation:
#   https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html
 
- pipeline.id: main
  path.config: "/usr/share/logstash/config/logstash.conf"

 运行容器(创建的logstash.sh脚本)

sh logstash.sh

查看容器运行日志

 查看正在运行的容器

docker ps -a

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值