基于linux系统安装部署测试Logstash

  1. Logstash概述

ELK三件套:Elasticsearch, Logstash, Kibana.

我的需求是用来将mysql的数据导入到es中,我选择了logstash.

logstsh架构:搜集--->过滤--->处理(input->filter->output).

  1. 环境准备

centos7,jdk1.8(添加环境变量)

  1. 安装部署

下载地址:https://www.elastic.co/cn/downloads/logstash

*注意:必须和Elasticsearch,Kibana的版本选择相同,避免后续出现问题。(我选择的是logstash7.8.0版本)

tar -zxvf logstash-7.8.0.tar.gz -C 你喜欢的路径
#到logstash-7.8.0根目录下
./bin/logstash -f config/logstash-sample.conf #这是一个测试的配置文件
Successfully started Logstash API endpoint {:port=>9600}#出现这个就证明你部署成功了
mkdir my_config #创建你的配置文件,开始写你的脚本吧。
  1. 我的脚本参考

我的脚本是将mysql的数据传到es上

input {
  jdbc {
    jdbc_connection_string => "jdbc:mysql://localhost:3306/mydatabase"
    jdbc_user => "myuser"
    jdbc_password => "mypassword"
    jdbc_driver_library => "/path/to/mysql-connector-java-5.1.49.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    statement => "SELECT * from mytable"
  }
}
filter {
    ruby {
        code => "event.set('timestamp', event.get('@timestamp').time.localtime + 8*60*60)"
    }
    ruby {
        code => "event.set('@timestamp',event.get('timestamp'))"
    }
    mutate {
        remove_field => ["timestamp"]
    }
}
output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "myindex"
  }
}

在此示例中,Logstash 将连接到名为 mydatabase 的 MySQL 数据库,并使用 myuser 和 mypassword 进行身份验证。

它将读取 mytable 表中的所有数据,并将其写入 Elasticsearch 索引 myindex。

执行

./bin/logstash -f 你的配置脚本位置。

到kibana上查看,发现传过来了。

5.20230403脚本记录

input {
  jdbc {
    jdbc_driver_library => "/opt/module/logstash-7.8.0/lib/mysql/mysql-connector-java-5.1.49.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://192.168.2.226:3306/db_test01"
    jdbc_user => "root"
    jdbc_password => "root"
    jdbc_paging_enabled => true
    tracking_column => "unix_ts_in_secs"
    use_column_value => true
    tracking_column_type => "numeric"
    schedule => "*/5 * * * * *"
    statement => "SELECT *, UNIX_TIMESTAMP(modification_time) AS unix_ts_in_secs FROM es_table WHERE (UNIX_TIMESTAMP(modification_time) > :sql_last_value AND modification_time < NOW()) ORDER BY modification_time ASC"
  }
}
filter {
  mutate {
    copy => { "id" => "[@metadata][_id]"}
    remove_field => ["id", "@version", "unix_ts_in_secs"]
  }
 ruby {
        code => "event.set('timestamp', event.get('@timestamp').time.localtime + 8*60*60)"
    }
    ruby {
        code => "event.set('@timestamp',event.get('timestamp'))"
    }
    mutate {
        remove_field => ["timestamp"]
    }
}
output {
  # stdout { codec =>  "rubydebug"}
  elasticsearch {
      hosts => ["192.168.2.227:9200"]
      index => "es_table_index"
      document_id => "%{[@metadata][_id]}"
  }
}

详情请查看官网:

