zoukankan      html  css  js  c++  java
  • logstash系列-Config File结构和Value Type

    我们的项目是将logstash的整个 .conf文件通过页面表单交互方式配置生成出来,这里放一个设计图纸

     总体来讲:

    一个conf文件包含三个Block(input,filter,output),每个Block由若干个具体的Plugin组成,每个Plugin包含若干个Setting

    每个Setting由settingName和ValueType对应的具体值组成

    具体的三大插件,这篇不做详述,参考官网,这里主要讲Value Type

    上图中,每个setting需要一个具体的确定的value type,支持的value type如下

    Array

    [ {id => 1, name => bob}, {id => 2, name => jane} ]

    看起来像java的list,又像jsonArray,不过这里是用"=>",而不是"=",这个列子中list内部是一个hash,元素间用逗号隔开,开闭是方括号[ ]

    Hash

    match => {
      "field1" => "value1"
      "field2" => "value2"
      ...
    }
    # or as a single line. No commas between entries:
    match => { "field1" => "value1" "field2" => "value2" }

    这个例子是match这个setting的值,看起来又像java的HashMap,hash是键值对的集合,注意:键值对之间使用空格隔开,而非逗号,可以写在同一行

    Number

    port => 33

    这个很好理解,logstash要求number是integer或float,非常明确

    String

    由单引号或双引号包围的字符序列

    Boolean

    值为true或false,注意是小写,不带引号,和java基本一致

    Codec

    codec => "json"

    用于对数据进行encode和decode,仅在input和output插件中使用

    Password,URI,Path

    用的很少,其实就是一些特殊的string

    Bytes

    使用较少

    Comments

    注释,用# 号表示注释

    Escape Sequences

    转义字符,很好理解

    
    :carriage return (ASCII 13)
    
    
    :new line (ASCII 10)
    
    	:tab (ASCII 9)
    
    \:backslash (ASCII 92)
    
    ":double quote (ASCII 34)
    
    ':single quote (ASCII 39)

     

  • 相关阅读:
    转载:QTableView中嵌入可视化组件
    pyqt声音输入
    pyqt二进制和图片的转换
    LeetCode(92):反转链表 II
    LeetCode(91):解码方法
    LeetCode(90):子集 II
    LeetCode(89):格雷编码
    LeetCode(88):合并两个有序数组
    LeetCode(87):扰乱字符串
    LeetCode(86):分隔链表
  • 原文地址:https://www.cnblogs.com/yb38156/p/13085113.html
Copyright © 2011-2022 走看看