在Docker上搭建ELK+Filebeat日誌中心
1.系統: 7
2.docker 1.12.1
ElasticSearch
Elasticsearch 是一個實時的分散式搜尋和分析引擎,它可以用於全文搜尋,結構化搜尋以及分析。它是一個建立在全文搜尋引擎 Apache Lucene 基礎上的搜尋引擎,使用 Java 語言編寫。
Logstash
Logstash 是一個具有實時渠道能力的資料收集引擎,主要用於日誌的收集與解析,並將其存入 ElasticSearch中。
Kibana
Kibana 是一款基於 Apache 開源協議,使用 JavaScript 語言編寫,為 Elasticsearch 提供分析和視覺化的 Web 平臺。它可以在 Elasticsearch 的索引中查詢,互動資料,並生成各種維度的表圖。
Filebeat
引入Filebeat作為日誌蒐集器,主要是為了解決Logstash開銷大的問題。相比Logstash,Filebeat 所佔系統的 CPU 和記憶體幾乎可以忽略不計。
不引入Filebeat
引入Filebeat
啟動ElasticSearch
docker run -d -p 9200:9200 --name elasticsearch elasticsearch
啟動Logstash
# 1. 新建配置檔案logstash.conf input { beats { port => 5044 } } output { stdout { codec => rubydebug } elasticsearch { #填寫實際情況elasticsearch的訪問IP,因為是跨容器間的訪問,使用內網、公網IP,不要填寫127.0.0.1|localhost hosts => ["{$ELASTIC_IP}:9200"] } } # 2.啟動容器,暴露並對映埠,掛載配置檔案 docker run -d --expose 5044 -p 5044:5044 --name logstash -v "$PWD":/config-dir logstash -f /config-dir/logstash.conf
啟動Filebeat
下載地址:
# 1.下載Filebeat壓縮包 wget # 2.解壓檔案 tar -xvf filebeat-5.2.2-linux-x86_64.tar.gz # 3.新建配置檔案filebeat.yml filebeat: prospectors: - paths: - /tmp/test.log #日誌檔案地址 input_type: log #從檔案中讀取 tail_files: true #以檔案末尾開始讀取資料 output: logstash: hosts: ["{$LOGSTASH_IP}:5044"] #填寫logstash的訪問IP # 4.執行filebeat ./filebeat-5.2.2-linux-x86_64/filebeat -e -c filebeat.yml
啟動Kibana
docker run -d --name kibana -e ELASTICSEARCH_URL=http://{$ELASTIC_IP}:9200 -p 5601:5601 kibana
模擬日誌資料
# 1.建立日誌檔案 touch /tmp/test.log # 2.向日志檔案中寫入一條nginx訪問日誌 echo '127.0.0.1 - - [13/Mar/2017:22:57:14 +0800] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36" "-"' >> /tmp/test.log
訪問 http://{$KIBANA_IP}:5601
本文主要講述瞭如何一步步搭建ELK的過程,以及Filebeat在其中所起的作用。
這兒僅僅給大家做了一個演示,要在生產環境中部署時,還需使用資料捲進行資料持久化,容器記憶體問題也需考慮,elasticsearch與logstash都是相對吃記憶體的,如果不加以限制,很可能會拖垮你整個伺服器。
當然安全因素也是大家不能忽視的,如傳輸的安全性、埠許可權的最小化暴露程度,防火牆設定等。
logstash解析日誌格式,如JAVA、nginx、nodejs等日誌;
elasticsearch的常用搜尋語法;
透過kibana製作視覺化圖表;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2991699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用ELK搭建Docker容器化應用日誌中心Docker應用日誌
- ELK+FileBeat日誌分析系統
- Kubernetes 中 搭建 EFK 日誌搜尋中心
- 使用docker搭建ELK分散式日誌同步方案Docker分散式
- Docker 搭建 Nacos 配置中心Docker
- 在CentOS 7上搭建Docker環境CentOSDocker
- docker日誌引擎Docker
- Docker ELK+Filebeat安裝與配置Docker
- 在宿主機上搭建docker映象倉庫Docker
- Docker 容器日誌分析Docker
- Docker容器日誌清理Docker
- docker-compose搭建grafana+loki+promtail日誌系統DockerGrafanaLokiAI
- 基於Docker的日誌分析平臺(二) 環境搭建Docker
- docker 容器日誌清理方案Docker
- 在滴滴雲 DC2 雲伺服器上搭建 ELK 日誌採集系統伺服器
- .NET Core + ELK搭建視覺化日誌分析平臺(上)視覺化
- docker檢視容器日誌命令Docker
- Docker 日誌的 10 大陷阱Docker
- docker 容器日誌集中 ELK + filebeatDocker
- 檢視docker映象的日誌Docker
- Docker容器視覺化監控中心搭建Docker視覺化
- 在linux上怎麼檢視tomcat日誌LinuxTomcat
- 在 R2 上儲存您的 Cloudflare 日誌Cloud
- DFS 避坑手記 (docker 搭建 fastDFS 教程 / 在 CentOS 上搭建 FastDFS+nginx)DockerASTCentOSNginx
- 跟我一起學docker(15)--監控日誌和日誌管理Docker
- Docker容器日誌管理最佳實踐Docker
- ELK+logspout收集Docker日誌Docker
- Docker應用容器日誌資訊收集Docker
- 搭建ELK日誌平臺(單機)
- Docker 日誌都在哪裡?怎麼收集?Docker
- 在 Linux 上用 Bash 指令碼監控 messages 日誌Linux指令碼
- 利用TICK搭建Docker容器視覺化監控中心Docker視覺化
- 詳解Docker容器視覺化監控中心搭建Docker視覺化
- 節點2線上日誌生成歸檔日誌在節點1上的初步分析
- 在FreeBSD上使用DockerDocker
- 在CentOS上安裝dockerCentOSDocker
- 在mac上安裝DockerMacDocker
- 搭建node服務(1):日誌處理