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,所执行过的命令

posted @   bonelee  阅读(12965)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2017-08-14 ES正常停止步骤
2017-08-14 有效的域名后缀列表
2017-08-14 sc.textFile("file:///home/spark/data.txt") Input path does not exist解决方法——submit 加参数 --master local 即可解决
点击右上角即可分享
微信分享提示