ELK学习实践(二)--基于Docker安装配置Logstash

安装环境

软件环境版本
操作系统Windows 10 prefessional
容器工具Docker Desktop for Windows
容器可视化工具Kitematic
命令行工具PowerShell

1.安装Logstash

搜索Logstash镜像

docker search logstash

下载镜像

docker pull elastic/logstash:6.8.2

logstash的版本最好与elastic保持一致

创建容器

docker run -it -d --name logstash -p 5044:5044 -p 9600:9600 -v /d/Share/Logstash/Config/:/usr/share/logstash/config/ elastic/logstash:6.8.2

-v 主机目录:容器目录 命令是将主机目录映射到容器目录下。上述代码中的/d/Share/Logstash/Config/代表主机Windows操作系统中的D:/Share/Logstash/Config/,/usr/share/logstash/config/代表容器Linux操作系统中的目录

2.配置Logstash

进入命令行交互界面

docker exec -it logstash /bin/bash

打开并浏览目录

#浏览根目录
ls
#打开config目录
cd config
#浏览config目录
ls
#打开编辑logstash.yml配置文件
vi logstash.yml
#打开编辑pipelines.yml配置文件
vi pipelines.yml
#返回上级目录
cd ../
#打开pipeline目录
cd pipeline
#浏览pipeline目录
ls
#打开编辑logstash.conf配置文件
vi logstash.conf

编辑logstash.yml配置文件

http.host: "0.0.0.0"
xpack.management.elasticsearch.hosts: ["https://127.0.0.1:9200"]

编辑pipelines.yml配置文件

 #默认管道(管道标识、配置文件路径)
 - pipeline.id: main
   path.config: "/usr/share/logstash/pipeline/"
 #自己添加的管道(支持多个管道)
 - pipeline.id: mypipe
   path.config: "/usr/share/logstash/config/logstash.conf"

编辑logstash.conf配置文件

#数据输入(支持http\数据库\消息队列等)
input {
  beats {
    port => 5044
  }
}

#数据输出
output {
  #数据输出至Elasticsearch
  elasticsearch {
    hosts => ["http://127.0.0.1:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

保存文件并退出编辑器。
退出命令行交互界面

exit

重启容器

docker restart logstash
3.数据库连接配置

logstash支持从http\tcp端口、数据库(MySQL\ORACLE\SQLServer)、消息队列(Kafka、RabbitMQ)等输入数据。下面以SQL Server数据库的连接为例说明。

以root权限进入命令行交互界面(后续操作中需要root权限)

docker exec -it --user root logstash /bin/bash

安装gem组件(用于后续安装数据库驱动插件)

yum install gems

修改gem数据源地址

#添加新的数据源地址,移除原有数据源地址
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
#查看当前数据源地址列表
gem sources -l

打开logstash的Gemfile文件

vi Gemfile

修改Gemfile首行数据源地址

source https://gems.ruby-china.com/

保存并退出编辑器。

打开logstash的bin目录,安装logstash-input-jdbc插件

#打开bin目录
cd bin
#浏览bin目录
ls
#安装jdbc插件
logstash-plugin install logstash-input-jdbc

下载sqljdbc驱动包,拷贝至主机共享文件目录。

下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=55539

打开并编辑logstash.conf配置文件,添加jdbc配置项

input {
  jdbc {
    #数据库驱动
    jdbc_driver_library => "/usr/share/logstash/config/mssql-jdbc-7.0.0.jre8.jar"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    #数据库连接字符串
	jdbc_connection_string => "jdbc:sqlserver://192.168.199.203:1433;DatabaseName=BTPreservation;"
    jdbc_user => "admin"
    jdbc_password => "Admin123"
    # schedule => 分 时 天 月 年  
    # schedule => * 22  *  *  *     //will execute at 22:00 every day
    schedule => "* * * * *"
    jdbc_paging_enabled => true
    jdbc_page_size => 1000
    clean_run => false
    use_column_value => true
    #索引的类型
    #type => "advancelist"
    }
}

保存并退出编辑器。
退出命令行交互界面

exit

重启容器

docker restart logstash
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值