基於docker搭建單機測試ELK

2022-04-30 07:45:10 字數 4402 閱讀 4206

說明:本次使用的windows系統,利用vm進行安裝虛擬機器,安裝的只是單測試單機版elk。

二、安裝centos7系統

自己有現成的映象跳過,沒有自行查詢資料完成

三、進行centos系統後進行docker安裝

1)yum install docker(後面一路回車)

2)進行docker映象加速

四、修改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
#修改配置檔案
vi elasticsearch.yml
#****************************************==重點在這******************************====
#加入跨域配置
http.cors.enabled: true

*"

3)重啟容器

docker restart es
4)驗證訪問

顯示效果如下就成功了

,
"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
見如下效果就成功了

八、安裝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 

}filter

output

elasticsearch "}

}

2)進入目錄cd config ,開啟並修改配置檔案

docker exec -it es_logstash /bin/bash

cd /usr/share/logstash/config

vi logstash.yml

修改ip

" ]為

xpack.monitoring.elasticsearch.hosts: [ "

" ]

新增以下資訊

xpack.monitoring.elasticsearch.username: elastic

xpack.monitoring.elasticsearch.password: changme

重啟容器

docker restart es_logstash
注意版本一定要比es低

1)生成容器

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檔案,隨便丟點東西,然後訪問/logstash-test-2020.04.15/_search就能檢視到資料了,黃色為現在的日期。

可能碰到的問題:

解決方案:

基於Docker安裝RabbitMQ 單機版

docker run name rabbitmq d p 15672 15672 p 5672 5672 rabbitmq 3.7.7 management 後台執行 d 設定主機名 hostname 給容器取名為 rabbitmq name rabbitmq rabbitmq 賬號設定為 e ra...

基於docker搭建rabbitmq

前提是安裝了docker的環境,這個我之前的文章中有。安裝rabbitmq的步驟和其他的軟體在docker中安裝步驟類似 1 找到映象中心 2 根據要求 找到指定的版本 tag 我這裡是使用的七牛的映象位址,然後使用的3.7 manager 的乙個版本 3 使用指令拉取image 映象檔案到伺服器 ...

基於docker搭建Samba

1.查詢映象 docker search samba2.拉取映象 docker pull dperson samba3.在本地建立個目錄,以便於容器掛載 mkdir datadchmod 777 data不修改的話連線進去會提示沒有許可權寫入資料 4.啟動映象 docker run it name ...