flume+kafka+spark实现实时监控用户操作记录

本文介绍了如何利用flume的spooldir Source监控用户操作日志,配合kafka进行数据传输,并结合spark实现实时分析。通过在用户登录时实时记录操作历史,确保日志的即时性。配置技巧包括设置HISTTIMEFORMAT以生成包含用户信息的时间戳格式的日志,以及 spooldir Source的配置,使其能够监控子目录并捕获新文件。
摘要由CSDN通过智能技术生成

数据源(生产者)

追加以下代码到/etc/profile

export HISTFILESIZE=10000000
export HISTSIZE=1000000
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` 
export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] "
LOGIP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
LOG_DIR=/var/log/history 
if [ -z $LOGIP ] 
then 
LOGIP=`hostname` 
fi 
if [ ! -d $LOG_DIR ] 
then 
mkdir -p $LOG_DIR 
chmod 777 $LOG_DIR 
fi
if [ ! -d $LOG_DIR/${LOGNAME} ] 
then 
mkdir -p $LOG_DIR/${LOGNAME} 
chmod 300 $LOG_DIR/${LOGNAME} 
fi
LOGTM=`date +"%Y%m%d_%H%M%S"` 
export HISTFILE="$LOG_DIR/${LOGNAME}/${LOGIP}-$LOGTM" 
export PROMPT_COMMAND="history -a"
chmod 600 $LOG_DIR/${LOGNAME}/*-* 2>/dev/null 

每次用户登录的操作记录为单个文件,操作痕迹清晰

网上有人说非实时记录,需要用户退出后才会生成记录,本人亲测是实时产生日志文件

 

如果你需要把行为日志写到一个文件中,方便flume实时扫描

export HISTFILESIZE=10000000
export HISTSIZE=1000000

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`   //输出登录用户ip
e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值