云应用引擎 CAE-配置日志采集:新增日志采集

时间:2024-06-06 21:55:01

新增日志采集

最多支持配置 20 条日志采集路径。

  1. 登录CAE控制台
  2. 在左侧导航栏中选择“组件配置”。
  3. “组件配置”页面上方的下拉框中,选择待操作的组件。
  4. 单击“日志采集”模块中的“编辑”
  5. 在右侧弹框中单击“新增日志路径”
  6. 在“日志采集路径”下填入需要采集日志的路径。例如:/var/log/springboot.log。

    图1 配置自定义日志路径

  7. 单击“保存”
  8. 设置高级设置。

    系统默认按行采集显示程序打印的日志。在程序打印日志存在一条完整日志跨占多行的情况下,如果需要采集显示整条日志,您可以设置“日志格式”,开启多行日志。
    • 单行日志:系统默认按行采集日志。
    • 多行日志:多行合并为一行,系统按设置的匹配规则采集日志,不满足匹配规则的日志行会与上一次满足匹配规则的日志行合并为一行。
      • 选择“日志时间”表示采用时间匹配方式。

        时间通配符:“分行模式”选择“日志时间”时,请输入时间通配符。

        例如日志中每条日志发生的时间格式是YYYY-MM-DD hh:mm:ss,则时间通配符按照规则应该填写YYYY-MM-DD hh:mm:ss。

        时间通配符填写示例:

        YY   - year (19)
        YYYY - year (2019)
        M    - month (1)      
        MM   - month (01)
        D    - day (1) 
        DD   - day (01)
        hh   - hours (23)
        mm   - minutes (59)
        ss   - seconds (59) 
        SSS  - millisecond(999)
        hpm     - hours (03PM)
        h:mmpm    - hours:minutes (03:04PM) 
        h:mm:sspm  - hours:minutes:seconds (03:04:05PM)
        hh:mm:ss ZZZZ (16:05:06 +0100)
        hh:mm:ss ZZZ  (16:05:06 CET)   
        hh:mm:ss ZZ   (16:05:06 +01:00)
      • 正则模式:“分行模式”选择“正则模式”时,请根据日志中每条日志开头的格式输入相应的正则表达式。

        正则模式填写示例:

        示例一:

        19:41:33.217 [http-nio-8000-exec-1] ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException: Cannot invoke "com.example.springboothello.controller.HelloController.write()" because "helloController" is null] with root cause
        java.lang.NullPointerException: Cannot invoke "com.example.springboothello.controller.HelloController.write()" because "helloController" is null
        	at com.example.springboothello.controller.HelloController.nullPointException(HelloController.java:234)
        	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        	at java.base/java.lang.reflect.Method.invoke(Method.java:568)

        将上述日志合并为一行的正则配置:^\d{2}:\d{2}:\d{2}。

        不是以时间开头的所有行合并到上一行。

        示例二:

        Exception in thread "main" java.lang.IllegalStateException: A book has a null property
               at com.example.myproject.Author.getBookIds(Author.java:38)
               at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
        Caused by: java.lang.NullPointerException
               at com.example.myproject.Book.getId(Book.java:22)
               at com.example.myproject.Author.getBookIds(Author.java:35)
               ... 1 more

        将上述日志合并为一行的正则配置:^Exception 。

        不是以Exception开头的所有行合并到上一行。

        页面提供正则式校验功能,将日志复制到“日志样例”栏,填写完成“正则模式”后,单击“校验”按钮,可验证填写的正则表达式是否匹配。

  9. 单击“确定”
  10. 使配置生效。

    • 如已完成组件部署,单击页面上方“生效配置”。在右侧弹框中确认配置信息,并单击“确定”,使配置生效。
    • 如未完成组件部署,单击页面上方“配置并部署组件”,在弹框中单击“确定”,待组件部署执行完成后,配置生效。

      生效后可在组件日志页面内查看指定路径组件日志

      图2 查看自定义路径下的日志

support.huaweicloud.com/usermanual-cae/cae_03_0041.html