1、LogStash介绍及安装
官网:
https://www.elastic.co/guide/en/logstash/current/index.html
1.1、介绍
logstash就是一个具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。是一个input | filter | output 的数据流。
1.2 、node01机器安装LogStash
下载logstache并上传到第一台服务器的/home/es路径下,然后进行解压
下载安装包—可以直接将已经下载好的安装包上传到/home/es路径下即可
cd /wph/soft
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.7.0.tar.gz
解压
tar -zxf logstash-6.7.0.tar.gz -C /wph/install/
1.3、Input插件
1.3.1 stdin标准输入和stdout标准输出
使用标准的输入与输出组件,实现将我们的数据从控制台输入,从控制台输出
cd /wph/install/logstash-6.7.0/
bin/logstash -e ‘input{stdin{}}output{stdout{codec=>rubydebug}}’
{
“@version” => “1”,
“host” => “node01”,
“@timestamp” => 2018-10-13T08:33:13.126Z,
“message” => “hello”
}
1.3.2 监控日志文件变化
Logstash 使用一个名叫 FileWatch 的 Ruby Gem 库来监听文件变化。这个库支持 glob 展开文件路径,而且会记录一个叫 .sincedb 的数据库文件来跟踪被监听的日志文件的当前读取位置。所以,不要担心 logstash 会漏过你的数据。
编写脚本
cd /wph/install/logstash-6.7.0/config
vim monitor_file.conf
#输入一下信息
input{
file{
path => “/wph/install/datas/tomcat.log”
type => “log”
start_position => “beginning”
}
}
output{
stdout{
codec=>rubydebug
}
}
检查配置文件是否可用
cd /wph/install/logstash-6.7.0/
bin/logstash -f /wph/install/logstash-6.7.0/config/monitor_file.conf -t
成功会出现一下信息:
Config Validation Result: OK. Exiting Logstash
启动服务
cd /wph/install/logstash-6.7.0
bin/logstash -f /wph/install/logstash-6.7.0/config/monitor_file.conf
发送数据
新开xshell窗口通过以下命令发送数据
mkdir -p /wph/install/datas
echo “hello logstash” >> /wph/install/datas/tomcat.log
其它参数说明
Path=>表示监控的文件路径
Type=>给类型打标记,用来区分不同的文件类型。
Start_postion=>从哪里开始记录文件,默认是从结尾开始标记,要是你从头导入一个文件就把改成”beginning”.
discover_interval=>多久去监听path下是否有文件,默认是15s
exclude=>排除什么文件
close_older=>一个已经监听中的文件,如果超过这个值的时间内没有更新内容,就关闭监听它的文件句柄。默认是3600秒,即一个小时。
sincedb_path=>监控库存放位置(默认的读取文件信息记录在哪个文件中)。默认在:/data/plugins/inputs/file。
sincedb_write_interval=> logstash 每隔多久写一次 sincedb 文件,默认是 15 秒。
stat_interval=>logstash 每隔多久检查一次被监听文件状态(是否有更新),默认是 1 秒。
1.3.3、jdbc插件
jdbc插件允许我们采集某张数据库表当中的数据到我们的logstashe当中来
第一步:编写脚本
开发脚本配置文件
cd /wph/install/logstash-6.7.0/config
vim jdbc.conf
input {
jdbc {
jdbc_driver_library => “/wph/install/mysql-connector-java-5.1.38.jar”
jdbc_driver_class => “com.mysql.jdbc.Driver”
jdbc_connection_string => “jdbc:mysql://192.168.31.82:33