文章目录

  • 简介
  • 部署安装
  • 配置详解
    • 输入
    • 过滤
    • 输出
  • 读取地自定义日志
  • 输出内容到Elasticsearch

简介

Logstash是一个开源的数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据保存到指定库中,如ES。

部署安装

logstash运行需要java1.8环境,因此需要先安装java环境
下载安装文件并复制到服务器
解压后目录结构如下:

[root@localhost apps]# ll
总用量 687700
drwxr-xr-x.  9 elsearch elsearch       155 6月  23 15:43 elasticsearch-6.5.4
-rw-r--r--.  1 root     root     113322649 6月  23 15:24 elasticsearch-6.5.4.tar.gz
lrwxrwxrwx.  1 elsearch elsearch        19 6月  23 15:32 elsearch -> elasticsearch-6.5.4
lrwxrwxrwx.  1 root     root            27 6月  28 13:43 filebeat -> filebeat-6.5.4-linux-x86_64
drwxr-xr-x.  7 root     root          4096 6月  29 00:08 filebeat-6.5.4-linux-x86_64
-rw-r--r--.  1 root     root      11287049 6月  27 19:14 filebeat-6.5.4-linux-x86_64.tar.gz
lrwxrwxrwx.  1 root     root            13 6月  23 14:50 jdk -> jdk1.8.0_191/
drwxr-xr-x.  7       10      143       245 10月  6 2018 jdk1.8.0_191
-rw-r--r--.  1 root     root     191753373 12月 25 2018 jdk-8u191-linux-x64.tar.gz
lrwxrwxrwx.  1 root     root            25 6月  28 18:55 kibana -> kibana-6.5.4-linux-x86_64
drwxrwxr-x. 11 elsearch elsearch       212 12月 18 2018 kibana-6.5.4-linux-x86_64
-rw-r--r--.  1 root     root     206631363 6月  27 20:03 kibana-6.5.4-linux-x86_64.tar.gz
drwxr-xr-x. 12 root     root           255 6月  29 01:43 logstash-6.5.4
-rw-r--r--.  1 root     root     160286824 6月  27 20:30 logstash-6.5.4.tar.gz
lrwxrwxrwx.  1 root     root            29 6月  28 18:07 metricbeat -> metricbeat-6.5.4-linux-x86_64
drwxr-xr-x.  6 root     root           254 6月  28 22:54 metricbeat-6.5.4-linux-x86_64
-rw-r--r--.  1 root     root      19925669 6月  27 20:28 metricbeat-6.5.4-linux-x86_64.tar.gz
lrwxrwxrwx.  1 root     root            12 6月  28 13:34 nginx -> nginx-1.12.2
drwxr-xr-x.  9     1001     1001       186 6月  28 13:39 nginx-1.12.2
-rw-r--r--.  1 root     root        981687 2月  19 2019 nginx-1.12.2.tar.gz

运行示例
捕获到控制台输入内容后直接在控制台输出

bin/logstash -e 'input { stdin { } } output { stdout {} }'

logstash运行在jvm中,因此启动速度较慢
启动后输入内容后可以看到打印输出

22
{"@version" => "1","message" => "22","@timestamp" => 2020-06-28T17:49:46.904Z,"host" => "localhost.localdomain"
}

配置详解

Logstash的配置有三部分,如下:

input { #输入stdin { ... } #标准输入
}
filter { #过滤,对数据进行分割、截取等处理...
}
output { #输出stdout { ... } #标准输出
}

输入

数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据

过滤

实时解析和转换数据。数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它
们转换成通用格式,以便更轻松、更快速地分析和实现商业价值

输出

Logstash 提供众多输出选择,可以将数据发送到指定的地方

读取地自定义日志

创建配置文件 内容如下:

[root@localhost logstash]# vi test-log.conf
input {file {path => "/opt/apps/logstash/logs/app.log"start_position => "beginning"}
}
filter {mutate {split => {"message"=>"|"}}
}
output {stdout { codec => rubydebug }
}

启动 logstash

[root@localhost logstash]# ./bin/logstash -f ./test-log.conf

在监控的日志文件中写入内容

[root@localhost logs]# echo "2019-03-15 21:21:21|ERROR|读取数据出错|参数:id=1002" >> app.log

可以看到logstash 将日志内容做了分割如下:

{"@timestamp" => 2020-06-28T18:03:30.720Z,"host" => "localhost.localdomain","path" => "/opt/apps/logstash/logs/app.log","@version" => "1","message" => [[0] "2019-03-15 21:21:21",[1] "ERROR",[2] "读取数据出错",[3] "参数:id=1002"]
}

输出内容到Elasticsearch

修改配置文件内容如下:

input {file {path => "/opt/apps/logstash/logs/app.log"start_position => "beginning"}
}
filter {mutate {split => {"message"=>"|"}}
}
output {elasticsearch {hosts => ["192.168.12.10:9200","192.168.12.11:9200","192.168.12.12:9200"]}
}

