基于logstash实现日志文件同步elasticsearch

 更新时间:2020年08月06日 09:10:57   作者:志不坚者智不达  
这篇文章主要介绍了基于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)

    下面小编就为大家分享一篇详谈Python3 操作系统与路径 模块(os / os.path / pathlib),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案

    详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案

    这篇文章主要介绍了详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python Flask-web表单使用详解

    Python Flask-web表单使用详解

    这篇文章主要为大家详细介绍了Python Flask-web表单的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Pycharm学习教程(1) 定制外观

    Pycharm学习教程(1) 定制外观

    这篇文章主要介绍了最全的Pycharm学习教程第一篇如何定制外观,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 使用Python判断一个文件是否被占用的方法教程

    使用Python判断一个文件是否被占用的方法教程

    这篇文章主要给大家介绍了关于如何使用Python判断一个文件是否被占用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Anaconda多环境多版本python配置操作方法

    Anaconda多环境多版本python配置操作方法

    下面小编就为大家带来一篇Anaconda多环境多版本python配置操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • python实现颜色空间转换程序(Tkinter)

    python实现颜色空间转换程序(Tkinter)

    这篇文章主要介绍了基于Tkinter利用python实现颜色空间转换程序,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • python自定义线程池控制线程数量的示例

    python自定义线程池控制线程数量的示例

    今天小编就为大家分享一篇python自定义线程池控制线程数量的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 使用Python中的pytesseract模块实现抓取图片中文字

    使用Python中的pytesseract模块实现抓取图片中文字

    最近同事用网上提供扫描软件进行扫描识别文字,每天上线只能够做两次扫描,请求我研发一个小工具帮助解决识别图片的中文字,最终我选择使用pytesseract模块可以解决这个需求问题,本文给大家分享实现代码操作感兴趣的朋友跟随小编一起看看吧
    2022-11-11
  • Python全栈之学习MySQL(3)

    Python全栈之学习MySQL(3)

    这篇文章主要为大家介绍了Python全栈之MySQL,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01

最新评论