rsyslog日志记录服务器

rsyslog日志记录服务器

部分思路总结摘自网络http://xuding.blog.51cto.com/4890434/1737947

一、syslog系统

1.syslog:系统日志服务,统一日志管理

支持C/S架构:可通过UDP或TCP协议提供日志记录服务;实现集中收集日志功能

(1)日志、事件

历史事件日志,保存系统上过去一段时间的发生的事件
事件:系统引导启动、应用程序启动、应用程序尤其是服务类应用程序运行过程中的一些事件;

(2)syslog种类

syslogd:system系统日志
klogd:kernel内核日志

2.syslog格式

事件产生的日期时间               主机        进程[pid] :事件内容
syslog系统仅能记录较为简单的事件格式,并非所有应用程序都会使用syslog记录,如httd

二、rsyslog日志系统

(1)facility:设施,从功能或程序上对日志收集进行分类;

auth:各应用程序认证功能相关
authpriv:各应用与授权相关
cron:与计划性任务相关
daemon: 和守护进程相关
kern:和内核相关
lpr:和打印系统相关
mail:和邮件系统相关
mark:和防火墙标记相关
news:和新闻组相关
security:和安全相关
user:和用户相关
uucp:unix to unix copy,unix系统间复制协议相关
local0-local7:8个可自定义使用分类模式
syslog:其他,不便于归类的全都记录在此处

(2)priority:优先级,日志级别

 从低到高:debug, info, notice, warn(warning), err(error), crit(critical),alert, emerg(panic)
  指定级别格式:
    *:所有级别;
    none:没有级别,不记录日志;
    priority:此级别(含)及其以上的所有级别;
    =priorty:仅指定的级别;

三、rsyslogd日志系统服务器

rsyslog程序环境:

配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/
主程序:/usr/sbin/rsyslogd
模块路径:/usr/lib64/rsyslog/
Unit File:/usr/lib/systemd/system/rsyslog.service

配置文件格式:

有三部分组成:严格按照配置段位置添加配置
    MODULES :指明加载模块,$ModLoad指令进行模块装载
    GLOBAL DIRECTIVES :全局配置指令
    RULES :日志记录规则;格式:facilty.priority          target
        RULES:
            facility.priority   target
            facility:
                *:所有的facility;
                f1,f2,f3,...:列表中给定的所有facility;
                    auth,authpriv,security.info
                f1.p1;f2,p2;f3.p3;...:列表中给定的所有facility;
                    auth.info;authpriv.notic;security,warn;
            priority:
                *:所有级别
                none:没有级别,不记录日志;
                PRIORITY:此级别(含)及其以上的所有级别;
                =PRIORITY:仅指定的级别;
        target:
                文件:将日志信息记录到指定的文件中;文件路径之前的“-”表示异步写入之意;
                用户:将日志事件通知给指定的用户;一般指登录到当前系统上的所有用户的终端;
                日志服务器:@rsyslog_server,把日志信息发往指定的日志服务器;
                管道:|COMMAND

其它几个日志文件:

/var/log/wtmp:当前系统成功登录系统的日志;需要使用last命令查看
/var/log/btmp:当前系统尝试登录系统失败相关的日志;需要使用lastb命令查看
    lastlog:显示当前系统上的所有用户最近一次登录系统的时间;
/var/log/dmesg:系统引导过程中的日志信息;也可以使用dmesg命令进行查看;

命令行客户端程序:

logger - a shell command interface to the syslog(3) system log module
    logger [options] [message]

配置rsyslog服务器的配置项:

(1)客户端:配置文件@HOST指明,输出到的服务器端,重启服务

(2)在/etc/rsyslog.conf文件MODULES段开启模块服务,使其监听在默认端口514,并重启服务器即可

#### modules ####
…………
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

配置基于Mysql存储日志信息

前提:准备好msql server或mariadb server;

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

# yum install rsyslog-mysql

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

 GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';
GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY 'rsyslogpass';
flush privileges;

(3) 生成所需要的数据库和表;通过导入createDB.sql脚本创建

mysql -ursyslog -h127.0.0.1 -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
创建完之后进入mysql进行验证
]# mysql
MariaDB [(none)]> show databases;
MariaDB [(none)]> use Syslog;
MariaDB [Syslog]> show tables;
MariaDB [Syslog]> desc SystemEvents;

