基于logstash实现日志文件同步elasticsearch
作者:志不坚者智不达 发布时间:2023-09-01 14:45:57
引言:
之前博文介绍过了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记录
来源:https://www.cnblogs.com/linwenbin/p/13432882.html
猜你喜欢
- 这篇文章主要介绍了python 哈希表实现简单python字典代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学
- 最新MySql8.27主从复制以及SpringBoot项目中的读写分离实战1、MySql主从复制MySQL主从复制是一个异步的复制过程,底层
- 前言初次了解JWT,很基础,高手勿喷。基于Token的身份验证用来替代传统的cookie+session身份验证方法中的session。to
- 序本文主要研究一下golang的deferdeferreturn先赋值(对于命名返回值),然后执行defer,最后函数返回defer函数调用
- 创建 NumPy ndarray 对象NumPy 用于处理数组,NumPy 中的数组对象称为 ndarray。我们可以使用 array()
- 如下所示:Traceback (most recent call last):File "<stdin>",
- 以下列出了两种数据库的方法:ASP+Access20001.要获取的ID值字段属性必须设为:自动编号(我们假设字段名为recordID)2.
- 首先介绍一下import和include的区别或者说import相对include的好处:import导入的内容只会被包含一次,在引入之前会
- 1.电脑已经搭建python环境2.深入到需要传输的文件目录下,此处以分享 nemo-huiyuanfei 文件为例3.在路径栏输入 cmd
- os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,o
- 查看数据库show databases;创建数据库create DATABASE 数据库名称create DATABASE database
- 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。一、准备工作1.扫雷游
- 跟传统的页面可以在每个页面分别设置填写对应的页面title,but,vue是单页面应用项目,想设置页面对应的title就不能跟传统方式一样了
- 下面我讲讲关于这套系统的加载流程 定义根目录,定义include目录 加载核心文件 配置文件'config.inc.php'
- 控制流实现控制流这部分代码主要涉及下面几条字节码指令,下面的所有字节码指令都会有一个参数:JUMP_FORWARD,指令完整条指令会将当前执
- 元组的结构在这一小节当中主要介绍在 python 当中元组的数据结构:typedef struct { PyObj
- //根据用户分组会话select t.USERNAME,count(*) from v$session t group by t.USERN
- 虽然 prometheus 已有大量可直接使用的 exporter 可供使用,以满足收集不同的监控指标的需要。例如,node exporte
- 比如代码 binfo = {'name':'jay','age':20,'pytho
- 要解决两个需求: 一个是从A页面跳到B页面,滚动到页面的任何地方; 第二个是在B页面内部点击某个元素,滚动到页面的任何地方; 怎么解决啊?很