上一節已經部署好了 Graylog,如今學習如何用它來管理日誌。html
首先啓動測試容器。docker
docker run -d \ --log-driver=gelf \ --log-opt gelf-address=udp://localhost:12201 \ --log-opt tag="log-test-container-A" \ busybox sh -c 'while true; do echo "This is a log message from container A"; sleep 10; done;' docker run -d \ --log-driver=gelf \ --log-opt gelf-address=udp://localhost:12201 \ --log-opt tag="log-test-container-B" \ busybox sh -c 'while true; do echo "This is a log message from container B"; sleep 10; done;'
--log-driver=gelf
告訴 Docker 使用 GELF 的 logging driver。運維
--log-opt gelf-address=localhost:12201
將容器日誌發送到 Graylog 的日誌接收端口。學習
--log-opt tag="log-test-container-A"
和 --log-opt tag="log-test-container-B"
在日誌中添加一個可選的 tag,用於區分不一樣的容器。測試
容器啓動後,點擊 Graylog 頂部菜單 Search
,就可以查詢到容器的日誌了。spa
與 Kibana 同樣,Graylog 也提供了強大的查詢功能,好比輸入關鍵字 container B
能搜索出全部匹配的日誌條目。日誌
與前面 ELK 同樣,這裏咱們只是簡單的將日誌導入到 Graylog。實際上 Graylog 也能夠對日誌進行歸類彙總、分析聚合、建立 Dashboard 等。下面這張圖能夠感覺一下 Graylog 的特性,更多的功能留給你們本身去探索。code
本章介紹了 Docker 日誌管理的方案,咱們由 docker logs
引出了 Docker logging driver;進而學習了 ELK 日誌處理 stack;經過 fluentd logging driver,咱們很容易地將 fluentd 接入到日誌管理方案中;最後咱們還實踐了與 ELK 同等量級的 Graylog。htm
與容器監控同樣,容器日誌管理也是一個百花齊放,高速迭代的技術領域。沒有最好的,只有最適合的。部署
不一樣企業有不一樣的部署規模,有本身的管理流程,有各自的業務目標;運維團隊有不一樣的技術背景,人員結構和工做方式;惟有保持開放的心態,多看、多學、多實踐,才能構建出適合本身的系統。
書籍:
1.《天天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html
2.《天天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html