LINUX 操作记录到syslog,并发送到syslog服务器上

首先配置命令记录到syslog中:

在客户端的/etc/bashrc  下添加:

logger -p local3.info  \"`who am i` =======================================  is login \"

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; }); logger -p local3.info  \[ $(who am i)\]\# \""${msg}"\"; }'

logger命令:

 为syslog的shell接口命令,有一些参数,这里用了-p,主要是让它记录日志类型和级别。具体用法,请man一下

 不知道你想过没有,把命令直接追加到日志文件中,这样是也是可以,但是有两个问题,文件只存储本机上了,可人为删除,

 这样syslog不可以把记录传走,还是不安全,这样做是为了配合日志服务器的记录,达到安全性。还可以做监控报警

 架构是:syslog-ng   swatch   

 

再配置日志的输出:

上面已经把日志输入到系统的SYSLOG中了,现在目的把日志存储到哪的问题,上面的配置默认是到/var/log/message中的,

下面我更改一下:

1:本地存储:

修改/etc/syslog.conf    #  如果是CentsOS6以上版本,修改/etc/rsyslog.conf

加入

local7.info                 /var/log/user_command.log

上述是指定将local7这个类型的info级别的日志输入到/var/log/user_command.log中,当然还需要去配置回滚问题(这里不讲),这也可以使用*来匹配。这个不用我说了

 

也可以将日志传到别的地方,本次就是这样配置的,加入:

local7.info                        @log.server.com

 

下面是输出结果示例:

 

Nov  7 15:31:11 x.x.x.x root: [ root pts/0 2013-03-18 10:44 (10.57.41.86)]# source /etc/bashrc

Nov  7 15:31:20 x.x.x.x root: [ root pts/0 2013-03-18 10:44 (10.57.41.86)]# source /etc/bashrc

Nov  7 15:31:20 x.x.x.x root: [ root pts/0 2013-03-18 10:44 (10.57.41.86)]# echo poll

 

解释 :因客户端的与服务端的时间不一样,所以这里看到两个不一样的时间,这个也一个很好的参考,还是保留着吧,

       这里能看到的内容有:目标IP,目标用户,目标时间,目标登录IP,所执行过的命令

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值