因為工作需求常常到客戶端採集日誌,又不想繁瑣安裝 「ELK」,這次我們採用比較熱門 Docker 快速安裝「ELK」,採用「mcmoe and antoineco」作者搭建「Github Docker ELK」版本
PS. 「ELK」版本更新速度非常快,幾乎二週一個版本號。
==關閉「selinux 」======
#關閉「Selinux」為「disabled」才不會阻擋「服務連線」服務
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
PS. 記得關閉「selinux」重開機
==更新「YUM Repository」==
;安裝「Docker」前, 更新「YUM」資源庫。
yum -y update
==安裝「Docker」======
;安裝「Docker」
sudo yum install docker -y
;啟用「Docker」
sudo service docker start
;開機自動「啟動」Docker
sudo chkconfig docker on
;啟用「Docker」狀態
sudo service docker status
==安裝「Docker ELK」======
#安裝「Git」套件
yum install git-all -y
#安裝「Docker Compose」套件
PS. 為什麼要安裝「Docker Compose」套件?
通過 Compose (基于*.YUML语法)文件,在這個檔上面描述應用的架構,如使用什麼鏡像、數據卷、網絡、綁定服務埠等等,然後再用一條命令就可以管理所有的服務 (如啟動、停止、重啓、日誌監控等等)。
sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#賦予「Docker Compose」執行權限
sudo chmod +x /usr/local/bin/docker-compose
#確認「Docker Compose」版本
docker-compose --version
#切換到「Opt」目錄
cd /opt
#下載「Git Hub」elk 套件
git clone https://github.com/deviantony/docker-elk.git
cd /opt/docker-elk
# docker-compose up 會執行「docker-compose.yml」( -d = 背景執行 )
docker-compose up -d
sudo docker ps
Logstash TCP Input - 5000
Elasticsearch HTTP - 9200
Elasticsearch TCP Transport - 9300
Kibana - 5601
查詢「CONTAINER ID」(容器) 與「Port」(端口) 映射關係
docker port IMAGE NAMES (以此類推)
如何進入「Docker ELK」容器 ( CONTAINER )
docker exec -it IMAGE NAMES bash
「Docker ELK」三個( elasticsearch.yml、logstash.conf、kibana.yml ) 設定檔分別在「容器」裡面,必須進入「容器」才可以看到相關配置檔。
#「elasticsearch」設定檔
/usr/share/elasticsearch/config/elasticsearch.yml
#「logstash」設定檔
/usr/share/logstash/pipeline/logstash.conf
#「kibana」設定檔
/usr/share/kibana/config/kibana.yml
參考資料
「Github.com」-「The ELK stack powered by Docker and Compose」
「Github.com」-「docker-filebeat」