搜尋

搜尋結果

龐大的Docker Logs該如何處理? | 傳統的syslog幫到你
科技新知
MacauYeah・2024-02-02

平常大家在做單機app時,寫log有很多選擇,最簡單就是寫在檔案中。但在docker container裏面,寫檔案時要注意怎樣保留log檔,避免因為重建container時不見了。 docker 大部份官方預設image,都把log導向至stdout和stderr。這是方便docker做管理,也方便大家使用統一的docker logs指令來查看,即使到了Swarm mode底下,docker service logs也是同樣原理,使用差異不大,頂多就是不保證log的實時性。 如果網路延遲不計較的話,最大問題也是logs怎樣保存的做法。預設就是container刪走的時候,logs也會一借走。單機模式下,沿用最普遍的方法寫log的做法不是不可行,只是考慮到在極端情況下,同一個node節點中,有可能同時運作同一個service服務的多個分身replica,這裏它們寫檔案時就有機會互相搶佔。 筆者認為,比較合理的是外部提供的服務,例如syslog,把寫檔的操作交給節點的Host OS處理。然後就保證好每筆log都會是一條完整的記錄。 以下就以linux Host裏面的syslog,為大家簡介一下設定的步驟。 設定docker 導向 syslog 把該主機的docker daemon etcdockerdaemon.json,設定使用syslog driver,並以特定的方式編寫syslog tag。 quot;logdriverquot; quot;syslogquot;, quot;logoptsquot; quot;tagquot; quot;dockercontainer.ImageName.Name.IDquot; 無腦設定已完成,重啟docker就可以了。 但為了日後管理方便,能把docker log放進獨立的一個檔案中,會更易找問題。所以我們可以進一步設定syslog。我們以Ubuntu 22.04為例,可以在etcrsyslog.d下增加一個設定檔etcrsyslog.d.conf,指定看到syslog tag以dockercontainer為首的記錄,都要獨立抽出來。 # file etcrsyslog.d51docker.conf syslogtag,startswith,quot;dockercontainerquot; varlogdockercontainer.log 為免有檔案權限問題,手動指定檔案的所有權後,才正式重啟syslog。然後所有相關記錄都會寫在varlogdockercontainer.log 滾滾滾滾滾動的log檔 檔案一天一天地長大,如果可以,還是自動清掉太舊的記錄為妙。Linux Syslog,通常也會配著logrotate使用。 筆者亦以Ubuntu 22.04為例子,做了個最簡單的自動滾Log功能。目標就是當log檔案大於1M後,就要重開log檔。舊的log檔最多保留7份,多了就刪掉最舊的。 # file etclogrotate.drsyslogdockercontainer varlogdockercontainer.log rotate 7 size 1M missingok notifempty compress delaycompress sharedscripts postrotate usrlibrsyslogrsyslogrotate endscript 加了設定後,什麼都不用重啟,因為它是Ubuntu 的排程動作,到執行時就會以最新的設定檔執行,詳見etccron.dailylogrotate. 有需要手動測試的話,需要手動呼叫usrsbinlogrotate。加入d參數後,會被視為debug mode,這是官方的說法,但因為debug mode沒有執行效果,更加像是linux中常見的dry run mode。

救狐狸, 如何救?
宗教玄學
熊神進・2021-12-02

