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

logstash + influxdb_第1张图片
如果安装执行不成功,建议使用上文中官网下载的方法,不建议修改源

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控制台输出:
logstash + influxdb_第2张图片
influx查看:
logstash + influxdb_第3张图片

另一种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输出不变

你可能感兴趣的:(ELK,数据库,大数据,数据库,运维)