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

相关推荐

  • vsdf

    Linux干货 2017-10-23
  • Linux 2.6.39-rc3的一个插曲

    2011年4月12日,Linux 2.6.39-rc3发布了,Linus Torvalds写了一个发布邮件,其中包含了一个长长的为这个版本做过贡献的人员名单,这个名单中有很多看上去应该是中国人的名字,我挺为他们感到骄傲的(不知道你是否还记得以前本站的”Linux是由谁写的“)。 不过,没过一会,发现了一个bug,经过大家的调查(2.6.38版没有发现这个问题…

    Linux干货 2016-06-09
  • 让运维工程师不再蓝瘦、香菇

    最近广西一小哥失恋后录的视频风靡互联网,也让“蓝瘦、香菇”这两个词火了一把。虽然原故事男主角是因为失恋才蓝瘦、香菇,但想想作为运维“狗”的我们也时常因强大的工作压力而蓝瘦,常常在晚上睡得香呼呼的时候因为要处理故障从温暖的被窝爬起来,看着铝朋友鄙视的眼神,真的好香菇……本来作为技术大牛的我们,工作应该是很酷的事情,享受的应该是小白美铝们崇拜的眼神,可现在却那么…

    系统运维 2017-01-09
  • CentOS系统启动

    Linux组成 Linux: kernel+rootfs kernel:  进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs: 程序和glibc 库:函数集合, function,  调用接口(头文件负责描述) 过程调用:procedure ,无返回值 函数调用:function 程序:二进制执行文件 内核设计流派…

    2017-05-15
  • SQL Server 2012 故障转移群集最佳实践

    一、Windows server  2012 系统主域的安装配置 功能介绍:  SQL Server 故障转移群集在网络上显示为一台计算机上的单个 SQL Server 实例。在群集内部,一次只有一个节点拥有群集资源组,满足针对该故障转移群集实例的所有客户端请求。在出现故障(硬件故障、操作系统故障、应用程序或服务故障)或进行计划升级时,组…

    Linux干货 2015-10-27
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存 至/tmp/maxusers.txt文件中。 5、取出当前主机…

    Linux干货 2016-11-21