logstash的安装和使用

本文详细介绍Logstash的安装配置及使用方法,包括如何通过Logstash收集、过滤和格式化日志数据,并将其发送至Elasticsearch进行存储与检索。此外,还探讨了多行日志处理技巧以及如何配置不同类型的日志源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 、 logstash简介:
logstashj是一个数据分析软件,主要目的是分析log日志。整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是view层。

  首先将数据传给logstash,它将数据进行过滤和格式化(转成JSON格式),然后传给Elasticsearch进行存储、建搜索的索引,kibana提供前端的页面再进行搜索和图表可视化,它是调用Elasticsearch的接口返回的数据进行可视化。logstash和Elasticsearch是用Java写的,kibana使用node.js框架。

官网logstash的介绍

2、安装使用
# 解压安装包到/opt目录下
[root@bgsbtsp0006-dqf software]# tar -xf logstash-5.2.2.tar.gz -C /opt/

#改变宿主权限
[root@bgsbtsp0006-dqf opt]# chown -R bfd.bfd logstash-5.2.2/*


#运行logstash插件,input模块是输入(接受数据的流入)  out模块是输出(将数据输出到某地方)
[bfd@bgsbtsp0006-dqf logstash-5.2.2]# ./bin/logstash -e 'input {stdin{} } output {{stdout}}'
stdin {}   #可以从标准输入读数据
stdout {}   # 标准输出

这里写图片描述

codes模块是将输出的内容按照某种格式输出,可以rubydebug,也可以是json,我们看看输出的是什么格式的内容。

 ./bin/logstash -e 'input {stdin{} } output {stdout{codec =>rubydebug} }'


这里写图片描述

logstash的input插件模块的官网地址

logstash的outputput插件模块的官网地址

3、可以写到es中去,首先得先安装了es,以及es-head插件,前面博客有写到。上面的两个链接也有该部分内容。

./bin/logstash -e 'input {stdin{} } output { elasticsearch {hosts => ["172.18.1.22:9200"] index => "logstash-%{+YYYY.MM.dd}"} }'

这里写图片描述

我们在es-head插件页面中发现会生成一个索引:实时写 立马就可以在es_head中看到数据
这里写图片描述
4、对于像一些多行日志处理multiline的使用。
这里写图片描述
写到文件中就是下面的格式

input{
  file{
    path => ["/opt/logstash-5.2.2/nohup.out"]
    type => "logstash-log"
    start_position => "beginning"
  }
  file{
    path => ["/opt/elasticsearch/logs/bfd_cluster.log"]
    type => "es-log"
    # 从日志的开始位置读取
    start_position => "beginning"
    # 将多行日志变成一行,下面是匹配的格式。
    codec => multiline {
    # 遇到以这个开头[的就会形成一个事件。
      pattern => "^\["
      negate => true
      #匹配到和上面的行合并成一条
      what => "previous"
    }
  }
}

filter{
#暂时未讲到
}

output{
 # 这里要加if判断,不然容易写到一起去。
  if [type] == "logstash-log" {
    elasticsearch {
    hosts => ["172.18.1.22:9200"]
    index => "logstash-log-%{+YYYY.MM}"
   }
 }

if [type] == "es-log" {

 elasticsearch {
    hosts => ["172.18.1.22:9200"]
    index => "es-log-%{+YYYY.MM.dd}"
  }
} 
}

es官网上讲到codec以及multiline多行日志变一行的介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值