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


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

    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 对象。属性的名称(以及属性中包含的值)与上一节中为名称/值对列出的名称相同。

  • 相关阅读:
    FFM论文翻译
    MAC ITEM 解决cd: string not in pwd的问题
    速盾:cdn与云服务区别有哪些方面?
    Blender新手入门笔记收容所(一)
    项目范围管理案例
    淘宝等电商平台API接口评论,item_review-获得商品评论
    SPL工业智能:发现时序数据的异常
    webApplication 、webSite 区别
    作家天地杂志作家天地杂志社作家天地编辑部2022年第23期目录
    Redis三大缓存问题(穿透、击穿、雪崩)
  • 原文地址:https://blog.csdn.net/yaoxin521123/article/details/125454831