基于logstash实现日志文件同步elasticsearch
引言:
之前博文介绍过了mysql/oracle与ES之间的同步机制。而logstash最初始的日志同步功能还没有介绍。本文就logstash同步日志到ES做下详细解读。
1、目的:
将本地磁盘存储的日志文件同步(全量同步、实时增量同步)到ES中。
2、源文件:
[root@5b9dbaaa148a test_log]# ll -rwxrwxrwx 1 root root 170 Jul 5 08:02 logmachine.sh -rw-r--r-- 1 root root 66 Jul 5 08:25 MProbe01.log -rw-r--r-- 1 root root 74 Jul 5 08:28 MProbe02.log
3、增量实时同步脚本:
[root@5b9dbaaa148a test_log]# cat logmachine.sh #!/bin/bash icnt=0; while (true) do echo "[debug][20160703-15:00]"$icnt >> MProbe01.log echo "[ERROR][20160704-17:00]"$icnt >> MProbe02.log icnt=$((icnt+1)); done
4、logstash配置文件:
[root@5b9dbaaa148a logstash_jdbc_test]# cat log_test.conf input { file { path=> [ "/usr/local/logstash/bin/test_log/MProbe01.log", "/usr/local/logstash/bin/test_log/MProbe02.log" ] #codec=>multiline { # pattern => "^\s" # what=>"previous" #} type=>"probe_log" #类型名称 # tags=>["XX.XX.XX.XX"] } } ###过滤 #filter{ # grok { # match => ["message","mailmonitor"] # add_tag => [mailmonitor] # } # grok { # match => [ "message", "smsmonitor" ] # add_tag => [smsmonitor] # } # .... #} ###output to es output { elasticsearch { hosts => "10.8.5.101:9200" index => "mprobe_index" #索引名称 #template_name => "mprobelog" #document_id => "%{id}" } stdout { codec => json_lines } }
5、同步测试:
[root@5b9dbaaa148a bin]# ./logstash -f ./logstash_jdbc_test/log_test.conf
Settings: Default pipeline workers: 24
Pipeline main started
{"message":"[DEbug][20160305-15:35]testing02","@version":"1","@timestamp":"2016-07-05T07:26:08.043Z","path":"/usr/local/logstash/bin/test_log/MProbe01.log","host":"5b9dbaaa148a"
6、结果验证
(1)日志记录:
[root@5b9dbaaa148a test_log]# tail -f MProbe01.log
[DEbug][20160305-15:35]testing02
[DEbug][20160305-15:35]testing01
^C
[root@5b9dbaaa148a test_log]# tail -f MProbe02.log
[DEbug][20160305-15:35]testing02_001
[DEbug][20160305-15:35]testing02_003
(2)ES记录
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
下面小编就为大家分享一篇详谈Python3 操作系统与路径 模块(os / os.path / pathlib),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-04-04详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
这篇文章主要介绍了详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-01-01使用Python中的pytesseract模块实现抓取图片中文字
最近同事用网上提供扫描软件进行扫描识别文字,每天上线只能够做两次扫描,请求我研发一个小工具帮助解决识别图片的中文字,最终我选择使用pytesseract模块可以解决这个需求问题,本文给大家分享实现代码操作感兴趣的朋友跟随小编一起看看吧2022-11-11
最新评论