一:logstash介绍
Logstash在elk系统中为数据存储,报表查询和日志解析创建了一个功能强大的管道链。Logstash提供了多种多样的 input,filters,codecs和output组件,logstash由以下三部分组成
 
input数据输入端,可以接收来自任何地方的源数据
1:file:从文件中读取
2:syslog:监听在514端口的系统日志信息,并解析成RFC3164格式
3:redis:从redis-server list 中获取
4:beat:接收来自Filebeat的事件
 
filter数据中转层,主要进行格式处理,数据类型转换、数据过滤、字段添加,修改等,主要用做过滤
1:grok: 通过正则解析和结构化任何文本。Grok 目前是logstash最好的方式对非结构化日志数据解析成结构化和可查询化。logstash内置了120个匹配模式,满足大部分需求。
2:mutate: 在事件字段执行一般的转换。可以重命名、删除、替换和修改事件字段。
3:drop: 完全丢弃事件,如debug事件。
4:clone: 复制事件,可能添加或者删除字段。
5:geoip: 添加有关IP地址地理位置信息。
 
output是logstash工作的最后一个阶段,负责将数据输出到指定位置,兼容大多数应用
1:elasticsearch: 发送事件数据到 Elasticsearch,便于查询,分析,绘图。
2:file: 将事件数据写入到磁盘文件上。
3:mongodb:将事件数据发送至高性能NoSQL mongodb,便于永久存储,查询,分析,大数据分片。
4:redis:将数据发送至redis-server,常用于中间层暂时缓存。
5:graphite: 发送事件数据到graphite
6:statsd: 发送事件数据到 statsd。
 
二:logstash启动方式
logstash分别由-e和-f两种启动方式
-e:用来快速测试不用修改配置文件,一般用来调试!
-f :指定配置文件启动,需要把基本配置写入文件中启动,这里比较内容比较复杂,涉及到如何采集、过滤以及输出
 
1:下面进行-e启动方式演示
[root@localhost ~]# logstash -e  "input {stdin {} } output {stdout {}  }"
hell ghs     //输入字符信息
 
Sending Logstash's logs to /usr/local/elk/logstash/logs which is now configured via log4j2.properties
The stdin plugin is now waiting for input:
[2017-11-24T19:15:06,655][INFO ][logstash.agent           ] Pipelines running {:count=>1, :pipelines=>["main"]}
2017-11-24T11:15:06.704Z localhost.localdomain hell ghs     //这里显示的上面输入的字符串
 
##stdin {} :表示标准输入,stdout {} :表示标准输出
 
2:-f 配置文件启动方式
编辑一个配置文件,指定输入输出
[root@localhost ~]# vim ceshi.conf
input {
   stdin {}
 }
output{
    stdout {
        codec => rubydebug {}
}
}
 
## codec
 
执行配置文件
[root@localhost ~]# logstash -f test.conf
hell ghs          //输入字符串
{
      "@version" => "1",
          "host" => "localhost.localdomain",
    "@timestamp" => 2017-11-24T12:16:43.086Z,
       "message" => "hell ghs"
}
 
 
1:编写一个过滤系统日志的配置文件
[root@localhost ~]# vim messages.conf
input {
     file{
        path => "/var/log/messages"
        type => "syslog"
      }
 }
output {
    stdout { codec => rubydebug }
}
##path指定的是过滤日志的文件路径,type指定类型,自定义,主要做区分!
 
2:执行文件,显示过滤的日志结果
[root@localhost ~]# logstash -f messages.conf
{
      "@version" => "1",
          "host" => "localhost.localdomain",
          "path" => "/var/log/messages",
    "@timestamp" => 2017-11-24T11:01:02.189Z,
       "message" => "Nov 24 19:01:01 localhost systemd: Starting Session 11 of user root.",
          "type" => "syslog"
}
 
三:输出到elasticsearch,在kibana形成WEB图形方式
1:编写一个配置文件,让日志输出到elasticsearch通过kibana生成WEB图形!
[root@localhost ~]# vim  test.conf    ##配置文件名字自定义
input {
 file {
       path => "/var/log/messages"     //定义日志文件路径
       type => "test"                             //定义日志类型
       stat_interval => 1
       start_position => "beginning"
}
}
 
output{
     elasticsearch {
        hosts => ["192.168.1.200:9200"]       //定义需要输出到elasticsearch的ip和端口
        index => "test-%{+YYYY.MM.dd}"    //定义索引的名字,名字为test
}
}
 
2:执行配置文件
[root@localhost ~]# logstash -f test.conf -d
执行之后,在kibana的WEB页面Index pattern添加索引的名称,就可以Discover会形成以下日志输出的信息

