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

原文链接: https://my.oschina.net/hmc71/blog/226429

History记录到syslog中



日志类型


auth       -用户授权 
authpriv   -授权和安全 
cron       -计划任务:at ,cron 
daemon     -系统守护进程 
kern       -与内核有关系的信息 
lpr        -与打印服务有关的信息。 
mail       -与电子邮件有关的信息 
news       -来自新闻服务器的信息 
syslog     -由 syslog 生成的信息 
user       -用户的程序生成的信息,默认。 
uucp       -由 uucp 生成的信息 
local0~7   -来定义本地策略          #用于记自定义去记录日志


日志的级别分为七级,从紧急程度由高到底:

alert    -需要立即采取的动作 
crit     -临界状态 
err      -错误状态。等同error 
warning  -预警信息,等同warn 
notice   -正常但是要注意 
info     -正常消息 
debug    -调试 
 

首先配置命令记录到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,所执行过的命令


转载于:https://my.oschina.net/hmc71/blog/226429

你可能感兴趣的:(LINUX 操作记录到syslog,并发送到syslog服务器上)