LogStash安装及综合案例

本文详细介绍了LogStash的安装过程和使用,包括Input、Filter、Output插件的配置与应用。通过stdin、stdout、jdbc、syslog插件展示了数据收集,使用grok正则表达式处理日志,将数据保存到文件或Elasticsearch。此外,还给出了LogStash结合ES的综合案例,涉及rsyslog、用户操作历史日志和nginx日志的采集。
摘要由CSDN通过智能技术生成

文章目录

14、LogStash介绍及安装

官网:
https://www.elastic.co/guide/en/logstash/current/index.html

1、介绍

logstash就是一个具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。是一个input | filter | output 的数据流。

2 、node01机器安装LogStash

下载logstache并上传到第一台服务器的/home/es路径下,然后进行解压
#下载安装包—可以直接将已经下载好的安装包上传到/home/es路径下即可

cd /home/es 
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.7.0.tar.gz
#解压
tar -zxf logstash-6.7.0.tar.gz -C /export/servers/es/

3、Input插件

1、stdin标准输入和stdout标准输出

使用标准的输入与输出组件,实现将我们的数据从控制台输入,从控制台输出

cd /export/servers/es/logstash-6.7.0/
bin/logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'


{
      "@version" => "1",
          "host" => "node01",
    "@timestamp" => 2018-10-13T08:33:13.126Z,
       "message" => "hello"
}

2、监控日志文件变化

Logstash 使用一个名叫 FileWatch 的 Ruby Gem 库来监听文件变化。这个库支持 glob 展开文件路径,而且会记录一个叫 .sincedb 的数据库文件来跟踪被监听的日志文件的当前读取位置。所以,不要担心 logstash 会漏过你的数据。
编写脚本

cd /export/servers/es/logstash-6.7.0/config
vim monitor_file.conf
#输入一下信息 
input{
   
    file{
   
        path => "/export/servers/es/datas/tomcat.log"
        type => "log"
        start_position => "beginning"
    }
}
output{
   
        stdout{
   
        codec=>rubydebug
        }
}

检查配置文件是否可用

cd /export/servers/es/logstash-6.7.0/
bin/logstash -f /export/servers/es/logstash-6.7.0/config/monitor_file.conf -t

成功会出现一下信息:
Config Validation Result: OK. Exiting Logstash

启动服务

cd /export/servers/es/logstash-6.7.0
bin/logstash -f /export/servers/es/logstash-6.7.0/config/monitor_file.conf

发送数据
新开xshell窗口通过以下命令发送数据

mkdir -p /export/servers/es/datas
echo "hello logstash" >> /export/servers/es/datas/tomcat.log

其它参数说明
Path=>表示监控的文件路径
Type=>给类型打标记,用来区分不同的文件类型。
Start_postion=>从哪里开始记录文件,默认是从结尾开始标记,要是你从头导入一个文件就把改成”beginning”.
discover_interval=>多久去监听path下是否有文件,默认是15s
exclude=>排除什么文件
close_older=>一个已经监听中的文件,如果超过这个值的时间内没有更新内容,就关闭监听它的文件句柄。默认是3600秒,即一个小时。
sincedb_path=>监控库存放位置(默认的读取文件信息记录在哪个文件中)。默认在:/data/plugins/inputs/file。
sincedb_write_interval=> logstash 每隔多久写一次 sincedb 文件,默认是 15 秒。
stat_interval=>logstash 每隔多久检查一次被监听文件状态(是否有更新),默认是 1 秒。

3、jdbc插件

jdbc插件允许我们采集某张数据库表当中的数据到我们的logstashe当中来

第一步:编写脚本

开发脚本配置文件

cd /export/servers/es/logstash-6.7.0/config
vim jdbc.conf
input {
   
  jdbc {
   
    jdbc_driver_library => "/home/es/mysql-connector-java-5.1.38.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://192.168.31.82:3306/userdb"
    jdbc_user => "root"
    jdbc_password => "admin"

    use_column_value => true
    tracking_column => "create_time"
  #  parameters => { "favorite_artist" => "Beethoven" }
    schedule => "* * * * *"
    statement => "SELECT * from emp where create_time > :sql_last_value ;"
  }
}



output{
   
        stdout{
   
        codec=>rubydebug
        }
}

第二步:上传mysql连接驱动包到指定路劲

将我们mysql的连接驱动包上传到我们指定的/home/es/路径下

第三步:检查配置文件是否可用

cd /export/servers/es/logstash-6.7.0/
bin/logstash -f /export/servers/es/logstash-6.7.0/config/jdbc.conf  -t

通过之后
Config Validation Result: OK. Exiting Logstash

第四步:启动服务

通过以下命令启动logstash

cd /export/servers/es/logstash-6.7.0
bin/logstash -f /export/servers/es/logstash-6.7.0/config/jdbc.conf

第五步:数据库当中添加数据

在我们的数据库当中手动随便插入数据,发现我们的logstash可以进行收集

4 systlog插件

syslog机制负责记录内核和应用程序产生的日志信息,管理员可以通过查看日志记录,来掌握系统状况
默认系统已经安装了rsyslog.直接启动即可
编写脚本

cd /export/servers/es/logstash-6.7.0/config
vim syslog.conf
input{
   
    tcp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值