docker部署ELK

Elasticsearch安装

下载Elasticsearch7.6.2的docker镜像:

docker pull elasticsearch:7.6.2

修改虚拟内存区域大小,否则会因为过小而无法启动:

sysctl -w vm.max_map_count=262144

使用如下命令启动Elasticsearch服务:

docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \

-e "discovery.type=single-node" \

-e "cluster.name=elasticsearch" \

-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins\

-v/data/elasticsearch/data:/usr/share/elasticsearch/data \

-d elasticsearch:7.6.2


启动时会发现/usr/share/elasticsearch/data目录没有访问权限,只需要修改/data/elasticsearch/data目录的权限,再重新启动即可;

chmod 777 /data/elasticsearch/data/

安装中文分词器IKAnalyzer,并重新启动:

docker exec -it elasticsearch /bin/bash

#此命令需要在容器中运行

elasticsearch-plugin installhttps://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

docker restart elasticsearch

Logstash安装

下载Logstash7.6.2的docker镜像:

docker pull logstash:7.6.2

修改Logstash的配置文件logstash.conf中output节点下的Elasticsearch连接地址为es:9200,配置文件地址:https://github.com/macrozheng/mall/blob/master/document/elk/logstash.conf

output {

  elasticsearch {

    hosts => ["http://elasticsearch:9200"]

    index => "omc-block-server-%{[@metadata][version]}-%{+YYYY.MM.dd}"

    document_id => "%{id}"

  }

  stdout {

    codec => json_lines

  }

}

创建/data/logstash目录,并将Logstash的配置文件logstash.conf拷贝到该目录;

mkdir /data/logstash

使用如下命令启动Logstash服务;

docker run --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 \

--link elasticsearch:es \

-v /data/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf \

-d logstash:7.6.2

进入容器内部,安装json_lines插件。

logstash-plugin install logstash-codec-json_lines

Kibana安装

下载Kibana7.6.2的docker镜像:

docker pull kibana:7.6.2

使用如下命令启动Kibana服务:

docker run --name kibana -p 5601:5601 \

--link elasticsearch:es \

-e "elasticsearch.hosts=http://es:9200"\

-d kibana:7.6.2


访问地址进行测试:http://192.168.10.125:5601

kibana界面中文设置

在kibana.yml尾部添加一行配置即可

i18n.locale: "zh-CN"


Filebeat安装

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-amd64.deb

sudo dpkg -i filebeat-7.6.2-amd64.deb

2 编辑配置

修改 /etc/filebeat/filebeat.yml 以设置连接信息:

output.elasticsearch:

hosts: [""]

username:"elastic"

password:""

setup.kibana:

host:""

[其中, 是 elastic 用户的密码, 是 Elasticsearch 的 URL, 是 Kibana 的 URL。

3 启用和配置 system 模块

sudo filebeat modules enable system

在 /etc/filebeat/modules.d/system.yml 文件中修改设置。

4 启动Filebeat

setup 命令加载 Kibana 仪表板。如果仪表板已设置,请省略此命令。

sudo filebeat setup

sudo service filebeat start

模块状态

确认已从 Filebeat system 模块成功收到数据

检查数据

http://www.macrozheng.com/#/deploy/mall_deploy_docker

你可能感兴趣的:(docker部署ELK)