ELK之LogStacs
LogStash是什么?
LogStash是一个开源的、分布式的、实时的数据收集引擎,动态实现数据的收集、过滤、分析和处理,然后输出符合我们预期的数据。
使用JRuby来开发。LogStash包含如下几部分:input、filter、output、codec。 完整的数据流,或者称为事件流 LogStash不只是一个input|filter|output的数据流,
而是一个input|decode|filter|encode|output的数据流。
LogStash两种方式:
LogStash安装配置和基本使用:
1.1.2.x系列的要求JDk1.7以上,5.x系列的要求JDK1.8以上
2.下载tar包网址
https://www.elastic.co/downloads/past-releases/logstash-6-2-3
3.下载后,直接解压
4.启动运行,在bin下, ./logstash -e 'input{stdin{}} output{stdout{codec=>rubydebug}}'
5.设置日志的级别
我这里的级别是设置的Info
如果需要更改日志级别 方法如下:
找到config目录下的logstash.yml 把log.level设置成error 这样就只有在出错的时候打印日志信息
6.配置文件
通常都是自己书写配置文件,最基本的配置式Input和Output,其他部分是可选的,比如在解压后的目录里面创建一个MyConf文件夹
然后创建一个first.conf 文件内容如下:
input{
stdin{
type=>"my_elk"
}
}
output{
stdout{
codec=>rubydebug
}
}
然后回到bin目录下边 运行命令
./logstash -f ../myconf/first.conf
结果如下:
7.后台运行
如果想要后台运行,可以在命令前面加nohup,后面加&
8.退出LogStash
后台运行的logstash,要退出的话,就只好kill进程了,关闭的时候,LogStash大致执行下面的步骤:
(1)停止所有的input、filter和output插件
(2) 处理所有正在运行中的事件
(3) 终止logstash的进程