Logstash数据收集引擎介绍_第1页
Logstash数据收集引擎介绍_第2页
Logstash数据收集引擎介绍_第3页
Logstash数据收集引擎介绍_第4页
Logstash数据收集引擎介绍_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Logstash数据收集引擎介绍技术创新,变革未来内容:Logstash介绍及安装Logstash快速入门Logstash介绍及安装Logstash介绍及安装:Logstash本身不产生日志,它只是一个内置有分析和转换工具的日志管理工具,是一个接收、处理、转发日志数据的“管道”。利用它,可以方便高效将日志等信息从分布式服务器移动到另一个地方。日志来源inputfilteroutput日志存储LogstashLogstash介绍及安装:主要组成:input : 负责各类日志数据流入的配置,可以是文件、log4j、TCP、Redis.filter:负责对日志数据处理和过滤。output:负责对处理

2、和过滤后的日志数据进行转存,ES、Jdbc、Kafka、Redis.一个logstash运行实例,必须有input和output组件,filter组件可选。Logstash介绍及安装:安装:安装好JDK(1.7或以上)源码包方式安装直接下载logstash-2.3.3.tar.gz 或logstash-all-plugins-2.3.3.tar.gz解压运行 https:/download.elastic.co/logstash/logstash/logstash-2.3.3.tar.gz 执行tar zxvf logstash-2.3.3.tar.gzYum方式安装 rpm -import

3、/GPG-KEY-elasticsearch yum clean all yum install logstash详见:https:/www.elastic.co/guide/en/logstash/2.3/installing-logstash.html目录说明:bin/ 执行目录lib/ ruby包库vendorjruby包库、插件包等Gemfile已安装插件列表Logstash介绍及安装:Logstash快速入门内容: 运行及参数 语法 插件Logstash快速入门:Logstash快速入门:运行及参数:./bin/logstash -VLogstash快速入门:运行标准输入与输出:./

4、logstash -e input stdin output stdout input stdin output stdout ./logstash -f std.confstd.conf语法格式区域数据类型(布尔值,字符串,数值,数组,哈希)条件判断字段引用Logstash快速入门:语法格式 - 区域logstash中,是用来定义区域的区域内,我们可以定义插件,配置属性一个区域内是可以定义多个插件Logstash快速入门:input stdin codec=json output elasticsearch stdout 语法格式 - 数据类型布尔 boolean : ssl_enable

5、= true字节 Bytes :my_bytes = 10MiB # 10485760 bytes字符串 String:name = Hello world“数值 Number:port = 514数组Array:match = datetime, UNIX, ISO8601哈希 Hash:options = key1 = value1, key2 = value2编码解码: codec :codec = json密码型: my_password = “password”路径: my_path = /tmp/logstash“注释: #Logstash快速入门:语法格式 - 条件判断=(等于)

6、, !=(不等于), (大于), =(大于等于)=(匹配正则), !(不匹配正则)in(包含), not in(不包含)and(与), or(或), nand(非与), xor(非或)():复合表达式, !():对复合表达式结果取反Logstash快速入门:语法格式 - 字段引用Logstash 还支持变量内插,在字符串里使用字段引用的方法是这样:Logstash快速入门:插件Logstash快速入门:./bin/plugin list查看已经安装插件输入插件:logstash-input-*格式插件:logstash-codec-*过滤插件:logstash-filter-*输出插件:log

7、stash-output-*插件集地址:/logstash-plugins在线安装:bin/plugin install logstash-output-elasticsearch_java升级插件:bin/plugin updatelogstash-output-elasticsearch_java卸载插件:bin/pluginuninstall logstash-output-elasticsearch_javaLogstash快速入门:Inputs:基于File输入Logstash快速入门:input file codec =. #可选项, codec,默认是plain,可通过这个参数设

8、置编码方式 discover_interval =. #可选项,number,每隔多久去检查被监听的path下是否有新文件。默认值是 15 秒。 exclude =. #可选项,array,不想被监听的文件可以排除出去。 sincedb_path =. #可选项,string,可以通过这个配置定义 sincedb 文件到其他位置。 sincedb_write_interval =. #可选项, number,每隔多久写一次 sincedb 文件,默认是 15 秒。 stat_interval =. #可选项, number,每隔多久检查一次被监听文件状态(是否有更新),默认是 1 秒。 sta

9、rt_position =. #可选项, string , 从什么位置开始读取文件数据,默认是结束位置,类tail -F。 # 如果你是要导入原有数据,把这个设定改成 “beginning”,默认值end path =. # 必选项, array ,定需处理的文件路径, 可以定义多个路径 tags =. # 可选项, array,在数据处理过程中,由具体的插件来添加或者删除的标记 type =. # 可选项, string,自定义将要处理事件类型 Inputs:输入插件Logstash快速入门:https:/www.elastic.co/guide/en/logstash/2.3/input-

