利用elk系统记录分析所有服务器ssh登录信息

2022-05-27 09:10:34 浏览数 (16)

前言

前几天部署了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 -d

logstash

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查看

最终图如开头所示

还可以设置仪表盘,更直观的显示信息

0 人点赞