基于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安装参考网址。

 

posted @ 2020-04-15 10:29  Runner_Jack  阅读(694)  评论(0编辑  收藏  举报