如何用 Graylog 管理日誌? - 每天5分鐘玩轉 Docker 容器技術(93)

jj1130050965發表於2020-12-01

如何用 Graylog 管理日誌? - 每天5分鐘玩轉 Docker 容器技術(93)

原創 CloudMan CloudMan 2017-11-13

第93篇

如何用 Graylog 管理日誌?

 

上一節已經部署好了 Graylog,現在學習如何用它來管理日誌。

首先啟動測試容器。

 

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,就能夠查詢到容器的日誌了。

 

與 Kibana 一樣,Graylog 也提供了強大的查詢功能,比如輸入關鍵字 container B 能搜尋出所有匹配的日誌條目。

 

與前面 ELK 一樣,這裡我們只是簡單的將日誌匯入到 Graylog。實際上 Graylog 也可以對日誌進行歸類彙總、分析聚合、建立 Dashboard 等。下面這張圖可以感受一下 Graylog 的特性,更多的功能留給大家自己去探索。

小結

本章介紹了 Docker 日誌管理的方案,我們由 docker logs 引出了 Docker logging driver;進而學習了 ELK 日誌處理 stack;通過 fluentd logging driver,我們很容易地將 fluentd 接入到日誌管理方案中;最後我們還實踐了與 ELK 同等量級的 Graylog

與容器監控一樣,容器日誌管理也是一個百花齊放,高速迭代的技術領域。沒有最好的,只有最適合的。

不同企業有不同的部署規模,有自己的管理流程,有各自的業務目標;運維團隊有不同的技術背景,人員結構和工作方式;唯有保持開放的心態,多看、多學、多實踐,才能構建出適合自己的系統。

書籍:
1.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html(點選“閱讀原文”直達)

2.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html

相關文章