2018年3月24日 星期六

S小魚仔S CentOS 7 Install Docker ELK 簡易配置

因為工作需求常常到客戶端採集日誌,又不想繁瑣安裝 「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

#切換「docker-elk」目錄
cd /opt/docker-elk

# docker-compose up 會執行「docker-compose.yml」( -d = 背景執行 )
docker-compose up -d


拉取鏡像...請稍後

#確認「ELK」三個「CONTAINER ID」容器 對應「IMAGE NAMES
sudo docker ps

接下來就是「ELK Docker」通訊端口對應關係
Logstash TCP Input - 5000
Elasticsearch HTTP - 9200
Elasticsearch TCP Transport - 9300
Kibana - 5601

查詢「CONTAINER ID」(容器) 與「Port」(端口) 映射關係
docker port IMAGE NAMES (以此類推)

透過網頁瀏覽「http://IP:5601」( Kibana Web UI )

如何進入「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」-「docker-filebeat