• logstash自己的日志保存到文件中:log4j2.properties


    status = error 
    dest = err
    name = PropertiesConfig
    
    property.filename = /gwlog/data/logstash/logs
    
    appender.rolling.type = RollingFile
    appender.rolling.name = RollingFile
    appender.rolling.fileName = ${filename}/logstash.log
    appender.rolling.filePattern = ${filename}/logstash-%d{yyyy-MM-dd}-%i.log.gz
    appender.rolling.layout.type = PatternLayout
    appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
    appender.rolling.policies.type = Policies
    appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
    appender.rolling.policies.time.interval = 1
    appender.rolling.policies.time.modulate = true
    appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
    appender.rolling.policies.size.size=50MB
    appender.rolling.strategy.type = DefaultRolloverStrategy
    appender.rolling.strategy.max = 5
    
    appender.console.type = Console
    appender.console.name = plain_console
    appender.console.layout.type = PatternLayout
    appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %m%n
    
    appender.json_console.type = Console
    appender.json_console.name = json_console
    appender.json_console.layout.type = JSONLayout
    appender.json_console.layout.compact = true
    appender.json_console.layout.eventEol = true
    
    rootLogger.level = debug
    rootLogger.appenderRef.rolling.ref = RollingFile
    rootLogger.appenderRef.console.ref = ${sys:ls.log.format}_console

     效果图:到了50M就压缩,压缩到了5M多,最多保留5个压缩包,再有就丢弃旧的压缩包

    0)查看当前logstash安装了哪些插件  ./logstash-plugin list

    1)若logstash没有权限访问某个文件,需要给logstash加到文件所属组或修改文件权限,下面举个修改logstash所属组的例子

    这个例子有点问题,修改所属组时,最好加上-a

    用usermod 命令可把某用户添加进多个附属组,默认情况下,一次性添加多个附属组可用以下方式来添加:

     usermod -G 附属组1,附属组2,...,附属组X  用户名

        但在添加之后若再对该用户添加另外附属组时,使用

        usermod -G 附属组名 用户名  

        会把该用户的附属组覆盖为“附属组名”。此时,可在usermod 命令中添加一个参数 -a 即可。

        usermod -a -G 附属组名 用户名

    2)使用filter插件中的grok插件,格式化apache日志

    4)如果你的时间字段可能有多个格式,则可指定多个可能的日期格式:match => [ "timestamp", "MMM dd YYY HH:mm:ss", "MMM  d YYY HH:mm:ss", "ISO8601" ]

    5)备注:@timestamp 比我们晚了 8 个小时,在kibana显示也是如此。如何能让日志收集时间能和@timestamp一致呢?在date插件中添加如下字段:timezone =>"Asia/Chongqing"

    6)若正则表达式匹配失败,logstash会给tag添加要给叫"_grokparsefailure"的tag

    7)http://blog.sina.com.cn/s/blog_829a682d0101mkwu.html

    8)字段引用

    9)sincedb 文件中记录了每个被监听的文件的 inode, major number, minor number 和 pos。

    10)你可以随意给事件添加字段或者从事件里删除字段

  • 相关阅读:
    Comparable VS Comparator
    Javascript中this关键字详解
    Runtime、System、Object
    JS IDE
    异常处理
    Throwable vs Exception
    8.4 Java 命名规范
    关键字、标识符、注释、变量
    Docker —— 从入门到实践
    RTC教程
  • 原文地址:https://www.cnblogs.com/testzcy/p/7692755.html
Copyright © 2020-2023  润新知