10、plugins.htmlInputs:基于File输入Logstash快速入门:input file path = /opt/elk/file1.log,/opt/elk/file2.log start_position = beginning sincedb_path = /opt/elk/logs output stdout input file path=/opt/elk/file1.log,/opt/elk/file2.log,/var/log/*.log type = system start_position = beginning output stdout 可使用 * 通配符

11、:Logstash快速入门:input file path = /opt/elk/file1.log type = “file1 start_position = beginning file path=/opt/elk/file2.log type=file2 start_position = beginning 可定义多个file :Logstash快速入门:Inputs:基于tcp输入Logstash快速入门:input tcp add_field=.#hash类型,可选项,默认 codec=. #可选项,默认plain data_timeout=. #number,可选项,默认-1 h

12、ost=. #可选项,默认 mode=. #可选项,值是server,client其中之一 ,默认是server port=. #端口号,需和另一端匹配 ssl_cacert=. #可选项,一个可用的文件系统路径 ssl_cert=. #可选项,一个可用的文件系统路径 ssl_enable=. #boolean类型,可选项,默认false ssl_key=. #一个可用的文件系统路径,可选项 ssl_key_passphrase=. #密码,可选项,默认nil ssl_verify=. #boolean类型,可选项,默认false tags=. #array类型,可选项 type=. #str

13、ing类型,可选项 input tcp port = 9999 mode = server ssl_enable = false output stdout 例子 :# nc 9999 .#hash类型,可选项,默认 codec=. #可选项,默认plain consumer_threads =.#消费线程线,默认1 group_id =.#消费组Id auto_offset_reset =.#重置smallest or largest从头开始还是从尾开始,结合reset_beginning。 reset_beginning =.#启动时配置的消费者是否重置,默认为false topic_id

14、 =.#话题id zk_connect =. #zookeeper的地址列表 Inputs:基于kafka输入Logstash快速入门:$./bin/kafka-topics.sh -zookeeper :2181 -create -topic mylog -replication-factor 1 -partitions 1$./bin/kafka-console-producer.sh -broker-list :9092 -topic myloginput kafka group_id = “logstash” topic_id =”mylog” zk_connect =”:2181”

15、常用:plain、line、json, json_lines, multilineLogstash 处理流程:input-decode-filter-encode-outputcodecs:格式插件https:/www.elastic.co/guide/en/logstash/2.3/codec-plugins.htmlLogstash快速入门:input stdin output stdout codec = json codecs:jsonLogstash快速入门:input tcp port = 12388 host= codec=json_lines output stdout cod

16、ecs:json_linesLogstash快速入门:codecs:multilineLogstash快速入门:input stdin codec =multiline charset =. # 字符编码 ,可选 max_bytes = # bytes类型,设置最大的字节数,可选 max_lines = #number类型,设置最大的行数,默认是500行,可选 multiline_tag = #string类型,设置一个事件标签,默认是multiline ,可选 pattern =. # string 类型,设置匹配的正则表达式,必选 patterns_dir =. #array类型,可以设置

17、多个正则表达式,可选 negate =. # boolean类型,设置正向匹配还是反向匹配,默认是false,可选 what =. # 设置未匹配的内容是向前合并还是向后合并,previous,next 两个值选择,必选 一段日志:Logstash快速入门:codecs:multilineinput stdin codec =multiline pattern = negate = true what = previous output stdout Logstash快速入门:codecs:multilineLogstash快速入门:codecs:multilinefilter:过滤插件Jso

18、n filterGrok filterKV filterLogstash快速入门:Json filter数据格式是JSON,那么可以通过它把数据解析成你想要的数据结构。Logstash快速入门:Json filterfilter json add_field= . #hash(可选项),默认 ,增加指定字段到事件中 add_tag= . #array(可选项),默认 remove_field= . #array(可选项),默认 ,删除指定字段 remove_tag= . #array(可选项),默认 source= . #string(必选项) target= . #string(可选项) L

19、ogstash快速入门:设置参数:例子:input stdin type = simplefilter json source = message add_field = %myname=%host_%myname remove_field = message output stdout codec = jsonLogstash快速入门:Grok filter grok是目前logstash里最好的一种解析各种非结构化的日志数据的工具文档地址:https:/www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html/lo

20、gstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patternsLogstash快速入门:例子:请求日志: GET /index.html 15824 0.043匹配规则:%IP:client %WORD:method %URIPATHPARAM:request %NUMBER:bytes %NUMBER:duration“client”:”Logstash快速入门:input file path = /opt/elk/http.log type = http start_position = beginning

21、filter grok match = message = %IP:client %WORD:method %URIPATHPARAM:request %NUMBER:bytes %NUMBER:duration output stdoutcodec=jsonLogstash快速入门:例子:KV filter 解析处理key-value这种键值对数据 文档:https:/www.elastic.co/guide/en/logstash/2.3/plugins-filters-kv.htmlLogstash快速入门:filter kv add_field= . #hash(可选项),默认 ,增加

22、指定字段到事件中 add_tag= . #array(可选项),默认 remove_field= . #array(可选项),默认 ,删除指定字段 remove_tag= . #array(可选项),默认 source= . #string(必选项) field_split= . #string(可选项),字段分割符,默认为” “ value_split=.#string(可选项),值分割符,默认为”=“ 例子:input stdin filter kv field_split = &? output stdout codec = rubydebug Logstash快速入门:/s?wd=奥巴

23、马&rsv_spt=1&rsv_iqid=0 x90dd7e610001f239&issp=1&f=3&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=0&oq=奥巴马&rsv_t=b39atb4WgjYrHvo4SnLlmez2VMymtEWBoQPRTiUrWZclFMIv&rsv_pq=b374731e0000037a&prefixsug=奥巴马&rsp=0output:输入插件如何让数据经过logstash的解析和处理后,把结果输出来。filetcp、udpkafkaelasticsearchLogstash快速入门:outp

24、ut:输出到file 把解析过滤的结果,输出到file文件里。Logstash快速入门:output file codec= . #codec(可选项),默认json_lines create_if_deleted= . #boolean(可选项),默认true dir_mode= . #number(可选项),默认-1 file_mode= . #number(可选项),默认-1 flush_interval= . #number(可选项) gzip= . #string(可选项),默认为false path=.#string(必选项) 例子1:output file path = /opt/elk/out.log stdout codec = rubydebug

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论