天天看点

Logstash安装和使用Logstash介绍

Logstah安装及使用

  • Logstash介绍
    • 安装Logstash
    • 用logstash解析日志
      • 用Grok过滤器插件解析日志
      • 用GeoIP过滤器插件解析IP地址的地理坐标
    • 索引你的数据到Elasticsearch
    • 命令行启动logstash

阴差阳错踏入安全领域, 从一只小菜鸟挣扎着前进, 从一概不知搭建起一套完整的日志系统,走过很多弯路,有过迷茫和彷徨,学习到新东西,完成一个小任务又很有成就感呐,恩,继续学习,记录,干~

Logstash介绍

Logtash,顾名思义就是管道,作为一个开源的数据引擎,可以动态的接收不同的数据源,并且能够标准化的实现你所选择的目的地,以及你想要的数据格式。

输入:采集各种类型和样式的数据

过滤:实时解析和转换数据

输出:随意选择存储方式 ,当然最佳是elasticsearch

安装Logstash

最便捷的安装方式是直接解压压缩包,但是考虑到后续的升级操作,使用RPM包进行安装会更具扩展性。安装步骤如下:

官网下载链接:https://www.elastic.co/downloads/past-releases

选择版本

Logstash安装和使用Logstash介绍

下一步选择安装包类型

Logstash安装和使用Logstash介绍

将下载的包放入到系统目录下,执行安装操作

1.解压zip包进行安装

unzip logstash-6.5.4.zip

cd logstash-6.5.4

Logstash安装和使用Logstash介绍

2.RPM包安装

第一步: rpm -ivh logstash-6.5.4.rpm

Logstash安装和使用Logstash介绍

使用RPM包安装后会自动在/etc目录下创建一个logstash文件,该文件下是相关的配置信息;

Logstash安装和使用Logstash介绍

第二步:修改配置信息;

第三步:启动服务;

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/file.conf &

如果您使用的是默认路径的配置文件,修改完配置文件,使用该命令即可直接启动;

用logstash解析日志

在logstash安装目录下新建一个文件logstash.conf, 用来配置管道信息,此处以接收syslog为例进行描述,然后解析这些日志,并将这些日志写到一个Elasticsearch集群中。

Logstash安装和使用Logstash介绍

通常说的logstash管理有三个部分(input,filter,output)这里的input下面syslog{port => “8514”}的意思是使用该主机的8514端口对插件进行监听,而stdout{codec => rubydebug}的意思是输出到控制台,output有很多插件可供选择,一般首选elasticsearch,可根据实际情况进行配置,此处elasticsearch下面的host和index就是elasticsearch对应的主机和日输出的索引。

用Grok过滤器插件解析日志

logstash拥有丰富的filter插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!Grok 是 Logstash 最重要的插件之一。也是迄今为止使蹩脚的、无结构的日志结构化和可查询的最好方式。Grok在解析 syslog logs、apache and other webserver logs、mysql logs等任意格式的文件上表现完美。

用GeoIP过滤器插件解析IP地址的地理坐标

Logstash安装和使用Logstash介绍

当然这样配置是解析不出IP地址的,我的理解是一个filter grok插件只能解析一条数据,当使用一个filter解析数据的时候,应该再配一个filter来破译IP地址坐标, 配置如下(亲测可用):

Logstash安装和使用Logstash介绍

第一个filter配置信息是根据正则截取到source-ip信息,第二个根据source-ip信息破译出该地址的地理位置坐标,此处启动服务后我们查看控制台输出的信息,能够看到响应的地理位置信息:

Logstash安装和使用Logstash介绍

索引你的数据到Elasticsearch

Logstash安装和使用Logstash介绍

在这段配置中,logstash用http协议连接到elasticsearch,此处是指定远程的elasticsearch实例,启动服务后,我们查看elasticsearch的索引,数据已经存储进去。

命令行启动logstash

用如下命令启动logstash服务:

bin/logstash -f logstash-waf.conf

-f 意为加载指定的logstash配置文件,但此处启动的服务没有以守护进程运行,日志会直接打印在控制台;

正常的logstash服务应该以守护进程在后台启动,命令如下:

nohup bin/logstash -f logstash-waf.conf>>/data/logstash.out --config.reload.automatic &

nohup 后台启动

–config.reload.automatic 监视配置文件的改变,并且当配置文件被修改以后自动重新加载配置文件。

构思了很久才开始写CSDN博客, 自知排版很不好看, 各位小主勿嫌弃, 后续慢慢改进~