Docker部署ELK


環境

  • centos 7.0(至少需要3G內存,該安裝包較大)
  • docker 19.0
  • ELK鏡像 sebp/elk(7.6.0版本)

Docker安裝部署ELK

  選擇的是sebp/elk鏡像,這里基本沒有什么需要配置的,docker search elk 找到stars最多的pull下來。

docker pull sebp/elk


  先把對應的文件都拷貝到宿主機當中

1.創建文件夾
    mkdir -p /root/data/es/{conf,data}
    mkdir -p /root/data/logstash/config
 
2.在運行容器並且把容器里的配置cp到宿主機當中
     docker run --tid --name elk  sebp/elk
     docker cp -a elk:/opt/kibana/config/kibana.yml .
     docker cp -a elk:/opt/logstash/config .
 3.然后刪除剛才創建的容器
      docker rm -f elk

1 .運行elk

  pull下來之后,因為需要修改kibana配置,和logstash配置,所以把一些常用的配置掛載到容器目錄

1.命令
    docker run -tid -p 5601:5601 -p 5044:5044 -p 9200:9200 -p 9300:9300 \
     -v /root/data/es/conf/kibana.yml:/opt/kibana/config/kibana.yml \
     -v /root/data/es/data:/var/lib/elasticsearch \
     -v /root/data/logstash/config:/opt/logstash/config \
     --restart=always --name elk sebp/elk
 
2.命令解釋
    -p 5601:5601 映射kibana端口
    -p 9200:9200 映射es端口
    -p 5044:5044 映射logstash端口
    -v /root/data/es/conf/kibana.yml:/opt/kibana/config/kibana.yml 掛載kibana配置文件
    -v /root/data/es/data:/var/lib/elasticsearch 掛載es數據源
    -v /root/data/logstash/config:/opt/logstash/config  掛載logstash配置
    --restart=always  自動啟動

2.配置logstash

  進入到logstash的配置文件夾,會看到如下的配置,examlogstash.conf是新添加的配置文件,pilelines.yml是管理配置文件的路徑。


  這里我把配置文件加載的目錄改成了opt可以不用改,在掛載目錄的時候把/etc/logstash/conf.d/*.conf路徑給掛載出來。


  修改配置,輸入端口可以根據需求自定義一個對外提供的端口號,注意格式一定要正確,不然會報錯。


配置完成之后,在重啟一下elk就ok了

1.docker restart elk


3.漢化kibana

  在宿主機找到剛才掛載到容器里的kibana.yml文件,在里面加入i18n.locale: "zh-CN"這行配置,然后重啟下容器就ok了。


windows安裝filebeat客戶端

  從官網下載windows版本的filebeat客戶端,配置filebeat.yml

  這里配置了logstash的路徑,還有要抓取的本機目錄


運行抓取日志

 .\filebeat -e -c filebeat.yml

kibana配置

  成功抓取的日志以后進入到kibana當中創建索引模式,如果未抓取到日志,那么看下filebeat或者docker logs 是否有錯誤。通常是配置文件語法格式錯誤。


  如果成功抓取,點擊kibana左上方的綠色背景的D字。然后點擊索引模式=>創建索引模式,如果已經存在索引那么會顯示你的索引字段,沒有索引的話系統也會給提示的。


  有索引直接輸入索引名匹配就ok了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM