📅  最后修改于: 2020-10-31 14:26:22             🧑  作者: Mango
日志记录用于跟踪正在运行的软件事件。事件由描述性消息描述,该消息可以选择包含变量数据。盐测井方法用于解决可能遇到的任何问题。您可以签出特定的日志级别。
让我们详细了解用于日志记录的不同配置设置。
盐日志记录通过文件传递,该文件包含本地路径名或网络位置以进行标识。该文件被视为日志文件。
log_file: /var/log/salt/master
在此,依赖于二进制文件的文件在master中执行。同样,您也可以在小兵中执行,如下所示。
log_file: /var/log/salt/minion
您也可以使用远程地址。使用远程地址的语法是-
log_file: udp://loghost:port
在这里,日志工具默认为LOG_USER。
日志级别按数字分配的值排序。 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: info
它定义了日志日期格式。默认情况下,它表示为% Y-% m-% d% H:% M:% S。
log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
它定义了记录消息的控制台的格式。 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
它定义了记录消息的日志文件的格式。基本语法如下-
%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s
此级别用于更具体地控制日志记录级别。
log_granular_levels:
'salt': 'info'
'salt.modules': ‘trace'
在这里,“信息”级别的主盐库将salt.modules设置为在跟踪级别记录。
Salt使用LogStash和Sentry外部日志处理程序进行日志记录。让我们在本章中详细了解它。
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_handler:
dsn: https://pub-key:secret-key@app.getsentry.com/app-id
log_level: debug
在这里,sentry处理程序的默认日志记录级别是ERROR,但是我们在sentry_handler配置项下定义了调试log_level 。