使用docker compose搭建一個(gè)elk系統(tǒng)的方法
找了不少使用 docker-elk 搭建的博客, 英文的閱讀吃力不說, 鏡像源也是慢的讓人頭皮發(fā)麻, 因此重新編排了一個(gè)docker-compose,源都是從 https://hub.docker.com/ 上找的, 即使拉的國(guó)內(nèi)鏡像源應(yīng)該也能很好的支持了吧?
環(huán)境
- Docker 18.06.0-ce
- docker-compose 1.22.0
給每個(gè)容器最少分配 1G 的內(nèi)存
軟件版本
- logstash: 5.*
- elasticsearch: 5.*
- kibana: 5.*
啟動(dòng)前的配置
在各個(gè)目錄下都有對(duì)應(yīng)的 config 配置, 根據(jù)各自的情況自行處理
拿默認(rèn)的 logstash/confg/test.conf 中的配置舉例:
input { file { #這里的路徑指的是 logstash 容器中的路徑, 外部接入需要使用 volume 進(jìn)行目錄映射 path => "/logs/input/*" } # 在 logstash 容器中的輸入 stdin {} # 因?yàn)樽隽吮镜?000端口和容器5000端口進(jìn)行綁定, 所以可以用 nc 工具測(cè)試一下 # echo "Test Logstash TCP Input Plugin" | nc localhost 5000 tcp { type => "tcp" port => 5000 mode => "server" } } output { file { #這里的路徑指的是 logstash 容器中的路徑, 外部接入需要使用 volume 進(jìn)行目錄映射 path => "/logs/output/%{+yyyy-MM-dd-HH}/%{host}.log" } stdout { codec => rubydebug } elasticsearch { hosts => "elasticsearch:9200" # 這里設(shè)置的 index 在 kibana 中會(huì)用到 index => "file-log-%{+YYYY.MM}" } }
啟動(dòng)容器
執(zhí)行
git clone https://github.com/gaopengfei123123/docker-elk.git && cd docker-elk docker-compose up -d --build
等一會(huì)看到執(zhí)行成功的提示
Creating docker-elk_elasticsearch_1 ... done Creating docker-elk_logstash_1 ... done Creating docker-elk_kibana_1 ... done
在本地瀏覽器輸入 http://localhost:5601/
進(jìn)入 kibana 界面
注意, 第一次啟動(dòng)時(shí)有可能會(huì)出現(xiàn)提示 elasticsearch not found
這類的問題, 可以先等個(gè)一兩分鐘刷新一下就好了, 如果還是不行就谷歌或者提 issue 解決一下
同目錄下輸入
docker-compose stop
則停止所有服務(wù)
測(cè)試一下
在 logs/input/
目錄下新增個(gè) test.log 文件, 然后輸入點(diǎn)東西驗(yàn)證一下, 或者命令行執(zhí)行echo "Test Logstash TCP Input Plugin" | nc localhost 5000
通過 tcp 發(fā)送日志
docker-compose logs -f
查看各容器日志輸出
TODO
- 引入 kafka 做緩沖
- 搭建 es 集群
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker中run命令30個(gè)常用參數(shù)詳解和示例
這篇文章主要給大家介紹了關(guān)于docker中run命令30個(gè)常用參數(shù)的相關(guān)資料,docker?run命令是Docker中最常用的命令之一,用于創(chuàng)建并啟動(dòng)一個(gè)新的容器實(shí)例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01詳解ASP.NET Core 網(wǎng)站在Docker中運(yùn)行
本篇文章主要介紹了詳解ASP.NET Core 網(wǎng)站在Docker中運(yùn)行,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05Docker搭建并啟動(dòng)Logstash的實(shí)現(xiàn)方式
這篇文章主要介紹了Docker搭建并啟動(dòng)Logstash的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Docker?部署?Minio?對(duì)象存儲(chǔ)服務(wù)器的過程詳解
Minio是一個(gè)輕量級(jí)的應(yīng)用程序,可以在各種環(huán)境中運(yùn)行,包括公共云、私有云和混合云,這篇文章主要介紹了Docker?部署?Minio?對(duì)象存儲(chǔ)服務(wù)器的過程詳解,需要的朋友可以參考下2024-07-07Docker環(huán)境搭建Jenkins在構(gòu)建任務(wù)時(shí)控制臺(tái)日志出現(xiàn)中文亂碼的問題
這篇文章主要介紹了Docker環(huán)境搭建Jenkins在構(gòu)建任務(wù)時(shí)控制臺(tái)日志出現(xiàn)中文亂碼的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02