
- SaltStack 教程
- SaltStack - 首頁
- SaltStack - 概述
- SaltStack - 架構
- SaltStack - 競爭對手
- SaltStack - 安裝
- 建立簡單的環境
- SaltStack - 訪問控制系統
- SaltStack - 作業管理
- SaltStack - Salt 檔案伺服器
- SaltStack - 使用 Git 作為檔案伺服器
- 使用 MinionFS 作為檔案伺服器
- SaltStack - 使用 Salt 配合 Cron
- SaltStack - 遠端執行
- 配置管理
- SaltStack - 日誌記錄
- SaltStack - 透過 SSH 使用 Salt
- Salt 用於雲基礎架構
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系統
- SaltStack - 編排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用資源
- SaltStack - 快速指南
- SaltStack - 有用資源
- SaltStack - 討論
SaltStack - 日誌記錄
日誌記錄用於跟蹤正在執行的軟體事件。事件由描述性訊息描述,該訊息可以選擇包含可變資料。Salt 日誌記錄方法用於解決您可能遇到的任何問題。您可以檢視特定的日誌級別。
配置設定
讓我們詳細瞭解日誌記錄的不同配置設定。
LOG_FILE
Salt 日誌記錄透過檔案傳遞,該檔案包含用於識別的本地路徑名或網路位置。此檔案被視為日誌檔案。
log_file: /var/log/salt/master
在這裡,檔案取決於在 master 中執行的二進位制檔案。類似地,您也可以在 minion 中執行,如下所示。
log_file: /var/log/salt/minion
您也可以使用遠端地址。使用遠端地址的語法為:<file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>。
log_file: udp://loghost:port
在這裡,Log-facility 預設設定為 LOG_USER。
LOG_LEVEL
日誌級別按數值分配的值排序。Python 庫預設定義了大多數日誌級別。除此之外,Salt 還使用更多級別。下面解釋了一些級別。
log_level: error; level value is 40 − 指示在錯誤時記錄日誌語句。
log_level: quiet; level value is 1000 − 指示在此級別不應記錄任何內容。
log_level: info; level value is 20 − 指示正常的日誌資訊。
log_level: warn; level value is 30 − 指示在警告時記錄日誌語句。
log_level: debug; level value is 10 − 對除錯 Salt 實現和 Salt 程式碼都很有用的資訊。
log_level: trace; level value is 5 − 更詳細的程式碼除錯資訊。
LOG_LEVEL_LOGFILE
它定義要傳送到日誌檔案的郵件級別。
log_level_logfile: info
LOG_DATEFMT
它定義日誌日期格式。預設情況下,它表示為 %Y-%m-%d %H:%M:%S。
log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
LOG_FMT_CONSOLE
它定義控制檯記錄訊息的格式。Salt 使用自定義的 LogRecord 屬性來為控制檯日誌輸出著色。它遵循以下語法:
'%(colorlevel)s' # log level name colorized by level '%(colorname)s' # colorized module name '%(colorprocess)s' # colorized process number '%(colormsg)s' # colorized messages name
LOG_FMT_LOGFILE
它定義日誌檔案記錄訊息的格式。基本語法如下:
%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s
LOG_GRANULAR_LEVELS
此級別用於更具體地控制日誌級別。
log_granular_levels: 'salt': 'info' 'salt.modules': ‘trace'
在這裡,主 Salt 庫在“info”級別將 salt.modules 設定為在跟蹤級別記錄。
外部日誌處理程式
Salt 使用 LogStash 和 Sentry 外部日誌處理程式進行日誌記錄。讓我們在本節中詳細瞭解它。
LOGSTASH 處理程式
LogStash 是一個開源的伺服器端安全資料處理管道。讓我們考慮一個在 Salt 中使用 LogStash 的簡單 UDP 日誌處理程式。
在 Salt master 檔案中指定以下更改:
logstash_udp_handler: host: 127.0.0.1 port: 9999 version: 1 msg_type: logstash
然後在 Logstash 配置檔案中新增更改:
input { udp { port ⇒ 9999 codec ⇒ json } }
這裡,UDP – 是輸入,需要具有 json_event 格式,這就是我們透過網路傳送的內容。
SENTRY 日誌處理程式
Sentry 是生產部署中的即時錯誤跟蹤以及用於重現和修復崩潰的資訊。master 檔案中的預設配置如下所示。
sentry_handler: dsn: https://pub-key:secret-key@app.getsentry.com/app-id log_level: debug
這裡,sentry 處理程式的預設日誌級別為 ERROR,但我們在 sentry_handler 配置鍵下定義了 debug log_level。