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

行云流水
2022-05-27 / 2 评论 / 402 阅读 / 正在检测是否收录...

前言

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

利用elk系统记录分析所有服务器ssh登录信息
利用elk日志分析系统收集history历史命令

下载filebeat

wget http://dl.itbunan.xyz/filebeat-8.2.0-linux-x86_64.tar.gz

解压

tar xvf filebeat-8.2.0-linux-x86_64.tar.gz -C /opt/
mv filebeat-8.2.0-linux-x86_64/ filebeat

filebeat.yml

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

修改主机名

hostnamectl set-hostname  wlmq-xxx-xxx-server-125193

生成command.log

# 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

# 调试
cd /opt/filebeat
./filebeat -e -c filebeat.yml

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

验证是否生效

评论 (2)

取消
只有登录/注册用户才可评论
  1. 头像
    cc
    中国福建省 · Windows 10 · Google Chrome
    沙发

    elk的模板图能分享下吗

    回复
    1. 头像
      行云流水 作者
      中国江苏省 · MacOS · Google Chrome
      @ cc

      拖拽试的,自己设置下就可以了啊

      回复