前言


由于公司业务是由公司内部开人员及外包团队共同开发,所以需要使用rsyslog对history日志做收集、审计。虽然搭建及配置非常简单,但是在日常运维工作中很实用,所以记录下,方便日后快速搭建。如果有错误,望大神指正。

syslog简介


syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。

而rsyslog作为syslog的代替,功能多,性能好。

rsyslog的新功能:


rsyslog是一个加强版的syslog,具有各种各样的新功能,典型的有:

1、直接将日志写入到数据库。

2、日志队列(内存队列和磁盘队列)。

3、灵活的模板机制,可以得到多种输出格式。

4、插件式结构,多种多样的输入、输出模块。

5、可以把日志存放在Mysql ,PostgreSQL,Oracle等数据库中

PS:好吧以上内容其实都是大部分引用了别人的blog对rsyslog介绍,这边我主要讲下如何快速使用rsyslog及收集history日志。

部署环境

系统:Centos 6.4 X86_64

应用:rsyslogd 5.8.10

rsyslog服务端

IP:10.1.4.180

rsyslog客户端

IP:10.1.4.181

部署及配置

rsyslog部署

因系统自带rsyslog所以不需要安装,如果系统没带的话且能上网,则直接yum install rsyslog -y安装。

server端rsyslog.conf配置

vim /etc/rsyslog.conf

去掉以下项注释

$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的端口传来的日志

在最后添加以下行

local5.* /var/log/history.log  #将local类型5的日志存放到/var/log/history.log下

或在最后添加以下行

$template HistoryiLogFile, "/var/log/history/%HOSTNAME%.log" #以主机名为日志模板,模板名称为HistoryiLogFile
if $syslogfacility-text == 'local5' then -?HistoryiLogFile #接收local类型5的日志

重启rsyslog

service rsyslog restart

client端配置

vim /etc/rsyslog.conf

在最后添加以下行

local5.*  @10.1.4.180 #local类型5的日志通过UDP传输给10.1.4.180

vim /etc/bashrc

在最后添加

用来实时输出history日志

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"; }'

然后使其生效

source /etc/bashrc

重启rsyslog

service rsyslog restart

在server端tail -f var/log/history.log然后在客户端随便执行一条命令,观察server端是否有history日志生成。


小记:

   由于学习马哥视频的进度较慢,所以暂时先上一篇之前做的东西做为blog开篇,顺便吐槽下blog编辑样式问题,不知道为什么辛辛苦苦编辑的样式最后生成的就是一坨shit,跟我自己编辑的完全不一样,而且保存草稿就会更改样式,试过N遍都不行,,算了就酱~

rsyslog同步history日志(转载)的更多相关文章

  1. 设计模式综合列表【QQ空间日志转载】

    C++设计模式全篇 [QQ空间日志转载]

  2. rsyslog与journal日志架构

    系统日志架构概述 在centos7系统中有两个日志服务,分别是传统的rsyslog和新添加的systemd-journal systemd-journal是一个改进型的日志管理服务,可以收集来自内核. ...

  3. 通过filebeat、logstash、rsyslog采集nginx日志的几种方式

    由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器.而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一.如何有效便捷的 ...

  4. RHEL7通过Rsyslog搭建集中日志服务器

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建rsyslog日志服务器的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查看相 ...

  5. centos 如何用 rsyslog 搭建本地日志服务(续1: omprog模块与php deamon的配合使用)

    上一篇说到了如何用 rsyslog 搭建本地的日志服务,地址在这里,没有看的童鞋可以先瞅一眼 : http://www.cnblogs.com/smallrookie/p/5677004.html 显 ...

  6. Linux 之 rsyslog 系统日志转发(转载)

    一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍 ...

  7. rsyslog管理分布式日志

    [TOC] 背景 有一个4台机器的分布式服务,不多不少,上每台机器上查看日志比较麻烦,用Flume,Logstash.ElasticSearch.Kibana等分布式日志管理系统又显得大材小用,所以想 ...

  8. rsync同步常用命令[转载]

    转载:http://blog.csdn.net/niushuai666/article/details/16880061 如果你是一位运维工程师,你很可能会面对几十台.几百台甚至上千台服务器,除了批量 ...

  9. rsyslog收集nginx日志配置

    rsyslog日志收集配置 rsyslog服务器收集各服务器的日志,并汇总,再由logstash处理 请查看上一篇文章  http://bbotte.blog.51cto.com/6205307/16 ...

随机推荐

  1. select 响应时间 js

    HTML form select表单标签案例代码如下: 跳转菜单的需要放在head头部标签内的JS脚本代码:<script type="text/javascript"> ...

  2. linux的df命令

    man df可以查看磁盘的使用情况以及文件系统被挂载的位置 df -lh命令效果如下

  3. oracle、db2、sybase大型数据库面试总结

    1. oracle数据库单例.多例模式. 数据库创建之后会有一系列为该数据库提供服务的内存空间和后台进程,称为该数据库的实例. 每一个数据库至少会有一个实例为其服务. 2. mysql获取字段的长度用 ...

  4. (转)asp.net 使用cookie完成记住密码自动登录

     代码如下 复制代码 string username = this.txtUserName.Text;//用户名        string password = this.txtPassword.T ...

  5. JAVA泛型那些事儿

    本篇内容源于本人一个好友sgpro提供的java学习例子,现拿出来给大家分享. 此例子非常直观的通过代码讲解了java泛型的用法和好处,是笔者一直珍藏的最好的泛型学习笔记. 一.面向过程的时代 我们先 ...

  6. timestamp 正常日期转换成时间戳格式

    select cast(sysdate as timestamp) "DATE" from dual select to_timestamp(to_date(sysdate, 'y ...

  7. ajax+FormData+javascript 实现无刷新表单注册

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. mysql复制表

    create table 表名 like 要复制的表名  //复制表结构 insert into 表名 select * from 要复制的表名  //复制数据 方法2,一般不推荐,如果后台加数据,可 ...

  9. 多线程08-Callable和Future

    1.简介 Callable是一个接口,与Runnable类似,包含一个必须实现的call方法,可以启动为让另一个线程来执行,执行Callable可以得到一个Future对象 该对象可以监听Callab ...

  10. InnoDB概览

    InnoDB 采用了MVCC来支持高并发,并且实现了四个标准的隔离级别.其默认级别是REPEATABLE READ(可重复读) ,并且,通过间隙锁(next-key locking)策略防止幻读的出现 ...