Loading... <h1><strong>前言</strong></h1> <hr /> <span style="font-size: 14px">由于公司业务是由公司内部开人员及外包团队共同开发,所以需要使用rsyslog对history日志做收集、审计。虽然搭建及配置非常简单,但是在日常运维工作中很实用,所以记录下,方便日后快速搭建。如果有错误,望大神指正。</span><br /> <h1><strong>syslog简介</strong></h1> <hr /> <p><span style="font-size: 14px">syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。</span></p> <p><span style="font-size: 14px">而rsyslog作为syslog的代替,功能多,性能好。</span></p> <h1><strong>rsyslog的新功能:</strong></h1> <hr /><span style="font-size: 14px">rsyslog是一个加强版的syslog,具有各种各样的新功能,典型的有:</span> <p><span style="font-size: 14px"> 1、直接将日志写入到数据库。</span></p> <p><span style="font-size: 14px"> 2、日志队列(内存队列和磁盘队列)。</span></p> <p><span style="font-size: 14px"> 3、灵活的模板机制,可以得到多种输出格式。</span></p> <p><span style="font-size: 14px"> 4、插件式结构,多种多样的输入、输出模块。</span></p> <p><span style="font-size: 14px"> 5、可以把日志存放在Mysql ,PostgreSQL,Oracle等数据库中</span></p> <p><span style="font-size: 14px">PS:好吧以上内容其实都是大部分引用了别人的blog对rsyslog介绍,这边我主要讲下如何快速使用rsyslog及收集history日志。</span></p> <h2><strong>部署环境</strong></h2> <p><span style="font-size: 14px"><strong>系统:</strong>Centos 6.4 X86_64</span></p> <p><span style="font-size: 14px"><strong>应用:</strong>rsyslogd 5.8.10</span></p> <p><span style="font-size: 14px"><strong>rsyslog服务端</strong></span></p> <p><span style="font-size: 14px"> IP:10.1.4.180</span></p> <p><span style="font-size: 14px"><strong>rsyslog客户端</strong></span></p> <p><span style="font-size: 14px"> IP:10.1.4.181</span></p> <h3><strong>部署及配置</strong></h3> <h4>rsyslog部署</h4> <p><span style="font-size: 14px">因系统自带rsyslog所以不需要安装,如果系统没带的话且能上网,则直接yum install rsyslog -y安装。</span></p> <p><strong>server端rsyslog.conf配置</strong></p> <p><span style="font-size: 14px">vim /etc/rsyslog.conf</span></p> <p><span style="font-size: 14px">去掉以下项注释</span></p> <pre class="brush:bash;toolbar:false">$ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) $ModLoad imudp #开启支持upd的模块 $UDPServerRun 514 #允许接收udp 514的端口传来的日志 ModLoad imtcp #开启支持tcp的模块 $InputTCPServerRun 514 #允许接收tcp 514的端口传来的日志</pre> <p><span style="font-size: 14px">在最后添加以下行</span></p> <pre class="brush:bash;toolbar:false">local5.* /var/log/history.log #将local类型5的日志存放到/var/log/history.log下</pre> <p><span style="font-size: 14px">或在最后添加以下行</span></p> <pre class="brush:bash;toolbar:false">$template HistoryiLogFile, "/var/log/history/%HOSTNAME%.log" #以主机名为日志模板,模板名称为HistoryiLogFile if $syslogfacility-text == 'local5' then -?HistoryiLogFile #接收local类型5的日志</pre> <p><span style="font-size: 14px">重启rsyslog</span></p> <p><span style="font-size: 14px">service rsyslog restart</span></p> <p><strong>client端配置</strong></p> <p><span style="font-size: 14px">vim /etc/rsyslog.conf</span></p> <p><span style="font-size: 14px">在最后添加以下行</span></p> <pre class="brush:bash;toolbar:false">local5.* @10.1.4.180 #local类型5的日志通过UDP传输给10.1.4.180</pre> <p><span style="font-size: 14px">vim /etc/bashrc</span></p> <p><span style="font-size: 14px">在最后添加</span></p> <p><span style="font-size: 14px">用来实时输出history日志</span></p> <pre class="brush:bash;toolbar:false">HISTFILESIZE=2000 HISTSIZE=2000 HISTTIMEFORMAT="%Y%m%d-%H%M%S: " export HISTTIMEFORMAT export PROMPT_COMMAND='{ command=$(history 1 | { read x y; echo $y; }); logger -p local5.notice -t bash -i "user=$USER,ppid=$PPID,from=$SSH_CLIENT,pwd=$PWD,command:$command"; }'</pre> <p><span style="font-size: 14px">然后使其生效</span></p> <p><span style="font-size: 14px">source /etc/bashrc</span></p> <p><span style="font-size: 14px">重启rsyslog</span></p> <p><span style="font-size: 14px">service rsyslog restart</span></p> <p><span style="font-size: 14px">在server端tail -f var/log/history.log然后在客户端随便执行一条命令,观察server端是否有history日志生成。</span></p> <hr /> <p><span style="font-size: 16px"><em><strong>小记:</strong></em></span></p> <p><span style="font-size: 14px"><em> 由于学习马哥视频的进度较慢,所以暂时先上一篇之前做的东西做为blog开篇,顺便吐槽下blog编辑样式问题,不知道为什么辛辛苦苦编辑的样式最后生成的就是一坨shit,跟我自己编辑的完全不一样,而且保存草稿就会更改样式,试过N遍都不行,</em><em><img src="//cto.wang/usr/uploads/2016/07/20160703163623-28.gif" />,算了就酱~</em></span></p> <hr /> <h2>参考文档</h2> <p><strong>搭建</strong></p> <p><span style="font-size: 14px"> http://showerlee.blog.51cto.com/2047005/1231160</span></p> <p><span style="font-size: 14px"> http://litaotao.blog.51cto.com/6224470/1283871</span></p> <p><strong>配置</strong></p> <p><span style="font-size: 14px"> http://my.oschina.net/duxuefeng/blog/317570</span></p> <p><span style="font-size: 14px"> http://www.linuxyw.com/a/yunweijingyan/xitongguanli/20130529/492.html</span></p> <p><span style="font-size: 14px"> http://blog.carlos-spitzer.com/2013/03/21/how-to-record-users-activity-in-the-whole-system-and-centralize-logs-with-rsyslog/</span></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信