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

相关推荐

  • 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i sum_login=0 declare -i sum_nologin=0 while read line;do shell=$(echo $l…

    Linux干货 2017-03-05
  • grep基本正则表达式以及扩展正则表达式

    基本正则表达式: grep:Globel serach REgular expression and print out the line 作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,打印匹配到的行 模式:由正则表达式的元字符及文本字符所编写出的过滤条件 grep选项:       &nbs…

    Linux干货 2016-08-08
  • 包管理一:配置本地ISO的yum源

    故事背景:网上找了一个软件,但是这个软件需要依赖光盘上面的基础包,但是这个服务器又不能上网,怎么办? 方法:这里推荐配置本地ISO的yum源,然后yum localinstall xxx.rpm 1、yum的配置文件说明 配置文件: /etc/yum.conf:为所有仓库提供公共配置 /etc/yum.repos.d/*.repo:为仓库的指向提供配置 仓库…

    Linux干货 2016-01-05
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用文件管理命令有:ls、mkdir、cd、pwd、cp、rm、mv、touch、cat、more、less、head、tail等 (1)ls命令:列出目录内容 ls [OPTION]… [FILE]…  &nbs…

    Linux干货 2016-06-29
  • man手册的使用

    在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法。下面来介绍下man 环境CentOS6.8 man – format and display the on-line manual pages 在线使用手册格式及展示通俗点来说它就是命令的使用手册。它共分九个章节 1、用户命令2、系统调用3、C库调…

    Linux干货 2016-10-19
  • 系统基础之vim工具详解

    vim工具详解 作为运维人员,每天要面对大量的文件操作,如何使用一个功能强大,操作快捷的文本编辑器,就至关重要.那天,今天给大家详细的介绍下vim这款编辑器,完全符合我们的要求,下面让我们一起来看看吧! 概论:  文本编辑器:  文本:纯文本信息,   ASCII text:  纯粹的,不加修饰的文字  文本…

    Linux干货 2016-08-10