作家
登录

创业公司做数据分析(四)ELK日志系统

作者: 来源: 2017-04-07 09:19:50 阅读 我要评论

  • start_position,指定肇端攫取地位,“beginning”表示大年夜文件头开端,“end”表示大年夜文件尾开端(类似tail -f)。
  • sincedb_path,与Logstash的一个坑有关。平日Logstash会记录每个文件已经被攫取到的地位,保存在sincedb中,如不雅Logstash重启,那么对于同一个文件,会持续大年夜前次记录的地位开端攫取。如不雅想从新大年夜头攫取文件,须要删除sincedb文件,sincedb_path则是指定了该文件的路径。为了便利,我们可以根据须要将其设置为“/dev/null”,即不保存地位信息。
  • 创虻公司做数据分析(四)ELK日记体系

    output部分,将数据输出到消息队列,以redis为例,须要指定redis server和list key名称。别的,在测试阶段,可以应用stdout来查看输出信息。

    创虻公司做数据分析(四)ELK日记体系

    3. 消息队列–>>Logstash–>>Elasticsearch

    默认情况下,Logstash会在Elasticsearch中建立一个名为“logstash”的模板,所有前缀为“logstash-”的index都邑参照这个模板来建立映射关系,在该模板中申清楚明了要为每个字符串数据建立一个额外的带“.raw”后缀的字段。可以向Elasticsearch来萌芽你的模板,应用API:GET http://localhost:9200/_template。

    这部分是Logstash Indexer的工作,涉及input、filter和output三种插件。在input部分,我们经由过程redis插件将数据大年夜消息队列中掏出来。在output部分,我们经由过程elasticsearch插件将数据写入Elasticsearch。

    创虻公司做数据分析(四)ELK日记体系

    这里,我们重点存眷filter部分,下面列举几个常用的插件,实际应用中根据自珊孟耋大年夜官方文档中查找合适本身营业的插件并应用即可,当然也可以编写本身的插件。

    grok,是Logstash最重要的一个插件,用于将非构造化的文本数据转化为构造化的数据。grok内部应用正则语法对文本数据进行匹配,为了降低应用复杂度,其供给了一组pattern,我们可以直接调用pattern而不须要本身写正则表达式,参考源码grok-patterns。

    grok解析文本的语法格局是%{SYNTAX:SEMANTIC},SYNTAX是pattern名称,SEMANTIC是须要生成的字段名称,应用对象Grok Debugger可以对解析语法进行调试。例如,鄙人面的设备中,我们先应用grok对输入的原始nginx日记信息(默认以message作为字段名)进行解析,并添加新的字段request_path_with_verb(该字段的值是verb和request_path的组合),然后对request_path字段做进一步解析。

    kv,用于将某个字段的值进行分化,类似于编程说话中的字符串Split。鄙人面的设备中,我们将request_args字段值按照“&”进行分化,分化后的字段名称以“request_args_”作为前缀,并且丢弃反复的字段。

    geoip,用于根据IP信息生成地舆地位信息,默认应用自带的一份GeoLiteCity database,也可以本身改换为最新的数据库,然则须要数据格局须要遵守Maxmind的格局(参考GeoLite),似乎今朝只能支撑legacy database,数据类型必须是.dat。下载GeoLiteCity.dat.gz后解压, 并将文件路径设备到source中即可。

    translate,用于检测某字段的值是否相符前提,如不雅相符前提则将其翻译成新的值,写入一个新的字段,匹配pattern可以经由过程YAML文件来设备。例如,鄙人面的设备中,我们对request_api字段翻译成加倍易懂的文字描述。

    在膳绫擎的安排筹划中,我们将Logstash分为Shipper和Indexer两种角色来完成不合的工作,中心经由过程Redis做数据管道,为什么要如许做?为什么不是直接在每台机械上应用Logstash提取数据、处理、存入Elasticsearch?

    创虻公司做数据分析(四)ELK日记体系

    创虻公司做数据分析(四)ELK日记体系创虻公司做数据分析(四)ELK日记体系

    Elasticsearch

    Elasticsearch承载了数据存储和萌芽的功能,其基本概念和应用办法可以参考另一篇博文Elasticsearch应用总结,这里重要介绍些实际临盆中的问题和办法:

    关于集群设备,重点存眷三个参数:

    • 第一,discovery.zen.ping.unicast.hosts,Elasticsearch默认应用Zen Discovery来做节点发明机制,推荐应用unicast来做通信方法,在该设备项中列举出Master节点。
    • 第二,discovery.zen.minimum_master_nodes,该参数表示集群中可工作的具有Master节点资格的最小数量,默认值是1。为了进步集群的可用性,避免脑裂现象(所谓脑裂,就是同一个集群中的不合节点,对集群的状况有不一致的懂得。),官方推荐设置为(N/2)+1,个中N是具有Master资格的节点的数量。
    • 第三,discovery.zen.ping_timeout,表示节点在发明过程中的等待时光,默认值是3秒,可以根据自身收集情况进行调剂,必定程度上供给可用性。

        推荐阅读

        12款白帽子用于黑客渗透测试的操作系统

      想知道什么样的操作体系的是白帽子黑客的最爱吗?本文我们将推荐12个操作体系,包含一些Linux发行版,如Kali Linux,Parrot安然操作体系,BlackArch等。这些以安然为重点的操作体系,可以赞助白帽子黑客进行渗入渗出>>>详细阅读


      本文标题:创业公司做数据分析(四)ELK日志系统

      地址:http://www.17bianji.com/lsqh/34624.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)