clojure实战——基于logstash搭建日志数据获取与整理平台(2)
来源:互联网 发布:哪个网出售淘宝小号 编辑:程序博客网 时间:2024/04/30 14:35
clojure实战——基于logstash搭建日志数据获取与整理平台(2)
1. logstash简介
logstash是金牌搭档ELK中的“L”,它主要负责数据的收集、解析整理、传输。这对应体现在它的配置文件中的input、filter、output这三段配置。下面仅针对本次项目中需要使用到的地方做一个讲解,其他方面读者可自行到其官网查阅。
2. logstash使用
(1)运行一个logstash
使用logstash非常简单,从官网下载压缩包,解压,执行bin目录下的logstash执行文件,即可:
启动命令:
bin/logstash agent -f logstash-simple.conf
logstash-simple.conf是logstash启动时指定的配置文件,该文件是logstash的核心。
(2)编写conf文件
logstash的conf文件中定义了数据来源,过滤条件,输出目的地。另外logstash为这几个模块都提供了丰富的插件,可以使用这些插件实现自己的业务需求。其文件结构及插件的使用如下:
input { file { # file插件, 数据源来自日志文件test.log # 指定文件路径 path => “/Users/admin/test/test.log” # 起始位置,beginning会发送旧数据,end则不会 start_position => "end" codec => plain { # plain插件,指定文件解析相关配置 # 指定字符集为“GBK” charset => "GBK" } }}filter { grok { # grok插件,用于解析非json格式日志时使用,可以自定义匹配模式 # 指定模式文件地址 patterns_dir => "/Users/admin/test/testlogpatterns" # 对日志内容进行模式匹配 match => ["message", "%{TESTPATTERN}"] # 移除不需要的一些字段 remove_field => ["@version","@timestamp",message,host,path] }}output { http { # http插件,通过http发送给数据需求者 http_method => "post" # url地址 url => "http://192.168.5.109:8011/log" }}
test.log示例文件内容如下:
method:method1,username:snailiu,age:20,message:my test log
testlogpatterns文件内容如下:
TESTPATTERN method:%{DATA:method-name},username:%{DATA:username},age:%{INT:user-age},message:%{DATA:msg}
其中,TESTPATTERN为该匹配模式的ID与filter中grok下的match => [“message”, “%{TESTPATTERN}”]相对应。
后面则是匹配模式,如 %{DATA:method-name} 会将匹配test.log文件中的“method1”字符串,并设别名为method-name,%{DATA:method-name} 会将匹配test.log文件中的20字符串,并设别名为user-age,且将20转为INT型。上述日志通过模式匹配之后应该返回为一个json结构:
{method-name: method1, username: snailiu, user-age: 20, message: my test log , host : $##$#$#$#$#, path: $#$#$#$#$#, @timestamp: XXXXXXXXXXX, @version: XXXX message: XXXXX}
而path,host这些是我们所不需要的,因此可用remove_field进行删除。如此,就完成了数据获取和整理流程。
最后,output中使用http插件,将获取到的数据发送给某一个第三方服务。
- clojure实战——基于logstash搭建日志数据获取与整理平台(2)
- clojure实战——基于logstash搭建日志数据获取与整理平台(1)
- logstash日志平台搭建
- clojure实战——日志处理
- Elasticsearch+Kibana+Logstash 搭建日志平台
- logstash+elasticsearch+kibana快速搭建日志平台
- logstash+elasticsearch+kibana快速搭建日志平台
- logstash+es+kibana+redis搭建日志平台
- logstash+elasticsearch+kibana快速搭建日志平台
- logstash elasticsearch kibana搭建日志平台
- ELK(ElasticSearch, Logstash, Kibana)搭建日志分析平台-Logstash篇
- clojure实战——schema for clojure
- clojure实战——快速搭建web前端开发框架
- clojure实战——配置文件
- clojure实战——符号&@#'+-*/
- clojure实战——宏
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- 中断请求级别
- 初次开通,多多赐教!
- 3D mesh 的质量评估(Perceptual Metrics Quality)
- Hibernate面试题及答案
- vim 多个标签之间切换
- clojure实战——基于logstash搭建日志数据获取与整理平台(2)
- UNIX Tutorial Two
- HDFS副本放置策略的研究和优化
- php下session_cache_limiter(private,must-revalidate)–表单填写内容不丢失
- Android Studio
- Unity中HideInInspector和SerializeField
- SparkSQL 概述
- 持续集成
- 视频会议为中小企业带来更多商机