centos7系统直接安装filebeat并传输登录和history到elk

2024-05-24 09:56:47 浏览数 (21)

前言

上一篇文章通过docker启动filebeat,有时候目标服务器无法安装docker,将filebeat直接安装在系统内。

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

利用elk日志分析系统收集history历史命令

下载filebeat

解压

代码语言:javascript复制
tar xvf filebeat-8.2.0-linux-x86_64.tar.gz -C /opt/
mv filebeat-8.2.0-linux-x86_64/ filebeat

filebeat.yml

代码语言:javascript复制
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/secure
  fields:
    log_type: secure

- type: log
  enabled: true
  paths:
    - /var/log/command.log
  fields:
    log_type: command

output.logstash:
  hosts: ["IP:5044"]  #logstash 服务器
  enabled: true
  worker: 1
  compression_level: 3
  loadbalance: true

close_older: 10m
force_close_files: true

修改主机名

代码语言:javascript复制
hostnamectl set-hostname  wlmq-xxx-xxx-server-125193

生成command.log

代码语言:javascript复制
# vim /etc/bashrc
HISTDIR='/var/log/command.log'
# 定义Command日志的格式
export HISTTIMEFORMAT="{"TIME":"%F %T","HOSTNAME":"$HOSTNAME","LI":"$(who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g')","LU":"$(who am i|awk '{print $1}')","NU":"${USER}","CMD":""
# 输出日志到指定的log文件
export PROMPT_COMMAND='history 1|tail -1|sed "s/^[ ] [0-9]  //"|sed "s/$/"}/">> ${HISTDIR}'

# 创建command.log
touch /var/log/command.log && chmod 666 /var/log/command.log

启动filebeat

代码语言:javascript复制
# 调试
cd /opt/filebeat
./filebeat -e -c filebeat.yml

# 后台启动
screen ./filebeat -e -c filebeat.yml

验证是否生效

1 人点赞