📜  SaltStack-日志记录

📅  最后修改于: 2020-10-31 14:26:22             🧑  作者: Mango


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

配置设定

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

LOG_FILE

盐日志记录通过文件传递,该文件包含本地路径名或网络位置以进行标识。该文件被视为日志文件。

log_file: /var/log/salt/master

在此,依赖于二进制文件的文件在master中执行。同样,您也可以在小兵中执行,如下所示。

log_file: /var/log/salt/minion

您也可以使用远程地址。使用远程地址的语法是-:// :<需要的端口> / <日志功能>。

log_file: udp://loghost:port

在这里,日志工具默认为LOG_USER。

LOG_LEVEL

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

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

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

  • log_level:信息;级别值为20-表示正常日志信息。

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

  • log_level:调试;级别值为10-信息,可用于调试salt实现和salt代码。

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

LOG_LEVEL_LOGFILE

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

log_level_logfile: info

LOG_DATEFMT

它定义了日志日期格式。默认情况下,它表示为&percnt; Y-&percnt; m-&percnt; d&percnt; H:&percnt; M:&percnt; 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.modules设置为在跟踪级别记录。

外部记录处理程序

Salt使用LogStash和Sentry外部日志处理程序进行日志记录。让我们在本章中详细了解它。

LOGSTASH处理程序

LogStash是开源的。服务器端安全数据处理管道。让我们考虑一个使用LogStash的Salt简单的UDP日志处理程序。

在Salt主文件中指定以下更改-

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

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