启动logstash

[root@localhost logstash]# ./bin/logstash -f ./test-log.conf

日志文件写入多条数据

[root@localhost logs]# echo "2019-03-15 21:21:21|ERROR|读取数据出错|参数:id=1002" >> app.log
[root@localhost logs]# echo "2019-03-15 21:21:21|ERROR|读取数据出错|参数:id=1002" >> app.log
[root@localhost logs]# echo "2019-03-16 21:21:21|ERROR|读取数据出错|参数:id=1002" >> app.log
[root@localhost logs]# echo "2019-03-17 21:21:21|ERROR|读取数据出错|参数:id=1003" >> app.log

es集群中看到了logstash采集的数据

Logstash 安装+配置+数据采集示例相关推荐

  1. mysql NDB的安装配置使用示例

    1.到mysql网站下载mysql cluster版本 http://www.mysql.com/downloads/cluster/ 下载到/home/weijianzhongwj/software ...

  2. [网络安全自学篇] 三.Burp Suite安装配置、Proxy基础用法及流量分析示例

    最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客.做着开源的大神.接下来系统分享一些网络安全的自学笔记,希望读者们喜欢. 上一篇文 ...

  3. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例

    原文地址:http://lxw1234.com/archives/2016/04/643.htm Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(O ...

  4. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  5. coreseek php接口,筹建coreseek(sphinx+mmseg3)详细安装配置+php之sphinx扩展安装+php调用示例...

    搭建coreseek(sphinx+mmseg3)详细安装配置+php之sphinx扩展安装+php调用示例 一个文档包含了安装.增量备份.扩展.api调用示例,省去了查找大量文章的时间. 搭建cor ...

  6. 【笔记】Logstash环境搭建和安装配置

    Logstash介绍: 概述 Logstash 是 Elastic Stack 的中央数据流引擎,用于收集.丰富和统一所有数据,而不管格式或模式.当与Elasticsearch,Kibana,及 Be ...

  7. php 5.2.16,windows中PHP5.2.14以及apache2.2.16安装配置示例

    感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧! 首先下载好需要安装的配置文件 1.apache-2.2.16 2.php-5.2.14-Win32 一.apache配置 apache的安装 ...

  8. Tomcat简介 安装 配置 示例

    Tomcat简介 & 安装 & 配置 & 示例 1.Tomcat简介 2.Tomcat安装 1)RPM包安装 2)二进制安装 3.配置 1)server.xml组件类别 2)s ...

  9. mysql5.17免安装教程_详细介绍MySql5.7.17免安装配置教程的示例代码

    这篇文章给大家详细介绍了MySql 5.7.17免安装配置教程,首先大家需要先下载mysql 5.7.17 的安装包,然后解压,具体配置过程大家通过本文一起学习吧 1.下载mysql-5.7.17-w ...

最新文章

  1. android studio远程控制,Android Studio远程登录控制台缺少“网络”和“窗口”命令?...
  2. 使用apache的ab对想迪科技站点www.thinkdee.com进行压力测试
  3. WPF DatePicker默认显示当前日期,格式化为年月日(转)
  4. C# 不能从数据库更新实体
  5. 动态CSS - LESS学习总结
  6. Word2Vec ——gensim实战教程
  7. Linux下修改root密码以及找回root密码的方法
  8. 全球首发!计算机视觉Polygon Mesh Processing总结9——Triangle-Based Remeshing
  9. windows msiexec quiet静默安装及卸载msi软件包
  10. C++ minidump类
  11. 查询字符串(性能对比): Array Vs HashMap
  12. 互联网公司的敏捷开发是怎么回事?这一份软件工程书单送给你!
  13. c#样条曲线命令_C#绘制由点定义的贝塞尔样条曲线
  14. Simulink仿真---clark变换、反clark变换
  15. 边沿触发器(T触发器)
  16. Unrecognized Windows Sockets error: 10106: Socket creation failed
  17. python模拟登录钉钉,Python—实现钉钉后台开发,
  18. 计算机二级考试干货内容,计算机二级考试经验总结,干货满满!
  19. vue项目echarts通过cdn或npm引入
  20. iOS 15Beta5版本更新变化,这些细节你发现了吗?

热门文章

  1. 我的单曲《给我一个不爱的理由EP》发行了
  2. 北邮计算机院入学教育,初次见面 | 信通院2017级研究生新生入学教育及第一次班会...
  3. python桌面壁纸键盘鼠标交互
  4. java的继承,子类继承父类的属性和方法,除却构造方法和常量
  5. Pycharm如何更改字体大小
  6. STM32驱动eMMC读写数据
  7. Kotlin搞起来——2.基础知识
  8. Python多线程连点器
  9. FFMPEG h264 ACC 合成 mkv ts;h264 mp3 合成 MP4 avi flv
  10. 安装并使用SQLite Expert