logstash + influxdb

1,安装logstash output influxdb的插件

官网插件下载地址:
https://www.elastic.co/guide/en/logstash/current/output-plugins.html
官网influxdb output配置介绍:
[https://www.elastic.co/guide/en/logstash/current/plugins-outputs-influxdb.html#plugins-outputs-influxdb-data_points]
如果通过官网下载插件,请注意把下载文件放到 logstash/lib/logstash/outputs目录下

推荐使用快速安装插件

#查看目前是否有influxdb的插件
bin/logstash-plugin list --group output

#如果没有的话,运行此命令安装
bin/logstash-plugin install logstash-output-influxdb

在这里插入图片描述
如果安装执行不成功,建议使用上文中官网下载的方法,不建议修改源

2,logstash配置 + influx输出
input{
file {
path => ["/zork/aaa.log"]
type => “testjson”
start_position => “beginning”
codec => “json”
}
}
#读取本地日志文件,指定json输出
filter{
ruby {
code => "
cwd = event.get(’[system_info][process][cwd]’) #获取json串中cwd的值
event.set(‘system_info.process.cwd’,cwd) #添加时间
"
remove_field => ["@version",“message”,“system_info”] #不必要事件全部移除
}
}
#过滤,截取cwd

output{
stdout { codec => rubydebug}
influxdb {
db => “logstash_test” #库名
host => “192.168.2.175” #influx主机ip
port => “8086” #默认端口,可以不写
measurement => “mytable” #指定数据要进入的表
data_points => {
#“timestamp” => “%{@timestamp}” #可以不添加时间列,时间列自动获取@timestasmp
“path” => “%{path}”
“system_info.process.cwd” => “%{system_info.process.cwd}”
“type” => “%{type}”
“host” => “%{host}”
}
}
}
logstash控制台输出:

influx查看:
在这里插入图片描述

另一种logstash过滤方式,json过滤:
input{
file {
path => ["/zork/software/testjson.log"]
type => “testjson”
start_position => “beginning”
#codec => “json” #注释掉
}
}

filter{
json {
source => “message”
target => “jsoncontent”
add_field => {
“system_info.process.cwd” => “%{[jsoncontent][system_info][process][cwd]}”
}
remove_field => [“message”, “jsoncontent”,"@version"]
}
}
output输出不变

发布了42 篇原创文章 · 获赞 32 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章