• 基于docker搭建单机测试ELK


    说明:本次使用的windows系统,利用vm进行安装虚拟机,安装的只是单测试单机版elk。

    一、下载vm

    自行官网下载

    二、安装centos7系统

    自己有现成的镜像跳过,没有自行查找资料完成

    三、进行centos系统后进行docker安装

    1)yum install docker(后面一路回车)

    2)进行docker镜像加速

    参考地址:https://www.cnblogs.com/runnerjack/articles/7519070.html

    四、修改host文件

    vi /etc/hosts

    添加以下内容

    ==================

    Ip    elasticsearch

    五、关闭防火墙与selinux

    1)

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    2)     

    setenforce 0
    vim /etc/sysconfig/selinux

    将其中的:

    SELINUX=enforcing

    改成:

    SELINUX=disabled

    六、安装ElasticSearch

    1)安装

    docker pull docker.io/elasticsearch:7.5.2
    docker run -d --name es --restart=always --net=host -e "discovery.type=single-node" docker.io/elasticsearch:7.5.2

    2)配置跨域

    docker exec -it es /bin/bash

    修改 elasticsearch.yml(cd / 后用find -name  elasticsearch.yml进行查找)

    # 显示文件
    ls
    结果如下:
    LICENSE.txt  README.textile  config  lib   modules
    NOTICE.txt   bin             data    logs  plugins
    # 进入配置文件夹
    cd config
    # 显示文件
    ls
    结果如下:
    elasticsearch.keystore  ingest-geoip  log4j2.properties  roles.yml  users_roles
    elasticsearch.yml       jvm.options   role_mapping.yml   users
    # 修改配置文件
    vi elasticsearch.yml
    #==========================================重点在这==================================
    # 加入跨域配置
    http.cors.enabled: true
    http.cors.allow-origin: "*"

    3)重启容器

    docker restart es

    4)验证访问

    http://localhost:9200/

    显示效果如下就成功了

    {
     "name" : "a12CcOw",
     "cluster_name" : "docker-cluster",
     "cluster_uuid" : "Zi4eufCQQ6y88rO0lt9YVw",
     "version" : {
       "number" : "6.3.2",
       "build_flavor" : "default",
       "build_type" : "tar",
       "build_hash" : "053779d",
       "build_date" : "2018-07-20T05:20:23.451332Z",
       "build_snapshot" : false,
       "lucene_version" : "7.3.1",
       "minimum_wire_compatibility_version" : "5.6.0",
       "minimum_index_compatibility_version" : "5.0.0"
     },
     "tagline" : "You Know, for Search"}

    七、安装ElasticSearch-Head

    为什么要安装ElasticSearch-Head呢,原因是需要有一个管理界面进行查看ElasticSearch相关信息

    第一步:拉取

    docker pull mobz/elasticsearch-head:5

    第二步:安装

    docker run -d --name es_admin -p 9100:9100 --restart=always  mobz/elasticsearch-head:5

    第三步:访问地址

    http://localhost:9100/

    见如下效果就成功了

     

    八、安装logstash

    1)

    docker run -d --net=host 
    -v /home/lj/logstash/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf 
    -v /home/lj/logstash/test/:/home/lj/logstash/test/ 
    --restart=always
    --name es_logstash docker.io/logstash:7.5.2

    其中外挂的logstash.conf文件为(文件内容严格遵守缩进,不然不报错而且容器退出):

    input {
      beats {
        port => "5044"
      }
    }
    filter {
        
    }
    output {
      stdout {}
      elasticsearch {
        hosts => ["192.168.253.140:9200"]
        index => "logstash-test-%{+YYYY.MM.dd}"
      }
    }

    2)进入目录cd config ,打开并修改配置文件

    docker exec -it es_logstash /bin/bash

    cd /usr/share/logstash/config

    vi logstash.yml

    修改IP

    xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ]

    xpack.monitoring.elasticsearch.hosts: [ "http://192.168.253.140:9200" ]

    添加以下信息

    xpack.monitoring.elasticsearch.username: elastic
    xpack.monitoring.elasticsearch.password: changme

     重启容器

    docker restart es_logstash

    九、安装kibana

    注意版本一定要比ES低

    1)生成容器

    docker run --name es_kibana -p 5601:5601 -d --net=host --restart=always -e ELASTICSEARCH_URL=http://localhost:9200 docker.io/kibana:7.5.2

    3)    访问:http://localhost:5601/

     

    十、安装filebeat

    1)    拉镜像

    docker pull docker.io/elastic/filebeat:7.5.2

    2)配置文件

    mkdir -p /home/lj/filebeat/config
    vi /home/lj/filebeat/config/filebeat.yml
    filebeat.inputs:
    - type: log
      paths:
        - /var/log/system.log
        - /var/log/wifi.log
    
    output.logstash:
      hosts: ["127.0.0.1:5044"]

    2)    生成容器

    docker run -d --name filebeat 
    -v  /home/lj/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml  
    -v /test/log/:/var/log/ 
    --restart=always docker.io
    /elastic/filebeat:7.5.2

    十一、验证

    在宿主机的/test/log/目录下创建一个wifi.log或system.log文件,随便丢点东西,然后访问http://192.168.253.140:9200/logstash-test-2020.04.15/_search就能查看到数据了,黄色为现在的日期。

     

    可能碰到的问题:

    1.    docker启动报错iptables failed

    解决方案:https://www.cnblogs.com/amoyzhu/p/9329368.html

    2. 本次elk安装参考的网址?

    https://www.jianshu.com/p/a0bd70301eec

    但是文档中的安装与参考的内容有些出入,版本号也不一样。以文档为主,碰到问题可以参考elk安装参考网址。

  • 相关阅读:
    poj 2362 Square (dfs+剪枝)
    三种素数筛法汇总
    2009’河北省高教网络技能大赛一网站建设部分
    寒假每一天
    寒假每一天
    寒假每一天
    寒假每一天
    统计文本文件
    寒假每一天
    寒假每一天
  • 原文地址:https://www.cnblogs.com/runnerjack/p/12703601.html
Copyright © 2020-2023  润新知