SaltStack – 日志记录

SaltStack – 日志记录


日志记录用于跟踪正在运行的软件事件。事件由描述性消息描述,该消息可以选择性地包含可变数据。盐日志记录方法用于解决您可能面临的任何问题。您可以查看特定的日志级别。

配置设置

让我们详细了解日志记录的不同配置设置。

日志文件

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_USER。

LOG_LEVEL

日志级别按数字分配的值排序。默认情况下,Python 库定义了大部分日志记录级别。除此之外,Salt 使用了更多级别。下面解释了一些级别。

  • log_level:错误;级别值为 40 – 它表示错误时的日志语句记录。

  • log_level:安静;级别值为 1000 – 表示在此级别不应记录任何内容。

  • 日志级别:信息;level value is 20 – 它表示正常的日志信息。

  • 日志级别:警告;级别值为 30 – 它表示警告时的日志语句记录。

  • log_level:调试;level value is 10 – 对调试salt实现和salt代码有用的信息。

  • log_level:跟踪;级别值为 5 – 更详细的代码调试信息。

LOG_LEVEL_LOGFILE

它定义了发送到日志文件的消息级别。

log_level_logfile: info

LOG_DATEFMT

它定义了日志日期格式。默认情况下,它表示为 &percntY-&percntm-&percntd &percntH:&percntM:&percntS。

log_datefmt_logfile: '&percntY-&percntm-&percntd &percntH:&percntM:&percntS'

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'

在这里,’info’ 级别的 Main salt 库将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 是生产部署和信息中的实时错误跟踪,用于重现和修复崩溃。主文件中的默认配置定义如下。

sentry_handler:
   dsn: https://pub-key:secret-key@app.getsentry.com/app-id
   log_level: debug

在这里,哨兵处理程序的默认日志级别是 ERROR,但我们在 sentry_handler 配置键下定义了调试log_level

觉得文章有用?

点个广告表达一下你的爱意吧 !😁