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


Posted in Python onAugust 06, 2020

引言:

之前博文介绍过了mysql/oracle与ES之间的同步机制。而logstash最初始的日志同步功能还没有介绍。本文就logstash同步日志到ES做下详细解读。

1、目的:

将本地磁盘存储的日志文件同步(全量同步、实时增量同步)到ES中。

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

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记录

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python完全新手教程
Feb 08 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
浅谈Python traceback的优雅处理
Aug 31 Python
Python 离线工作环境搭建的方法步骤
Jul 29 Python
pandas中遍历dataframe的每一个元素的实现
Oct 23 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
Python dict和defaultdict使用实例解析
Mar 12 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
如何解决pycharm调试报错的问题
Aug 06 #Python
Python用来做Web开发的优势有哪些
Aug 05 #Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 #Python
python爬虫使用requests发送post请求示例详解
Aug 05 #Python
8种常用的Python工具
Aug 05 #Python
浅析Python 序列化与反序列化
Aug 05 #Python
Python创建临时文件和文件夹
Aug 05 #Python
You might like
如何删除多级目录
2006/10/09 PHP
PHP新手入门学习方法
2011/05/08 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
基于empty函数的输出详解
2013/06/17 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
Javascript对象中关于setTimeout和setInterval的this介绍
2012/07/21 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
2017/05/31 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
tornado框架blog模块分析与使用
2013/11/21 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
园林施工员岗位职责
2013/12/11 职场文书
法语专业求职信
2014/07/20 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
Apache POI的基本使用详解
2021/11/07 Servers
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript