Skip to content

Socket Reader

Sun Jianbo edited this page Jan 16, 2018 · 3 revisions

Socket Reader 是logkit提供的以端口监听的方式接受并读取日志的形式,主要支持tcp\udp\unix套接字 这三大类协议。

典型配置如下

   "reader":{
      "mode":"socket",
      "socket_service_address":"tcp://:5142",
      "socket_max_connections":"0",
      "socket_read_timeout":"0",
      "socket_keep_alive_period":"5m",
      "socket_read_buffer_size":"65535"
    },

配置参数说明

  1. socket_service_address: 必填项,监听的url地址。协议和形式也可以多样化,包括:
    • tcp 监听所有 tcp 协议的数据,如 tcp://127.0.0.1:http
    • tcp4 仅监听 ipv4 地址传输的 tcp 协议数据,如tcp4://:3110
    • tcp6 仅监听 ipv6 地址传输的 tcp 协议数据,如tcp6://:3110 或者 tcp6://[2001:db8::1]:3110
    • udp 监听所有 udp 协议传输的数据,如udp://:3110
    • udp4 仅监听 ipv4 地址传输的 udp 协议数据,如udp4://:3110
    • udp6 仅监听 ipv6 地址传输的 udp 协议数据,如udp6://:3110
    • unix 监听面向字节流的unix套接字的数据传输协议,如unix:///tmp/sys.sock
    • unixgram 监听面向报文的unix套接字的数据传输协议,如unixgram:///tmp/sys.sock
    • unixpacket 监听面向数据包的unix套接字的数据传输协议,如unixpacket:///tmp/sys.sock
  2. socket_max_connections: 非必填项,使用TCP协议时最大并发连接数, 设置 0 为无限制, 默认无限制.
  3. socket_read_timeout: 面向字节流的Socket连接读取的超时时间(tcp\unix),设置 0 为不超时,默认为不超时,填写格式可以包含单位秒(s)、分(m)、时(h),如3s(3秒) 1m(1分钟)等等。
  4. socket_read_buffer_size: 非必填项,读取数据的Buffer大小,默认设置为65535。
  5. socket_keep_alive_period: 非必填项,TCP连接的keep_alive时间,设置为 0 表示关闭keep_alive,填写格式可以包含单位秒(s)、分(m)、时(h),如3s(3秒) 1m(1分钟)等等。
  6. tag_file可选项,可以读取一个json格式的文件,并把json的数据作为标签附着在所有数据之上。典型的应用场景为一些机器或者容器相关的元数据存以json格式放在文件中,logkit发送的数据都带上这些元数据,以便查询时可以快速定位机器元数据,并根据元数据做报警等后续事宜。
Clone this wiki locally