日志记录用于跟踪正在运行的软件事件.事件由描述性消息描述,该消息可以可选地包含可变数据.盐渍测井方法用于解决您可能遇到的任何问题.您可以查看具体的日志级别.
配置设置
让我们详细了解日志记录的不同配置设置.
LOG_FILE
盐日志记录通过文件传递,该文件包含本地路径名或用于标识的网络位置.此文件被视为日志文件.
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;等级值为40 : 它表示错误的日志语句记录.
log_level:quiet;等级值为1000 : 它表示此级别不应记录任何内容.
log_level:info;等级值为20 : 它表示正常的日志信息.
log_level:warn;等级值为30 : 它表示警告时的日志语句记录.
log_level:debug;等级值为10 : 有关调试salt实现和salt代码的信息.
log_level:trace;等级值为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'
这里,'info'级别的Main salt库设置 salt.modules 以记录跟踪级别.
外部日志处理程序
Salt使用LogStash和Sentry外部日志处理程序进行日志记录.让我们在本章中详细了解它.
LOGSTASH处理程序
LogStash是一个开源的;服务器端安全数据处理管道.让我们考虑Salt中使用LogStash的简单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://img01.yuandaxia.cn/Content/img/tutorials/saltstack/ log_level: debug
这里,sentry处理程序的默认日志记录级别是ERROR,但我们在下面定义了debug log_level sentry_handler配置密钥.