北京看白癜风去哪家医院比较好 http://m.39.net/news/ylzx/bjzkhbzy/graylog是一个开源的专业的日志聚合、分析、审计、展示、预警的工具,跟ELK很相似,但是更简单,下面说一说graylog如何部署,使用,以及对graylog的工作流程做一个简单的梳理
本文篇幅比较长,一共使用了三台机器,这三台机器上部署了kafka集群(2.3),es集群(7.11.2),MongoDB副本集(4.2),还有graylog集群(4.0.2),搜集的日志是k8s的日志,使用DaemonSet的方式通过filebeat(7.11.2)将日志搜集到kafka中。本文将从部署开始,一步一步的了解graylog是怎么部署,以及简单的使用。
graylog介绍组件介绍
从架构图中可以看出,graylog是由三部分组成:
mongodb存放gralog控制台上的配置信息,以及graylog集群状态信息,还有一些元信息es存放日志数据,以及检索数据等graylog相当于一个中转的角色
mongodb和es没什么好说的,作用都比较清晰,重点说一下graylog的一些组件,及其作用。
Inputs日志数据来源,可以通过graylog的Sidecar来主动抓取,也可以通过其他beats,syslog等主动推送Extractors日志数据格式转换,主要用于json解析、kv解析、时间戳解析、正则解析Streams日志信息分类,通过设置一些规则来将日志发送到指定的索引中Indices持久化数据存储,设置索引名及索引的过期策略、分片数、副本数、flush时间间隔等Outputs日志数据的转发,将解析的Stream发送到其他的graylog集群Pipelines日志数据的过滤,建立数据清洗的过滤规则、字段添加或删除、条件过滤、自定义函数Sidecar轻量级的日志采集器LookupTables服务解析,基于IP的Whois查询和基于源IP的情报监控Geolocation可视化地理位置,基于来源IP的监控流程介绍
Graylog通过设置Input来搜集日志,比如这里通过设置好kafka或者redis或者直接通过filebeat将日志搜集过来,然后Input配置好Extractors,用来对日志中的字段做提取和转换,可以设置多个Extractors,按照顺序执行,设置好后,系统会把日志通过在Stream中设置的匹配规则保存到Stream中,可以在Stream中指定索引位置,然后存储到es的索引中,完成这些操作后,可以在控制台中通过指定Stream名称来查看对应的日志。
安装mongodb
按照官方文档,装的是4.2.x的
时间同步
安装ntpdate
yuminstallntpdate-ycp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
添加到计划任务中
#crontab-e5****ntpdate-untp.ntsc.ac.cn配置仓库源并安装
vim/etc/yum.repos.d/mongodb-org.repo[mongodb-org-4.2]name=MongoDBRepositorybaseurl=