#狐狸與風水關係# 1981年中國香港正值英管年代, 也是我國改革開放初期, 香港充滿很多奇妙傳說, 筆者今天說說 溫莎公爵大廈 現址已被改裝為皇室堡 當年發現一件石頭, 石頭出現了數拾只狐狸的影子,而隨後香港就出現狐仙事件。更可怕的, 此後在溫莎公爵大廈頂層的酒樓擺滿月酒的小孩都會死於非命,傳聞是狐仙索命。 筆者曾在當地堪輿, 發現在溫莎公爵大廈商城附近有一座虎豹別墅,當年別墅外的牆上有很多奇奇怪怪, 半仙半人, 半神半鬼新一代藝術氣息的塗鴉。 據說屋主聘用工人, 每天都會在這堵牆上用布抺畫,保證這些畫乾淨漂亮。 這些工人今天用布抹乾淨後, 翌日發現牆上竟然多出來了幾個狐狸頭,他們大吃一驚,昨天明明已經抹了, 共有幾隻的狐狸頭,今天怎麼又多了幾隻?最可怕的, 就是這些狐狸的眼睛深邃黑暗,好像要把人吸進去似的,遠遠看去,非常逼真,大家的驚恐就在坊間流傳,1981年香港狐仙事件就此開始。 狐仙是不是真的出現, 這不是我要說的, 但放生狐狸在很多山頭也曾看過。放生一詞沒有什麼爭議, 而放生行為, 結果才是大家爭辯內容。 大家聽說狐狸,貂等動物要活活被剝皮致死,都非常難過,盡力的出錢買了市場狐狸去放回山上,在放生者眼裡是去救一隻生物,行善必得善報,行惡必得惡果,我們盡力去救渡這些可憐的生物。 我們不爭論放生是ldquo;對rdquo;或是ldquo;不對rdquo;, 我們轉個話題說說ldquo;九尾狐rdquo;, 有關ldquo;九尾狐rdquo;的故事大家可以看看筆者劣作, 而我想說的, 就是請了 ldquo;九尾狐rdquo;的女藝人, 她們給我的回饋都是玄妙的, 其中一位說, 狐仙神化了導演, 導演主動找她, 給了她很多演戲機會。 狐仙並不凶, 有的時候很可愛。我們風水佈局時常常應用狐狸, 其中中國澳門上葡京門前公路種植了很多棵ldquo;狐尾椰子rdquo;, 這就是狐狸應用在風水上。 請參考 httpblog.sina.com.cnsblog_60de52170102ze0h.html httpblog.sina.com.cnsblog_60de52170102xh9w.html httpblog.sina.com.cnsblog_60de52170102xi38.html 如有任何問題,歡迎聯絡: 林小姐 13726267799晚8時後 或加微信號 13726267799 熊神進:澳門 85366618785 公共微信 macaumasterxiong 私人微信 macaumickey 淘寶風水法器店::httpt.cnR212476 Facebook 熊神進澳門風水師 中國澳門風水掌相學會會長(澳門政府註冊) 熊神進玄學信箱 httpsgoo.gljAVv8U

Virtual IP | 為客戶端提供的流動IP
科技新知
MacauYeah・2025-06-11

Virtual IP 雖然我們Docker Swarm、Galera等服務可以很容易地提供到Cluster的功能。但以用戶來講,怎樣知道該連線去那台伺服器,又是另一個問題。用戶不可能逐台伺服器逐台IP去訪問。通常,大家會以為在Cluster服務外部,加個 Load Balancer負載均衡器就已經可以解決問題。但其實Load Balancer本身也需要做Cluster,其中一個掛了,別的也需要頂上。那麼用戶到底是怎樣訪問伺服器的? 我們簡單地,可以經過 Virtual IP 簡稱VIP 來解決這件事。即是把我們網絡服務的域名,綁到VIP上,然後這個VIP可以在不同伺服器上游走,只要有一台伺服器活著,都可以回應這個VIP的請求。而這個VIP的功能,可以經keepalived簡單地做到。 配置 假設我們的配置如下 node 1 IP 192.168.0.2, network interface eth1 node 2 IP 192.168.0.3, network interface eth1 node 3 IP 192.168.0.4, network interface eth1 virtual IP 192.168.0.5 每個node,都有自己的IP,而virtual IP只會附在其中一台機上。 如果在 GaleraCluster 的情況下,可以看成只有virtual IP剛好附在其上的那台機工作,即是以 active passive 的方式運作。 如果在 Docker Swarm 的情況下,在預設模式下就已經有的mesh IP的機制,即使用virtual IP只在其中一台機上運作,但ingress networks都會擴散到所有機器上,所以是active active的方式運作。 設定 Keepalived 在三個node上,都各自安裝 keepalived。以下以 ubuntu 24.04 為例 # ubuntu 24.04 aptget update amp;amp; aptget install keepalived y node 1 的 keepalived 設定 # vim etckeepalivedkeepalived.conf vrrp_instance VI_1 # change interface according to machine status interface eth1 # one node is MASTER, other nodes are BACKUP state MASTER # all nodes in same group must be same value virtual_router_id 101 # higher value will become master # ex, node1 priority 100, node2 priority 200, node3 priority 150. # if node 1, 2, 3 alive, node2 will become master. # if node 2 gone, node 3 will become master. priority 100 # VRRP Advert interval in seconds e.g. 0.92 use default advert_int 1 virtual_ipaddress 192.168.0.5 node 2 的 keepalived 設定 # vim etckeepalivedkeepalived.conf vrrp_instance VI_1 # change interface according to machine status interface eth1 # one node is MASTER, other nodes are BACKUP state BACKUP # all nodes in same group must be same value virtual_router_id 101 # higher value will become master priority 99 # VRRP Advert interval in seconds e.g. 0.92 use default advert_int 1 virtual_ipaddress 192.168.0.5 node 3 的 keepalived 設定 # vim etckeepalivedkeepalived.conf vrrp_instance VI_1 # change interface according to machine status interface eth1 # one node is MASTER, other nodes are BACKUP state BACKUP # all nodes in same group must be same value virtual_router_id 101 # higher value will become master priority 98 # VRRP Advert interval in seconds e.g. 0.92 use default advert_int 1 virtual_ipaddress 192.168.0.5 然後在各node上執行。 systemctl restart keepalived 上述設定中,除了 priority 外,應該所有 config 都一樣。state指的是初始化狀態,在 priority 不為255的情況下,即使設定 MASTER 或 BACKUP ,也會動態改變。又因為 priority 不是動態改變的,為方便管理及人眼辨識,筆者認為priority最高的那個node應該預設為MASTER,可以減少日後發生誤會。 如果一切正常的話,192.168.0.5只會出現在node1上。當node1掛了,192.168.0.5才會出現在node2。當node1、node2同時掛了,192.168.0.5才會出現在node3上。這個VIP,同一時間只會出現當時活著的機器中,priority最高的那一台。priority 最高的那一台,它的狀態為MASTER。這些狀態,我們可以經以下指令確認 # confirm state systemctl status keepalived # confirm ip ip a grep 192.168.0.5 Keepalived 可能的異常 如果 Keepalived 之間無法溝通,每個node都自認為MASTER,192.168.0.5會同時出現在所有node上。這個情況下,網絡請求還是可能的,但當真正出現 failover 故障轉移時,因為 ARP Address Resolution Protocol 等問題,路徑可能無法那上跳到活著的機器上,通常要等個十幾秒才會恢復。在前述的設定中, advert_int 就是各node溝通的時間間隔,以秒為單位。正常若果只有一個MASTER的話,failover可以在一至兩秒內完成。 造成 keepalived 無法溝通的原因很多,其中一個就為設定上的失誤,筆者初期就試過誤設定 virtual_router_id 。在有需要溝通的機器中,應該設定為相同的值。另一個原因則是防火牆,所幸的是 ubuntu 24.04 中, iptables 預設就接受它們之間的連線。如果是其他 Linux 版本,遇到無法溝通的情況,所以先關掉 iptables 服務,或者把 iptables 上的所有 rule 刪掉再試試。

