开发手册 欢迎您!
软件开发者资料库

SaltStack - 记录

SaltStack日志 - 从简单和简单的步骤学习SaltStack,从基本到高级概念,包括概述,架构,竞争对手,安装,创建简单环境,访问控制系统,作业管理,Salt文件服务器,Git作为文件服务器,使用MinionFS作为文件服务器,使用Cron with Salt,远程执行,配置管理,日志记录,通过SSH盐,Salt for Cloud Infrastructure,Salt Proxy Minions,事件系统,Orchestration,Salt Package Manager,Python API,工作示例。

日志记录用于跟踪正在运行的软件事件.事件由描述性消息描述,该消息可以可选地包含可变数据.盐渍测井方法用于解决您可能遇到的任何问题.您可以查看具体的日志级别.

配置设置

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

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配置密钥.