ELK-logstash基本用法的更多相关文章

  1. ELK——Logstash 2.2 date 插件【翻译+实践】

    官网地址 本文内容 语法 测试数据 可配置选项 参考资料 date 插件是日期插件,这个插件,常用而重要. 如果不用 date 插件,那么 Logstash 将处理时间作为时间戳.时间戳字段是 Log ...

  2. ELK logstash 处理MySQL慢查询日志(初步)

    写在前面:在做ELK logstash 处理MySQL慢查询日志的时候出现的问题: 1.测试数据库没有慢日志,所以没有日志信息,导致 IP:9200/_plugin/head/界面异常(忽然出现日志数 ...

  3. ELK logstash 启动慢的解决方法

    最近开始测试部署ELK, 在部署logstash的时候出现一个故障: logstash在第一次安装完成以后启动正常, 但是之后启动时间越来越长, 5分钟以上甚至10多分钟.以至于怀疑程序错误, 在重装 ...

  4. 【ELK】【docker】【elasticsearch】2.使用elasticSearch+kibana+logstash+ik分词器+pinyin分词器+繁简体转化分词器 6.5.4 启动 ELK+logstash概念描述

    官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod ...

  5. ELK logstash邮件报警

    这个方法有一个问题就是我这边不能给我们公司的邮箱发邮件.还有就是我们有两个邮箱一个是腾讯企业邮箱,还有一个就是我们的集团邮箱 使用下面的这个方法是不能给我们的集团邮箱发邮件的.第二个问题就是这个方法给 ...

  6. ELK(Logstash+Elasticsearch+Kibana)的原理和详细搭建

    一. Elastic Stack Elastic Stack是ELK的官方称呼,网址:https://www.elastic.co/cn/products ,其作用是“构建在开源基础之上, Elast ...

  7. [elk]logstash的最佳实战-项目实战

    重点参考: http://blog.csdn.net/qq1032355091/article/details/52953837 不得不说这是一个伟大的项目实战,是正式踏入logstash门槛的捷径 ...

  8. [elk]logstash grok原理

    logstash语法 http://www.ttlsa.com/elk/elk-logstash-configuration-syntax/ https://www.elastic.co/guide/ ...

  9. [elk]logstash&filebeat常用语句

    filebeat安装dashboard 参考: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-star ...

  10. ELK——Logstash 2.2 mutate 插件【翻译+实践】

    官网地址 本文内容 语法 测试数据 可选配置项 mutate 插件可以在字段上执行变换,包括重命名.删除.替换和修改.这个插件相当常用. 比如: 你已经根据 Grok 表达式将 Tomcat 日志的内 ...

随机推荐

  1. nyoj 65-另一种阶乘问题 (Java 高精度)

    65-另一种阶乘问题 内存限制:64MB 时间限制:3000ms 特判: No 通过数:16 提交数:18 难度:1 题目描述: 大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在 ...

  2. (三)初识NumPy(数据CSV文件存取和多维数据的存取)

    本章主要介绍的是数据的CSV文件存取和多维数据的存取. 一.数据的CSV文件存取 1.CSV的写文件: np.savetxt(frame, array, fmt='%.18e', delimiter= ...

  3. 领扣(LeetCode)删除链表中的节点 个人题解

    请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 - ...

  4. ZeroC ICE的远程调用框架 代理引用地址

    在官方文档中称为Binding,协议-地址对的绑定.在Proxy模式中,一般地有三个参与者,Proxy,Subject以及RealSubject.Subject定义了Proxy(代理)和RealSub ...

  5. 操作系统——银行家算法(Banker's Algorithm)

    之前写过一篇关于死锁和银行家算法的详细描述的博客https://www.cnblogs.com/wkfvawl/p/11598647.html 写这篇博客的目的,主要是详细讲解一下银行家算法以及代码的 ...

  6. AE安装部署以及监测ArcEngine runtime 9.3是否安装

    目的:用ArcEngine9.3开发项目以后,用Visual Studio2008打包工具打包: 同时监测别的机器上是否有ArcEngine Runtime或者Desktop的支持. 解决方案: 1. ...

  7. VS Code实现markdown画流程图

    安装最新的vscode编辑器,原生支持markdown语法.不会markdow的人可以去好好学下,写文档神器!!! 1.安装Markdown Preview Enhanced插件 2.本地新建test ...

  8. Maven搭建SpringMvc

    Maven搭建SpringMvc,只需跟着一步步操作 项目结构 1 创建Maven项目 index,jsp报错不用管,配置完pom就好了,也可以直接删除掉 2 pom.xml添加依赖 <depe ...

  9. 最小生成树(Kruskal)

    题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N<=5000,M<= ...

  10. 【前端】之JavaScript基础知识

    JS 基础知识 JS中,简单类型的数据存储在栈中,复杂类型的数据存储在堆中,其引用存储在栈中 JS中的深拷贝和浅拷贝: 浅拷贝:将对象中的所有简单类型的属性拷贝出来,引用类型属性直接赋值null 深拷 ...