- SaltStack 教程
- SaltStack - 主页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建一个简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - Git 作为文件服务器
- 使用MinionFS作为文件服务器
- SaltStack - 将 Cron 与 Salt 结合使用
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 进行加盐
- 云基础设施的盐
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用的资源
- 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。
日志级别
日志级别按指定的数字值排序。Python 库默认定义了大部分日志记录级别。除此之外,Salt 使用了更多级别。下面解释了一些级别。
日志级别:错误;level 值为 40 - 表示错误的日志语句记录。
日志级别:安静;level 值为 1000 - 表示此级别不应记录任何内容。
日志级别:信息;level值为20 - 表示正常的日志信息。
日志级别:警告;level 值为 30 - 表示警告时的日志语句记录。
日志级别:调试;level 值为 10 - 对于调试 salt 实现和 salt 代码有用的信息。
log_level:跟踪;level 值为 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 是开源的;服务器端安全数据处理管道。让我们考虑一个使用 LogStash 的 Salt 中的简单 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 。