• 组件日志
    • 日志 Scopes
    • 控制输出
    • 日志轮换
    • 组件调试
    • 相关内容

    组件日志

    Istio 组件采用灵活的日志框架构建,日志框架提供了许多有利于组件操作和诊断的功能。日志记录功能可在组件启动时通过命令行选项进行控制。

    日志 Scopes

    组件输出的记录消息按 scope 分类。scope 表示一组可以作为整体控制的相关日志消息。取决于提供的功能,组件可具有不同的 scope。所有组件都具有 default scope ,用于未分类的日志消息。

    例如,截止当前,Mixer 有 5 个 scope ,表示 Mixer 内不同功能区域:

    • adapters
    • api
    • attributes
    • default
    • grpcAdapterPilot,Citadel 和 Galley 有不同的 scope ,具体参见参考文档。

    每个 scope 都有一个独特的输出级别,取值如下:

    • none
    • error
    • warning
    • info
    • debug其中 none 级别 scope 不产生输出,debug 将产生最大量输出。所有 scope 的默认级别是 info,保证正常条件下 Istio 操作提供适当的日志信息。

    要控制日志输出级别,可使用 —log_output_level 命令行选项。例如:

    1. $ mixs server --log_output_level attributes=debug,adapters=warning

    除从命令行控制输出级别外,还可以使用其 ControlZ 接口控制正在运行的组件的日志输出级别。

    控制输出

    日志消息通常发送到组件的标准输出流。—log_target 选项允许将输出定向到任意数量的其他位置。可以为其选项提供逗号分隔的文件系统路径列表,以及特殊值 stdoutstderr,分别表示标准输出和标准错误流。

    日志消息通常以人性化的格式输出。—log_as_json 选项可用于强制输出为 JSON 格式,以方便于工具处理。

    日志轮换

    Istio 组件可以自动管理日志轮换,这使得将大型日志分解为更小的日志文件变得简单。 —log_rotate 选项允许指定用于轮换的基本文件名。派生名称将用于单个日志文件。

    —log_rotate_max_age 选项允许指定文件轮换发生前的最大天数,而 —log_rotate_max_size 选项允许指定文件轮换发生前的最大大小(以兆字节为单位)。最后,使用 —log_rotate_max_backups 选项可以控制要保留的最大轮换文件数,用于自动删除旧文件。

    组件调试

    使用 —log_caller—log_stacktrace_level 选项可以控制日志信息是否包含程序级别的信息。这在尝试追踪组件中的错误时很有用,但通常不会在日常操作中使用。

    相关内容

    修复 Citadel

    如果 Citadel 表现不正常该怎么办。

    组件内检

    描述如何使用 ControlZ 检测查看单个组件的运行状态。