首页 > 编程知识 正文

logstash filter,logstash安装

时间:2023-05-05 02:45:21 阅读:130806 作者:1905

Logstash的实际APP应用程序配置旨在分析nginx和apache每天生成的日志,监视url、ip和rest接口等信息,并允许将数据发送到elasticsearch服务。

config输入从日志文件中获取信息

file { path='/home/keepgostudio/demo/logs/test.log ' start _ position=' beginning ' }过滤grok当前为log stastasting 点击查看

如果没有特殊需要,使用默认的apache日志格式可以达到以下效果:

grok { match={ ' message '=[ ' % { combinedapachelog } }但是,如果尝试监视更多的信息,如url上的参数,默认表达式可以满足我们的需要在这种情况下,我们需要自己创建满足自己业务需求的表达式,并将其传达给logsttage

首先,在logstash的根目录下创建一个patterns文件夹。 此文件夹不是默认值。

接下来,在patterns文件夹中创建文件test_pattern。 (在此,为了方便起见,您并未根据pattern的功能命名文件,但在实际的APP应用程序中,您最好根据功能命名文件。 关于理由我知道。 在test_pattern文件中,可以自定义正则表达式,例如“名称正则表达式”,以便在grok中使用。

最后,必须使用名为pattern_dir的参数。 否则,logstash无法识别您自定义的这些正则表达式。

grok { patterns _ dir=[ '/home/keepgostudio/download/log stash-5.2.0/patterns ' ] match={ ' message '=[ ' http版本',' @版本' ] }例如,如果输入a=111b=2222c=3333,则在输出时,a、b和c将创建为三个字段。 这样做的好处是,您可以在需要查询某个参数时直接查询字符串,而不是搜索和分析字符串。

kv { source=' field _ name ' field _ split='?' ) }从} geoip这个文字中可以看出他的功能,根据ip检测城市、省、国、纬度、经度等地理信息。 此ip信息在logstash中的数据源中搜索,而不是在网络搜索中搜索。

geo IP { source=' field _ name ' fields=[ ' country _ name ',' region_name ',' city_name ',' latitude ',] 如果某个日志信息符合if规则,则该信息不会显示在out中,logstash将直接分析以下日志:

if [ field _ name ]==' value ' { drop { } }输出logstash输出到elasticsearch时,每个记录都会随机生成id。 刚开始接触时,建议采用手动输入法。 以这种方式组合elasticsearch服务有助于理解整个实现的流程。

elastic search { hosts=[ ' 192.168.1.4433609200 ' ]索引=' log stash-test-% { type }-% { host }附录test.cost log stash-5.2.0/patterns ' ] match={ ' messash } ' % { no _ params _ Apache log } ' } remove _ field=[ ' host ',] ' @ version ' ] } kv } geo IP { source=' IP ' fields=[ ' country _ name '、' region_name '、' city_name '和' ) HTTP_URL_WITH_PARAMS '? 3360 % { word : method } % { http _ URL 3360 URL }? %{NOTSPACE:params}? http/% { number 3360 http version } } ) ' HTTP_URL_WITHOUT_PARAMS '? 33660 % { word : method } % { not space : URL }? 3360 http/% { number : http version } (no _ params _ Apache log % { ipv 43360 IP } % { username } % { username } () ) ) aa - )“% { not space : referrer }”% { QS : agent } params _ Apache log % { ipv 43360 IP } % [ % { httpdate 3360 timestamp } :%{NUMBER:bytes}|- ) ' % { not space : referrer } ' % { QS : agent }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。