Logstash 7.7.1版本安装&系统梳理

前言

上一篇文章介绍了 《ElasticSearch7.7.1集群搭建 & Kibana安装》,今天说一下 Logstash的安卓和配置;

Logstash是一个开源的数据收集引擎,具有实时管道功能。它可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。Logstash常用于日志关系系统中做日志采集设备。

Logstash的事件(logstash将数据流中等每一条数据称之为一个event)处理流水线有三个主要角色完成:inputs –> filters –> outputs。Inputs负责产生事件,常用如File、syslog、redis、beats(如Filebeats);filters负责数据处理与转换,常用如grok、mutate、drop、clone、geoip;outputs负责数据输出,常用如elasticsearch、file、graphite、statsd。其中inputs和outputs支持codecs(coder&decoder),使得logstash可以更好更方便的与其他有自定义数据格式的运维产品共存,比如graphite、fluent、netflow、collectd,以及使用msgpack、json、edn等通用数据格式的其他产品等。

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

一、Logstash 下载&安装

在服务器上直接通过

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.7.1.tar.gz

下载到安装路径(/usr/local/webserver), 也可以在我的资源来进行下载

$ tar zxvf logstash-7.7.1.tar.gz

$ cd logstash-7.7.1 目录结构如下

测试安装是否成功

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

二 Logstash 项目实践简述

1、Mysql 读取数据到 ElasticSearch7.7.1集群

首先我们在 logstash-7.7.1 /config-mysql 目录 用于存放配置文件

1.1、input 部分说明,jdbc 可以配置多个配置不同的 tags

input {
    stdin {
    }
    #search
    jdbc {
      # 数据库链接配置
      jdbc_connection_string => "jdbc:mysql://10.10.1.1:3306/web_db?zeroDr=CONVERT_TO_NULL&characterEncoding=utf-8"
      # 数据库用户名密码
      jdbc_user => "app_dba"
      jdbc_password => "coaaBtLc0n"
      # 链接数据库的jar包的位置
      jdbc_driver_library => "/data/software/logstash-7.7.1/mysql-connector-java-8.0.11.jar"
      # mysql的 Driver
      jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "3000"
      lowercase_column_names => "false"
      record_last_run => true
      use_column_value => "true"
      tracking_column => "updatetime"
      #执行获取数据的sql语句
      statement => "select * from logstash_search where updatetime > :sql_last_value order by updatetime"
      schedule => "* * * * *"
      #tags
      tags => "jdbc_logstash_search"
      #数据记录执行日志,主要就是记录 sql_last_value 变量的值
      last_run_metadata_path => "/data/software/logstash-7.7.1/data_config/last_run_value_search.log"
    }
  }

1.2、filter 部分,通过 tags 做判断进行格式处理

filter {
  #===================search
  if "jdbc_logstash_search" in [tags]{
    json {
      source => "location"
    }
    mutate {
      remove_field => ["@version","@timestamp","type","updatetime"]
    }
  }
}

1.3、output部分,通过tags判断输出到不到的数据存储位置

output {
  stdout {
    codec => "json_lines"
  }
  #search
  if "jdbc_logstash_search" in [tags]{
    elasti
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢卡上学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值