通關 - 經俄邊境自駕 - 內蒙‧滿洲里往西伯利亞‧俄羅斯
走遍世界
莫雪・2019-07-02

通關 經中俄邊境自駕 內蒙 ‧ 滿洲里往西伯利亞 ‧ 俄羅斯 被視為 中國最大口岸 中俄邊境, 氣氛凝重, 心情却是期待hellip; 萬里晴空, 偌大的呼倫貝爾市, 滿洲里口岸廣場 過境前欣賞一下滿洲里的夜色與燦爛燈光吧 美麗的晚上燈光與聞名的套娃廣場 .. 以為中方口岸通關關員動作奇慢、俄方口岸關員更不可思議, 表情木然, 只懂俄語, 不自備俄語翻譯員, 絶對難以過境。 因為有很多刁難, 你不會明白, 而他們又不會理你, 只著你站一旁待著 原來中俄邊境口岸是24小時通關的, 也許是口岸沒有關門的原故, 等候過關的時候, 你會見到俄方關員久不久便換關員, 或是抽烟、或是休息換更 通車關卡鐵門上扣, 一車通過, 才施施然再開大閘門。 此外, 遇有巴士來到, 則巴士與客人優先, 私人車輛則延後入閘受檢 兩國還有巴士互通, 順利通過俄羅斯邊境口岸, 快則超過半天, 慢則hellip; 哈哈, 過了邊境便是西伯利亞的後貝加爾斯克市鎮了。 受檢關內設施簡陋, 但檢查車輌及行李、文件等則嚴格 彷彿以前以前的內地車站 俄羅斯小子這樣傳送行李的呵1hellip;. httpslifemag.cyberctm.comzh_TWblogmsimsi8760%E6%97%A5%E6%9C%AC%E5%BB%A3%E5%B3%B6%E5%9B%9B%E5%9C%8B%E5%96%AE%E8%BB%8A%20%20%E8%87%AA%E9%A7%95%E8%B3%9E%E6%AB%BB%E9%81%8A httpslifemag.cyberctm.comzh_TWblogmsimsi8531仿似動畫片千與千尋里的海邊小火車%20%20%20斯里蘭卡南部海 【編輯聲明】 本篇文章、相片版權屬作者所有,經由版權持有人授權CyberCTM.com發表