ELK-安装logstash

本文详细介绍了如何使用Logstash的JDBC插件从数据库中读取数据并将其发送到Elasticsearch的过程。包括下载和安装Logstash、安装logstash-input-jdbc插件、创建数据库和测试数据、配置jdbc.conf文件以及启动Logstash的步骤。

注意:在下载tar包的时候需要注意下安装的es版本号,按照官网的说明版本是对应一致的。

$ wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.2.tar.gz
$ tar -zxvf logstash-6.2.2.tar.gz

$ cd logstash-6.2.2

快速启动(需要java8 jre,目前不支持java9)
$ ./bin/logstash -e 'input {stdin {}} output {stdout {}}'

安装logstash-input-jdbc
$ cd /home/es/logstash-6.2.2/bin
$ ./logstash-plugin install logstash-input-jdbc

新建数据库,并添加增量测试数据

CREATE TABLE `tb_test` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

logstash config下新建jdbc.conf:
$ cd /home/es/logstash-6.2.2/config
$ vim jdbc.conf

#jdbc.conf内容如下

input {
        stdin{
        }
        jdbc {
          jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/elk?characterEncoding=UTF-8&useSSL=false"
          jdbc_user => "erp_test"
          jdbc_password => "erp_test@abc"
          jdbc_driver_library => "/home/es/logstash-6.2.2/lib/mysql-connector-java-5.1.46.jar"
          jdbc_driver_class => "com.mysql.jdbc.Driver"
          jdbc_paging_enabled => "true"
          jdbc_page_size => "10000"
          statement => "select * from tb_test"
          schedule => "* * * * *"
          type => "jbh_show"
        }
}
 
filter {
        json {
          source => "message"
          remove_field => ["message"]
        }
}
 
output {
        elasticsearch {
          hosts => ["localhost:9200"]
          index => "cmscontent"
          document_id => "%{id}"
        }
        stdout {
          codec => json_lines
        }
}

 

执行命令启动
$ cd /home/es/logstash-6.2.2/bin
$ ./logstash -f ../config/jdbc.conf

转载于:https://www.cnblogs.com/linjiqin/p/10696296.html

### 如何使用 logstash.bat 运行 Logstash 并指定 logstash.conf 配置文件 在 Windows 环境下运行 Logstash 时,可以通过 `logstash.bat` 脚本来启动 Logstash,并指定配置文件 `logstash.conf`。以下是具体的操作方法: #### 启动命令格式 ```batch logstash.bat --path.settings <settings_path> -f <config_file_path> ``` - `<settings_path>`:Logstash 的设置目录路径,通常包含 `logstash.yml` 文件。如果未指定,则会使用默认路径。 - `<config_file_path>`:Logstash 配置文件的完整路径,例如 `C:\elk\logstash\pipeline\logstash.conf`。 #### 示例命令 假设 Logstash 安装在 `C:\elk\logstash` 目录下,且配置文件位于 `C:\elk\logstash\pipeline\logstash.conf`,可以使用以下命令启动 Logstash: ```batch C:\elk\logstash\bin\logstash.bat --path.settings C:\elk\logstash\config -f C:\elk\logstash\pipeline\logstash.conf ``` #### 参数说明 1. `--path.settings`:指定 Logstash 的设置目录,该目录下通常包含 `logstash.yml` 文件[^1]。 2. `-f` 或 `--config.string`:用于指定 Logstash 的配置文件路径或直接传递配置字符串[^2]。 #### 注意事项 - 如果 Logstash安装路径中包含空格,请确保整个路径用双引号括起来。 - 在运行 Logstash 之前,请确保 Elasticsearch 和其他依赖服务(如 Redis、Kafka 等)已正常启动并可访问[^3]。 - 配置文件中的语法错误可能会导致 Logstash 启动失败。可以通过添加 `--debug` 参数来获取更详细的调试信息。 ```batch logstash.bat --path.settings "C:\elk\logstash\config" -f "C:\elk\logstash\pipeline\logstash.conf" --debug ``` #### 示例配置文件内容 以下是一个简单的 `logstash.conf` 配置文件示例: ```conf input { file { path => "/var/log/logstash/info.log" start_position => "beginning" } } filter { grok { match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}" } } } output { elasticsearch { hosts => ["http://192.168.182.128:9200"] index => "logstash-%{+YYYY.MM.dd}" } } ``` 此配置文件定义了一个从文件读取日志的输入插件、一个解析日志的过滤器插件,以及一个将数据发送到 Elasticsearch 的输出插件。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值