讀發佈!設計與部署穩定的分散式系統(第2版)筆記22_實例層之日誌

来源:https://www.cnblogs.com/lying7/archive/2023/07/10/17525897.html
-Advertisement-
Play Games

![](https://img2023.cnblogs.com/blog/3076680/202307/3076680-20230704152811386-132747394.png) # 1. 記錄日誌 ## 1.1. 傳統的日誌文件仍然是最可靠和最靈活的信息載體 ## 1.2. 日誌文件反映應用 ...


1. 記錄日誌

1.1. 傳統的日誌文件仍然是最可靠和最靈活的信息載體

1.2. 日誌文件反映應用程式內部的活動,因此它們能揭示應用程式的即時行為

1.3. 沒有比日誌文件更鬆散的耦合方式了,而且每個框架或工具都可以抓取日誌文件

2. 成功運用日誌的關鍵事項

2.1. 日誌的存放位置

2.1.1. 對物理機器來說,將它們保存在單獨的驅動器上是個很好的做法

2.1.2. 實例在虛擬機中運行,將日誌文件從應用程式代碼中分離出來也是一個好主意

2.1.2.1. 需要鎖定代碼目錄,並且寫入許可權要儘可能小,甚至沒有

2.2. 日誌級別

2.2.1. 大多數開發人員在編寫日誌時,仿佛自己是日誌文件的主要消費者

2.2.2. 運維團隊的系統管理員和運維工程師將花費更多的時間與這些日誌文件打交道

2.2.3. 記錄日誌應該面向生產環境的運維人員,而非開發人員或測試人員

2.2.4. 任何級別為“錯誤”或“嚴重”的日誌記錄都需要交由運維人員來採取措施

2.2.4.1. 並非所有異常都需要記錄為錯誤,如果僅僅因為用戶輸錯了信用卡號碼,造成驗證組件拋出一個異常,就不需要運維團隊處理

2.2.4.2. 用“錯誤”標記嚴重的系統問題,如斷路器跳閘至“斷開”

2.2.5. 在生產環境中調試日誌

2.2.5.1. 構建過程中添加一個步驟,自動刪除任何啟用“調試”級別或“跟蹤”級別的配置

2.3. 日誌讀者

2.3.1. 需要便於讀者閱讀,這一點高於一切

2.3.1.1. 對信息的誤解會造成經濟損失,影響聲譽

2.3.2. 必須確保日誌文件能向其讀者傳達清晰、準確和可操作的信息

2.3.3. 在格式上應儘可能地便於讀取

2.3.3.1. 缺乏列對齊,且需要從左到右“掃描”來閱讀的格式絕對不能採用

2.4. 巫毒運維

2.4.1. 對早期人類來說,那些能探知不存在的模式的人比不能探知真實模式的人更容易將基因傳遞下來

2.4.1.1. 前者在看到類似豹子身上明暗相間的花紋,便從灌木叢中逃跑

2.4.1.1.1. 假陽性錯誤(所探知的模式是不存在的)的代價很低

2.4.1.2. 後者甚至不能辨認叢林中的豹子

2.4.1.2.1. 假陽性錯誤(所探知的模式是不存在的)的代價很低

2.5. 日誌信息應包含可用於跟蹤事務步驟的標識符,這可能是用戶ID、會話ID、事務ID,甚至是接受請求時分配的任意數字

3. 實例的健康度量指標

3.1. 實例是組成系統的基本構件

3.2. 實例本身並不能說明整個系統的健康狀況

3.3. 可以發出一些度量指標,這些指標可被集中地收集、分析和可視化

3.3.1. 只需要定期在日誌文件中插入一行統計信息,日誌抓取工具越強大,這種做法的優勢越明顯

3.4. 健康狀況檢查是流量管理的重要組成部分

3.4.1. 解釋度量指標是有難度的

3.4.2. 當新實例的健康狀況檢查結果從失敗轉移到通過時,就意味著該應用程式已完成啟動


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # UGUI的Text(文本)組件的介紹及使用 ## 什麼是UGUI的Text(文本)組件? UGUI(Unity Graphic User Interface)是Unity引擎的一套用戶界面系統,而Text(文本)組件是UGUI中用於在游戲界面中顯示文本的組件。該組件可以用於顯示游戲中的文字、數字 ...
  • # 使用Mailx發送郵件 > 環境:CentOS 7 > > 1.安裝mailx > > ``` > yum install mailx -y > ``` > > 2.修改/etc/mail.rc文件 > > ``` > vim /etc/mail.rc > `在最末尾寫入如下三行 (xxx為你的 ...
  • # Centos7中禁止root用戶遠程登錄和修改登錄埠 ## 介紹 > Linux中root用戶許可權比較大,被不法人員獲知賬戶和密碼後,用root登錄後,可以對伺服器做任何操作,對伺服器危害較大,故需要禁止root用戶登錄,並且修改登錄埠,這樣就算root密碼泄露,埠不是預設,也無法登錄服務 ...
  • > 本篇內容主要來源於自己學習的視頻,如有侵權,請聯繫刪除,謝謝。 上一節我們學習了 etcd 讀請求執行流程,這一節,我們來學習 etcd 寫請求執行流程。 ### 1、etcd寫請求概覽 **etcd 一個寫請求執行流程又是怎樣的呢?** ``` sh etcdctl put hello wor ...
  • 摘要:7月8日,華為開發者大會2023(Cloud)華為雲河圖KooMap技術分論壇在東莞溪村順利舉辦。 7月8日,華為開發者大會2023(Cloud)華為雲河圖KooMap技術分論壇在東莞溪村順利舉辦。本次分論壇以“夯實數字孿生底座,點燃燎原星火”為主題,邀請了來自華為的技術專家和產學研領域的行業 ...
  • 1. 系統準備 查看系統信息:cat /proc/version查看 CPU:lscpu 或cat /proc/cpuinfo查看記憶體:free -m查看磁碟空間:cat /proc/meminfo或df -h查看tmp空間(至少1.5G以上):df -h /tmp發現tmp空間太小(安裝DM8需要 ...
  • *最近項目中要做一個拖動排序功能,首先想到的是之前項目中用過的antd自帶的tree和table的拖動排序,但是只能在對應的組建里使用。這裡用的是自定義組件,隨意拖動排序,所以記錄一下實現流程* 1. ***react-dnd*** antd組件的拖動排序都是用的這個庫,使用比較靈活,但是要配置的東 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 介紹 今天介紹一個非常簡單的入門級小案例,就是地圖的捲簾效果實現,各大地圖引擎供應商都有相關示例,很奇怪高德居然沒有,我看了下文檔發現其實也是可以簡單實現的,演示代碼放到文末。本文用到了圖層掩模,即圖層遮罩,讓圖層只在指定範圍內顯示。 實 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...