https://www.elastic.co/cn/blog/how-to-keep-elasticsearch-synchronized-with-a-relational-database-using-logstash

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要在Linux安装Logstash,您可以按照以下步骤操作: 1. 下载Logstash安装包,可以从官方网站或者其他可靠的下载站点获取。 2. 解压安装包到您想要安装的目录。 3. 配置Logstash的配置文件,包括输入、过滤和输出等。 4. 启动Logstash服务,可以使用命令行或者系统服务管理工具。 5. 测试Logstash是否正常工作,可以使用一些测试数据来验证Logstash是否正确地处理了数据。 需要注意的是,安装Logstash之前需要确保您的系统已经安装了Java运行环境。另外,Logstash的配置文件需要根据您的具体需求进行调整,以确保能够正确地处理数据。 ### 回答2: Logstash是一款用于数据处理的开源工具,可以将各种不同格式的数据从不同的来源采集、转换、过滤和输出。对于Linux系统安装Logstash需要经过以下步骤: 1. 下载并安装Java环境。Logstash需要运行在Java环境中,因此需要先安装Java。可以在终端中输入以下命令进行安装: sudo apt-get install default-jre 2. 下载并安装Logstash包。在官网下载Logstash的最新版,解压并安装。以下命令将Logstash包下载到本地: wget https://artifacts.elastic.co/downloads/logstash/logstash-7.14.0.tar.gz 解压Logstash包: tar -xzvf logstash-7.14.0.tar.gz 3. 配置Logstash。可以在/etc/logstash目录中创建一个新的配置文件,例如myconfig.conf,并编辑它以指定需要采集、转换、过滤和输出的数据。以下是一个简单的配置示例,它从stdin输入接收数据并将其发送到stdout输出: input { stdin {} } output { stdout {} } 4. 启动Logstash。可以在命令行中输入以下命令来启动Logstash: cd logstash-7.14.0/bin/ ./logstash -f /etc/logstash/myconfig.conf 运行Logstash后,可以使用Ctrl+C键来停止它。 5. 配置Logstash以作为服务运行。为了更方便地管理Logstash,可以将它配置为作为服务运行。以下是在systemd下配置Logstash服务的命令: sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable logstash.service sudo /bin/systemctl start logstash.service 以上是在Linux系统安装Logstash的基本步骤。要注意的是,在配置Logstash时,需要注意采集和处理数据的输入和输出,以使其能够顺利地完成数据管道的工作。同时,应根据实际需求进行配置,以满足具体的业务需求,提高数据处理的效率和精度。 ### 回答3: Logstash是一个在开源社区中广泛使用的日志收集和处理工具。它能够从多种数据源中获取任意类型的数据,经过过滤和转换后,将其输出到各种目标数据存储中。在本文中,我们将讨论如何在Linux系统安装Logstash。 步骤一:安装Java Logstash是基于Java编写的,因此必须先在系统安装Java。打开终端,输入以下命令,安装Java: $ sudo apt-get install openjdk-8-jre 步骤二:下载和设置Logstash安装Logstash之前,我们需要先从官网下载Logstash工具。首先在Web浏览器中访问https://www.elastic.co/cn/downloads/logstash并选择适合自己系统Logstash版本。 下载完成后,我们需要将下载的压缩包解压到本地。 $ tar xvf logstash-6.5.1.tar.gz 解压完成后,进入目录 logstash-6.5.1/bin,并启动Logstash: $ ./logstash -e 'input { stdin { } } output { stdout { } }' -e参数允许我们以命令行方式启动Logstash,它将会从标准输入(input)获取任何输入,并输出到标准输出(output)。因此,我们将在终端中看到输入的任何内容,并直接输出到屏幕中。 步骤三:配置Logstash 启动Logstash后,我们需要编辑配置文件,以将其与数据源进行连接。Logstash的配置文件通常存储在 /etc/logstash/conf.d 目录中。我们创建以下文件,来配置Logstash: $ sudo nano /etc/logstash/conf.d/apache.conf 输入以下内容: input { beats { port => 5044 } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] } } output { elasticsearch { hosts => ["localhost:9200"] } stdout { codec => rubydebug } } 该配置定位了数据输入端口 5044,并设置了数据格式过滤器。然后,将数据输出到Elasticsearch和标准输出流。 步骤四:启动Logstash服务 启动Logstash作为服务,以增强稳定性和自动化。通过以下命令启动Logstash: $ sudo systemctl start logstash 可以通过以下命令查看服务的状态: $ sudo systemctl status logstash 如果输出的状态显示“active (running)”表示服务运行正常。 此外,我们还可以使用以下命令开启自动启动: $ sudo systemctl enable logstash 以上就是Linux安装Logstash的流程。Logstash具有强大的数据采集能力,可以快速地获取和过滤数据,非常适合进行分布式系统数据分析和处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北凉-徐凤年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值