Logstash--Input插件

0、官网

https://www.elastic.co/guide/en/logstash/6.0/input-plugins.html

1、file

  • 从文件中采集数据,类似于Flume中学的taildir
  • 数据源:文件、数据库、数据流
vim usercase/input-file-test.json 
input{
    file{
        path => "/home/es/tomcat.log"
        type => "log"
        start_position => "beginning"
    }
}
output{
        stdout{
            codec=>rubydebug
        }
}
  • path:是一个必填的属性,表示采集的文件地址
  • 这是一个数组类型,可以采集多个文件,支持通配符
    • 如果你要采集某个目录下所有文件
    • dir/*.log
  • sincedb_path :类似于flume的taildir中的position_file
    • 记录每个文件当前被采集的位置
      • 下次再启动时,避免重复采集
  • exclude :指定哪些文件不采集
    • 类似于Flume的spooling dir中讲到的ignoreParttern
      • exclude => “*.tmp”
  • 运行
bin/logstash -f usercase/input-file-test.json 

2、jdbc

  • 功能:用于采集数据库中的数据库
    • 采集类型 :全量或者增量
    • 指定列 或者行进行采集
  • 全量
vim usercase/input-jdbc1.json
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.1.9:3306/test"
    jdbc_user => "root"
    jdbc_password => "123456"
    use_column_value => true
    tracking_column => "id"
    schedule => "*/1 * * * *"
    statement => "SELECT * from wcresult where number > 10;"
  }
}
​
output{
        stdout{
        codec=>rubydebug
        }
}
  • jdbc_driver_library:指定连接驱动包
  • jdbc_driver_class:指定连接驱动类
    • jdbc_connection_string:连接的数据库地址
    • jdbc_user:用户名
    • jdbc_password:密码
    • schedule:多长时间执行一次
    • statement:你要采集的数据
  • 增量
vim usercase/input-jdbc2.json
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.1.9:3306/test"
    jdbc_user => "root"
    jdbc_password => "123456"
    use_column_value => true
    tracking_column => "id"
    schedule => "*/1 * * * *"
    statement => "SELECT * from wcresult where number > 10 and id > :sql_last_value;"
  }
}
​
output{
        stdout{
        codec=>rubydebug
        }
}
  • use_column_value:使用某一列的值来做增量标记
  • tracking_column:使用哪一列作为增量的列
  • 必须在SQL中指定增量的条件: id > :sql_last_value;

3、tcp

vim usercase/input-tcp.json
input{
    tcp {
        host => "node-01"
       port => 45454
       mode => "server"
       ssl_enable => false
   }
}
output{
    stdout{}
}

4、syslog

  • rsyslog:将系统产生的日志以tcp或者udp发送到对应的端口
  • 先配置该服务的配置文件
sudo vim /etc/rsyslog.conf
#添加下面这行
*.* @@node-01:6789
​
#重启该服务
sudo /etc/init.d/rsyslog restart
vim usercase/input-syslog.json
input{
    tcp{
        port=> 6789
        type=> syslog
    }
    udp{
        port=> 6789
        type=> syslog
    }
}filter{
    if [type] == "syslog" {
        grok {
                match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
                add_field => [ "received_at", "%{@timestamp}" ]
                add_field => [ "received_from", "%{host}" ]
        }
       date {
             match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
           }
    }
}
​
output{
    stdout{
        codec=> rubydebug
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值