美文网首页
docker部署ELK

docker部署ELK

作者: 春秋不做梦 | 来源:发表于2021-04-06 18:17 被阅读0次

    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: ["<es_url>"]

    username:"elastic"

    password:"<password>"

    setup.kibana:

    host:"<kibana_url>"

    [其中,<password> 是 elastic 用户的密码,<es_url> 是 Elasticsearch 的 URL,<kibana_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

          本文链接:https://www.haomeiwen.com/subject/bwkhxltx.html