前言
前几天部署了elk日志分析系统,就想將所有服务器的登录日志统一分析。边使用边熟悉各个模块的配置

filebeat
修改docker-compose.yml
hostname:区分不同的主机 volumes:需要传输的日志文件映射到容器内
filebeat.yml
代码语言:javascript复制filebeat.inputs:
- type: log
enabled: true
paths:
- /log/secure
fields:
log_type: secure
output.logstash:
hosts: ["49.119.119.10:5044"]
enabled: true
worker: 1
compression_level: 3
loadbalance: true启动服务
代码语言:javascript复制docker-compose up -dlogstash
logstash-filebeat-secure.conf 配置
代码语言:javascript复制input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => ".*sshd[d ]: %{WORD:status} .* %{USER:username} from.*%{IP:clientip}.*" }
}
}
output {
if ([status] == "Accepted" or [status] == "Failed") {
elasticsearch {
hosts => [ "es-master:9200" ]
index => "secure-%{ YYYY.MM.dd}"
}
stdout {
codec => rubydebug
}
}
}kibana
管理索引和生命周期->索引模式->创建索引模式

通过Analytics->Discover查看

最终图如开头所示
还可以设置仪表盘,更直观的显示信息



