久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何理解docker日志引擎

161次閱讀
沒有評論

共計 2252 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關如何理解 docker 日志引擎,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

docker 原生支持眾多的日志引擎,適用于各種不同的應用場景,丸趣 TV 小編對其作一個簡單的說明。

Docker 日志引擎說明

docker 支持的日志引擎如下:

none:關閉 docker 的回顯日志, docker logs 看不到任何輸出。使用這種方式也就意味著無法查看任何容器輸出的日志。

json-file:把每個容器的回顯日志打到每個容器的內部, 形式為 json 文件。在實際使用中, 有些容器在啟動后有大量的回顯日志, 尤其在程序內部報錯時打出的日志信息尤其巨大, 很可能會因為某幾個容器的 json 日志過大而撐爆整個宿主機的磁盤。

syslog:把所有容器的回顯日志打到系統的 syslog 中。

目前 harbor 私有鏡像倉庫使用 docker-compose 方式啟動的話,就默認使用的這種方式。將所有容器的日志都集中收集到一個 harbor-log 的容器中,在執行 docker logs 的時候會提示 logs command is supported only for json-file and journald loggin drivers (got: syslog)。

journald:把所有容器的回顯日志打到系統的 journald 服務中,這是推薦的方式。

fluentd:把所有容器的回顯日志打到 fluentd 服務中。

gelf 把所有容器的回顯日志打到支持 GELF(Graylog Extended Log Format) 格式的服務中, 比如 Graylog 或 Logstash。

修改 docker 日志引擎

修改 docker 配置文件 /etc/docker/daemon.json 如下:

{  log-driver :  journald}

在容器運行時指定其日志引擎:

docker run --log-driver=journald alpint /bin/sh

journald 配置文件說明

# /etc/systemd/jornald.conf 示例:

[Journal]
#Storage=auto  存儲為自動模式,  其他模式有無日志模式,  純內存模式和純磁盤模式
#Compress=yes  默認啟動壓縮功能
#Seal=yes  默認加密,  日志文件為二進制文件,  無法  vim 或 tail  查看
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=1000
#SystemMaxUse=  精確設置日志可以占用的最大磁盤空間
#SystemKeepFree=  保證系統剩余的空間大小
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=no
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg

journald 默認配置下, 默認日志最大限制為所在文件系統容量的 10%

默認配置下, journald 的日志存放在 /var/log/journal 下, 如果該目錄在根分區下, 且根分區空間大小為 10G, 那么 journald 存放日志最大的大小為 1G, 超出 1G 后將刪除最早的日志

也可以精確指定占用的空間大?。?/p>

SystemMaxUse=50M

journalctl 基本用法

journalctl  從頭查看所有日志
journalctl -b  查看本次開機后的所有系統引導日志
journalctl -b -1  顯示上次開機后的系統引導日志,  以此類推
journalctl -f  類似于  tail - f 或 tailf
journalctl /usr/bin/dockerd  后加程序的絕對路徑, 可以顯示該程序的所有日志信息
journalctl -xe systemd  啟動程序失敗時會提示你使用這個命令查看錯誤信息,  其中 x   表示在日志輸出中增加一些解釋性的短文本, e 表示立即跳轉至日志的尾部 

journald 注意事項

journald 配置中,有兩個非常重要的優化項目:

ForwardToSyslog=yes
ForwardToWall=yes

以上兩個參數默認都是 yes 意味著 journald 收集日志后還會轉發到 syslog 中

由此造成的影響是: journald 雖然可以乖乖的按照上面的配置進行日志的清理, 但是 syslog 卻不在 journald 的控制范圍之內

在日志量很大的情況下,syslog 中的日志量也變得巨大, 所以我們需要把上面兩個參數的值改為 no

重啟 journald 服務

systemctl restart systemd-journald.service

關于如何理解 docker 日志引擎就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2252字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 英德市| 龙南县| 于田县| 揭西县| 九台市| 桐城市| 东光县| 东方市| 无为县| 礼泉县| 金山区| 娱乐| 霞浦县| 卢龙县| 南城县| 温泉县| 朔州市| 绥宁县| 墨竹工卡县| 海淀区| 原平市| 涞源县| 隆化县| 贡山| 天津市| 晋州市| 铜川市| 平舆县| 商水县| 塔河县| 法库县| 安康市| 紫金县| 谷城县| 梨树县| 乌苏市| 公主岭市| 志丹县| 虹口区| 皮山县| 临猗县|