rsyslog配置详解,结合mysql+loganalyzer展现

    环境:Centos7.2

前言:系统日日夜夜不停地运行着,有这么一个守护进程,兢兢业业地不断记录它运行产生的日志,有不起眼的闲言碎语,值得管理员撇一眼的系统报错,也默默地接收来自进程的严厉警告,甚至在内核崩溃前夕,同样不遗余力记录着当时发生的情形。他是无言的记录者,没有特别的修辞,但他的记录的文字却掷地有声。本文的主角——rsyslog。

官方介绍rsyslog是增强型的,多线程的syslog守护进程。rsyslogd – reliable and extended syslogd.

一、rsyslog

rsyslog特性:

    1.多线程

    2.支持MySQL,PGSQL,Oracle等关系型数据库存储

    3.强大的过滤器,实现过滤日志信息中任何部分的内容

    4.自定义输出格式

yum install rsyslog 即可安装

主配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

rsyslog记录日志,分为若干信道,每个信道有细分多个信息等级

信道-facility:

     auth 认证

    authpriv 认证(私有的)

    cron 计划任务

    daemon 守护进程

    kern 内核

    lpr 打印服务

    mail 邮件

    mark 防火墙标记

    news 新闻组

    security    安全

    user 用户相关

    uucp Unix主机之间拷贝文件

    syslog 自身的记录

    local0-local7    自定义的信道

信息等级-priority:越向下级别越严格

    debug    有调式信息的,日志信息最多,最详细的信息

    info 一般信息的日志

    notice 具有重要性意义的普通信息

    warn(warning) 警告信息,需要注意

    err(error) 严重错误,模块不能正常工作

    crit(critical) 临界预警,服务或系统不能正常运行

    alert 告警信息,需要马上修改的错误

    emerg(panic)    严重告警,内核级别错误,系统马上崩溃

配置文件分为三部分,需严格安装配置段位置添加配置

    #### MODULES #### 模块配置

    #### GLOBAL DIRECTIVES #### 全局指令

    #### RULES #### 记录规则

其中RULES 配置段:

     基本格式:facility.priority    target

        facility可选内容:

            前面所介绍的值

            * :表示通配所有facility

        priority可选内容:

            前面所介绍的值

            * :表示通配所有级别

            none :不记录日志

        facility.priority 可用特别组合:

            1)f1,f2,f3.pri    代表f1-f3指定的级别为pri

            2)f1.pri1,f2.pri2,f3.pri3    代表分开指定级别pri

        target可选内容

               文件:将日志信息记录到指定的文件中;文件路径之前的“-”表示异步写入之意;

               用户:将日志事件通知给指定的用户;一般指登录到当前系统上的所有用户的终端;

               日志服务器:@rsyslog_server,把日志信息发往指定的日志服务器;

               管道:|COMMAND

二、配置一台rsyslog收集服务器,负责记录其他主机日志

  服务端:修改配置文件启用udp,tcp模块

    

    #### modules ####

     …………

     # Provides UDP syslog reception

     $ModLoad imudp

     $UDPServerRun 514

    

     # Provides TCP syslog reception

     $ModLoad imtcp

     $InputTCPServerRun 514

    修改完成,重启服务。

systemctl restart rsyslog

客户端

    facility.priority    @server_ip

三、配置rsyslog记录日志于mysql

首先准备好mysql数据库服务

    (1) 安装rsyslog连接至mysql server的驱动模块;

     yum install rsyslog-mysql

    (2) 在mysql server准备rsyslog专用的用户账号;

    mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'%.cutemsyu' IDENTIFIED BY 'rsyslogpass';

    //数据库名Syslog需固定,后面mysql语句会创建该库。授权地址依照实际情况添加。

    (3) 生成所需要的数据库和表;

mysql -ursyslog -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
#模块自带的sql语句

    (4) 配置rsyslog使用ommysql模块

        #### MODULES ####

        ……

        $ModLoad ommysql 

    (5) 配置RULES,将所期望的日志信息记录于mysql中;

facility.priority     :ommysql:DBHOST,DB,DBUSER,DBUSERPASS

//例如: *.info,authpriv.none    :ommysql:node-02.cutemsyu,Syslog,rsyslog,rsyslogpass

    (6) 重启rsyslog服务;

四、结合loganalyzer页面显示

loganalyzer 用于显示日志的web GUI页面,php编写。需要amp环境。

准备amp环境,mysql数据库前面已经配置好

yum install httpd php php-mysql php-gd      #php-gd 为绘图所用库
tar xf loganalyzer-4.1.5.tar.gz        #解压项目包
cd  loganalyzer-4.1.5
cp -a src    /var/www/html/log    #拷贝项目下src目录至web server 目录下
cd /var/www/html/log
touch config.php    #后续安装所需的配置文件
chmod 666 config.php

现在打开浏览器,输入http://web_server_ip/log  准备配置loganalyzer。

初次打开,如果配置正确,出现缺少配置文件的错误,属于正常情况,点击继续配置

一路可按需修改,next

到下图页面,

source type:MYSQL Native

table type:Monitor Ware

database name 和table name 是固定的

图像 002.png

配置完成后,安全起见把配置文件权限做严格一些

chmod 644 config.php

至此大功告成!blob.png

原创文章,作者:cutemsyu,如若转载,请注明出处:http://www.178linux.com/53680

(0)
上一篇 2016-10-25 09:46
下一篇 2016-10-25 09:46

相关推荐

  • TCP 的那些事儿(上)

       TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面。所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获。关于TCP这个协议的细节,我还是推荐你去看W.Richard Stevens的《TCP/IP 详解 卷1:协议》(当然,你也可以去读一下RFC793以及后面N多的RFC)。另…

    Linux干货 2015-04-01
  • GREP EGREP的用法及正则表达式和扩展正则表达式简述

    egrep grep的使用方法 正则表达式及扩展表达式简述 使用事例   grep egrep都是文本搜索工具,可以把符合模式的行或字符显示出来,而这些模式grep一般使用正则表达式进行匹配,而egrep使用扩展正则表达式来进行匹配的。 grep及egrep的使用方法:           &nbs…

    Linux干货 2015-07-27
  • MySQL/MariaDB数据库基于SSL实现主从复制

    前言 备份数据库是生产环境中的首要任务,重中之重,有时候不得不通过网络进行数据库的复制,由于MySQL/MariaDB的主从复制是明文传送的,如果在生产环境中跨网络传送,数据的安全性就无法完全保证,为了解决这一问题,我们需要一种安全的方式进行传送,即基于SSL加密进行数据传输。 部署配置 实验拓扑 实验环境 系统环境:CentOS6.6 数据库版本:mari…

    Linux干货 2015-06-21
  • Linux nginx服务之反向代理

                       Linux nginx服务之反向代理 Nginx服务之反向代理: GSLB:Global Service LB 全局服务负载均衡: SLB:Service LB 应用程序发布: 灰度模型:   ngx_http_…

    系统运维 2016-11-18
  • RHCE系列之ntp服务器—-实践篇

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1319520 上篇Linux实战部署系列之ntp服务器—-理论篇为大家介绍时间的相关概念和ntp的原理,本篇博文将带大家一起部署生产环境中实现简单…

    Linux干货 2016-08-15
  • 设计模式 ( 十七) 状态模式State(对象行为型)

    设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if… ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或swit…

    Linux干货 2015-07-27