• 第九章 设置结构化日志记录(一)


    第九章 设置结构化日志记录(一)

    IRIS 支持结构化日志记录。

    创建多个日志,每个日志用于不同的目的。从以前的产品迁移过来的客户可以像过去一样利用这些日志,但现在还可以将所有日志信息导入一个单一的、中央的、机器可读的日志文件——结构化日志。然后可以将此文件与第三方分析工具一起使用。

    本文概述了结构化日志中的信息,展示了日志示例,并描述了如何启用结构化日志记录。

    结构化日志中可用的信息

    当启用结构化日志记录时,系统会将相同的数据写入结构化日志,它也会写入其他日志(无论哪个)。例如,系统将相同的行写入messages.log 和结构化日志。

    启用结构化日志记录后,结构化日志包含以下所有信息:

    • 写入messages.log 的信息。这包括需要注意的警报、有关系统启动和关闭的信息、有关日志文件和 WIJ 文件的高级信息、有关配置更改 (CPF) 的信息以及与许可相关的信息。
    • 写入审计数据库的信息。详细信息取决于正在审核的事件。

    示例输出

    本部分显示结构化日志记录实用程序的示例输出,用于名称/值对格式和 JSON 格式。

    名称/值对

    以下输出使用格式选项 NVP(名称/值对)。此示例经过编辑以用于显示目的;在实际输出中,每个条目只占一行,条目之间没有空行。

    when="2019-08-01 18:43:02.216" pid=8240 level=SEVERE event=Utility.Event 
    text="Previous system shutdown was abnormal, system forced down or crashed"
    
    when="2019-08-01 18:43:05.290" pid=8240 level=SEVERE event=Utility.Event 
    text="LMF Error: No valid license key. Local key file not found and LicenseID not defined."
    
    when="2019-08-01 18:43:05.493" pid=8240 level=WARNING event=Generic.Event 
    text="Warning: Alternate and primary journal directories are the same"
    
    when="2019-08-01 18:46:10.493" pid=11948 level=WARNING event=System.Monitor 
    text="CPUusage Warning: CPUusage = 79 ( Warnvalue is 75)."
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这种格式中,文件中的每一行都包含一组由空格分隔的名称/值对。每个名称/值对的格式为 name=value,如果 value 包含空格字符,则 value 用括号括起来。日志文件中的行包含以下部分或全部名称/值对:

    NameValue
    host运行 ^LOGDMN 的主机的名称(如果在管道命令中提供)。
    instance运行 ^LOGDMN 的实例的名称(如果在管道命令中提供)。
    when始终包括在内。条目的时间戳,格式为 yyyy-mm-dd hh:mm:ss.sss
    pid始终包括在内。生成条目的进程的 ID
    level始终包括在内。此条目的日志级别。这具有以下值之一: - DEBUG2 用于详细的调试消息(例如十六进制转储)。 - DEBUG 用于不太详细的调试消息。 - INFO 用于信息性消息,包括所有审计事件。 - WARNING 用于指示可能需要注意但未中断操作的问题。 - SEVERE 用于严重错误,表示操作中断的问题。 -FATAL 用于致命错误,表示问题导致系统无法运行。
    event始终包括在内。生成条目的代码的标识符,通常是类名。
    text始终包括在内。解释条目的描述性字符串。
    source作为审计事件源的组件。对于组件,这始终是 %System。当应用程序代码写入事件日志时,source 指示应用程序代码中的组件。
    type对审计事件的信息进行分类。
    group审计事件的组(如果有)。
    namespace生成条目的命名空间。这对于检查特定于名称空间的行为很有用,例如应用程序错误和互操作性产品的活动。

    JSON

    以下输出使用格式选项 JSON。此示例经过编辑以用于显示目的;在实际输出中,每个条目只占一行,条目之间没有空行。

    { "when": "2019-08-07 14:11:04.904", "pid": "8540", "level": "SEVERE", "event": "Utility.Event", 
    "text": "Previous system shutdown was abnormal, system forced down or crashed"}
    
    { "when": "2019-08-07 14:11:08.155", "pid": "8540", "level": "SEVERE", "event": "Utility.Event", 
    "text": "LMF Error: No valid license key. Local key file not found and LicenseID not defined."}
    
    { "when": "2019-08-07 14:11:08.311", "pid": "8540", "level": "WARNING", "event": "Generic.Event", 
    "text": "Warning: Alternate and primary journal directories are the same"}
    
    { "when": "2019-08-07 14:16:13.843", "pid": "10816", "level": "WARNING", "event": "System.Monitor", 
    "text": "CPUusage Warning: CPUusage = 84 ( Warnvalue is 75)."}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这种格式中,文件中的每一行都是一个带有一组属性的 JSON 对象。属性的名称(以及属性中包含的值)与上一节中为名称/值对列出的名称相同。

  • 相关阅读:
    4.NVIDIA Deepstream开发指南中文版--C和C++示例应用程序源详细信息
    SQLSERVER 查询正在执行的SQL语句
    生物素偶联二硒化钨WSe2 (Biotin-WSe2)|羟基修饰PEG化二硒化钨WSe2纳米颗粒 (OH-WSe2)齐岳
    SpringBoot打成jar运行后无法读取resources里的文件
    探索 C++20 的新领域:深入理解 static关键字和核心语言特性测试宏
    jframe生成柱状图片+图片垂直合并+钉钉机器人推送
    力扣:67.二进制求和
    简述@RequestParam与@RequestBody参数注解
    mysql缓存、log、存储引擎、b+数解答
    11、Feign使用最佳实践
  • 原文地址:https://blog.csdn.net/yaoxin521123/article/details/125454831