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 10:28
下一篇 2016-11-07 10:31

相关推荐

  • DNS从入门到管理(一)

    DNS从入门到管理(一) DNS概念 DNS三步法 反向解析 主从DNS服务器的实现 子域授权 智能DNS 压力测试与DNS排错 DNS概述 DNS(Domain NameSystem,域名系统),域名和IP地址相互映射的一个分布式数据库,通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。而DNS的主要作用,就是域名解析,将主机名解析成IP地址。…

    Linux干货 2016-10-06
  • 数组、变量及bash的配置

    数组、变量及bash的配置 变量:存储单个元素的内存空间 数组:存储多个元素的内存空间,相当于多个变量集合 索引:编号从0开始,属于数值索引,索引为自定义格式即为关联数组(bash4.0之后支持) bash数组支持稀疏格式 数组的声明 普通数组declare –a 关联数组 declare –A 普通数组可以不声明直接使用,关联数组必须先声明再使用 数组的赋…

    Linux干货 2016-08-26
  • 源码包编译安装MariaDB-10.1.22

    源码包编译安装MariaDB-10.1.22 1、获取源码包        mariadb-10.1.22.tar.gz 2、编译环境及依赖关系     yum groupinstall -y Development Tools yum -y install …

    Linux干货 2017-03-16
  • MBR

    关于磁盘的使用,必须要弄明白MBR 分区划分方式     centos 6:扇区划分     centos 7:柱面划分 MBR:Master Boot Record:512bytes 0磁道0扇区 512bytes=446bytes(boot loader) + 4*16byt…

    Linux干货 2016-09-05
  • 马哥教育21期网络班—第一周课程+练习

    计算机的组成及功能 根据冯·诺依曼原理 现在计算机有五部分组成 分别是:运算器、控制器、存储器、输入设备和输出设备 现在把运算器和控制器做到一块就是所谓的CPU CPU = 运算器+控制器 存储器:memory 用于存储信息的记忆设备,存储器分为ROM和RAM 编址存储设备 ROM:只读存储器,寻址地址空间的组成部分 RAM:随机存储器 输入和输出设备: 输…

    Linux干货 2016-06-26
  • Linux获取命令帮助方法全揽

    Linux获取命令帮助方法全揽 Linux命令分类 内置命令:shell程序自带的命令 外部命令:独立的可执行程序,在linux系统中存在与命令名称相同的可执行文件,需要shell程序通过环境变量解析到对应的可执行性文件后才可执行 可使用type COMMAND查看命令的分类 获取帮助的方法 内置命令获取帮助 命令格式:help COMMAND 外部命令获取…

    Linux干货 2017-07-02