rsyslog日志记录服务器

rsyslog日志记录服务器

rsyslog日志记录服务器

(4) 配置rsyslog使用ommysql模块

# vim /etc/rsyslog.conf

#### MODULES ####
......
$ModLoad ommysql

rsyslog日志记录服务器

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

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

rsyslog日志记录服务器

(6) 重启rsyslog服务;

]# systemctl restart rsyslog.service
]# systemctl status rsyslog.service 查看服务状态是否OK 
]#mysql
MariaDB [(none)]> use Syslog;
MariaDB [(none)]> select * from SystemEvents;
如果有数据,则表示成功。

(7) loganalyzer

WebGUI, 运行amp环境中;
    (a) 准备amp环境
        # yum install httpd php php-mysql php-gd
        # systemctl start httpd.service 
    (b) 安装loganalyzer
        # tar xf loganalyzer-VERSION.tar.gz
        # cd loganalyzer-VERSION
        # cp -a src  /var/www/html/loganalyzer-VERSION
        # cd /var/www/html
        # ln -sv loganalyzer-VERSION log
        # cd /root/loganalyzer-3.6.5/
        # cp contrib/* /var/www/html/log
        # cd /var/www/html/log 
        # chmod  +x *.sh
        # ./configure.sh
        通过URL访问http://HOST/log进行安装

rsyslog日志记录服务器 rsyslog日志记录服务器rsyslog日志记录服务器rsyslog日志记录服务器rsyslog日志记录服务器

出现报错如下,需要修改config.php配置文件中localhost为127.0.0.1

rsyslog日志记录服务器

        # vim config.php

rsyslog日志记录服务器

rsyslog日志记录服务器

rsyslog日志记录服务器

    # ./secure.sh

原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/58152

(0)
M20-1马星M20-1马星
上一篇 2016-11-07
下一篇 2016-11-07

相关推荐

  • 搭建缓存功能的WEB服务集群

    搭建缓存功能的WEB服务集群 实验简介 本文主要介绍双主模型的nginx proxy高可用集群的搭建方式。实验环境: 使用nfs服务器提供页面数据共享 使用单独的mariadb服务器提供关系型数据库 使用两台httpd服务器处理动态的php和静态页面资源 使用两台nginx服务器处理图片资源 使用两台varnish服务器作缓存处理 使用两台nginx作代理 …

    Linux干货 2017-07-15
  • sed 相关概念总结

    文件查看命令:cat, tac,rev cat [OPTION]… [FILE]… -E: 显示行结束符$ -n: 对显示出的每一行进行编号 -A:显示所有控制符 -b:非空行编号 -s:压缩连续的空行成一行 [root@CentOS7 ~]# cat yyy [root@CentOS7 ~]# cat -A yyy $ tac: 把…

    Linux干货 2016-08-12
  • CentOS启动流程排错

    grub legacy CentOS 6启动流程: POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init …

    Linux干货 2016-09-13
  • AWK文本工具和软件包管理

    AWK文本工具 两种版本1.nawk   2.gawk gawk    模式扫描和处理语言 选项: -F 指明输入时用到的字段分隔符 -v  var=value:自定义变量 基本格式: awk [options] ’program’   file…. program:pattern{action statrments;………

    Linux干货 2018-03-15
  • 解决CentOS SSH 连接慢

    1、关闭DNS反向解析在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。配置文件路径 vim /etc/ssh/sshd_configUseDNS=no 在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes 2、关闭SERVER上的GSS认证在authentication gssapi-with-mic…

    Linux干货 2018-01-10
  • 正则表达式基础以及grep的简单使用

    正则表达式基础以及grep的简单使用   1,定义 正则表达式是你所定义的模式模板,Linux可以用它来过滤文本。Linux工具(比如grep、sed、gawk)能够在处理数据时使用正则表达式对数据进行模式匹配。如果数据匹配模式,它就会被接受并进一步处理;如果数据不匹配,它就会被滤掉。 2,正则表达式的原则 (1)正则表达式模式都区分大小写。(2)…

    2017-04-09