rsyslog简介

rsyslog是CentOS6和CentOS7默认的记录日志的服务

支持特性:

  • UDP, TCP, SSL, TLS, RELP
  • MySQL, PGSQL, Oracle实现日志存储
  • 强大的过滤器,可实现过滤记录日志信息中任意部分
  • 自定义输出格式

常见术语:

  • facility:设施,从功能或程序上对日志进行归类:

auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, local0-local7, syslog

  • Priority 优先级别,从低到高排序:

debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

配置文件格式:

/etc/rsyslog.conf 配置文件由三部分组成

  • MODULES:相关模块配置
  • GLOBAL DIRECTIVES:全局配置
  • RULES:日志记录相关的规则配置

RULES设置方式:

  • facility

*: 所有的facility
facility1,facility2,facility3,...:指定的facility列表

  • priority:

*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息

  • target:

文件路径:通常在/var/log/,文件路径前的-表示异步写入
用户:将日志事件通知给指定的用户,* 表示登录的所有用户
日志服务器:@host,把日志送往至指定的远程服务器记录
管道: | COMMAND,转发给其它命令处理

启动网络日志服务:

可以把开启自己的网络服务模式,把其他主机的日志保存到本机,相当于日志服务器的功能。

  • 通常的日志格式:

事件产生的日期时间 主机 进程(pid):事件内容
如: /var/log/messages,cron,secure等

  • 配置rsyslog成为日志服务器

#### MODULES ####         在MODULES模块下把对应的配置注释取消即可
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

常用的日志说明:

  • /var/log/secure:系统安装日志,文本格式,应周期性分析
  • /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
  • /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
  • /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
  • /var/log/dmesg:系统引导过程中的日志信息,文本格式。可以通过文本查看工具查看,也可以通过专用命令dmesg查看
  • /var/log/messages :系统中大部分的信息
  • /var/log/anaconda : anaconda的日志

rsyslog设置举例

我们知道sshd的默认日志是保存在/var/log/secure的

# 查看sshd的默认配置

# cat /etc/ssh/sshd_config

SyslogFacility AUTHPRIV    # 默认是保存在AUTHPRIV设施里的

# 查看rsyslog配置

# cat /etc/rsyslog.conf

authpriv.* /var/log/secure    # 可以看到authpriv设施下的所有级别的日志都保存到/var/log/secure中

这里我们设置把sshd的日志保存到一个没占用的设施local0中,并将local0的所有日志保存到/var/log/ssh文件中

1、修改sshd配置

# vim /etc/ssh/sshd_config

SyslogFacility local0

2、修改rsyslog配置
#vim /etc/rsyslog.conf
在文挡最后新增如下行
local0.*

/var/log/ssh


3、启rsyslog和sshd服务
# systemctl restart rsyslog sshd 4、查看新生成的日志文件

#cat /var/log/ssh

rsyslog将日志记录在mysql中

1、安装mariadb和rsyslog-mysql程序包

# yum install mariadb-server rsyslog-mysql

2、创建rsyslog-mysql依赖的数据库

# rpm -ql rsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

# systemctl start mariadb

# msyql < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

3、创建用户,授权对Syslog数据库的全部访问权限

mysql> GRANT ALL ON Syslog.* TO 'wangq'@'172.16.%' IDENTIFIED BY '123456';

4、修改rsyslog配置

# vim /etc/rsyslog.conf

新增下面配置注意配置mysql的格式 :ommysql:DBHOST,DBNAME,DBUSER,PASSWORD

$ModLoad ommysql

*.info;mail.none;authpriv.none;cron.none    :ommysql:172.16.100.215,Syslog,wangqiang,123456

5、重启服务 # systemctl restart rsyslog

web显示rsyslog日志

安装开源loganalyzer,通过web查看mysql存储的日志

1、配置LAMP

# yum install httpd php php-mysql php-gd # service httpd start

2、网上下载 loganalyzer-4.1.7.tar.gz

# tar xf loganalyzer-4.1.7.tar.gz

# cd loganalyzer-4.1.7

# cp src /var/www/html

# cd /var/www/html

# mv src log

# cd log

# touch config.php

# chmod 666 config.php

3、登录web页面(http://x.x.x.x)配置loganalyzer,然后把权限改回664

# chmod 644 config.php

rsyslog日志服务部署的更多相关文章

  1. rsyslog日志服务的配置文件分析

    基于rsyslog日志服务的日志 在不同的LINUX系统,实现的软件略有不同. syslog,rsyslog,syslog-ng,用于实现系统日志的管理. [root@asianux4 ~]# rpm ...

  2. centos7设置rsyslog日志服务集中服务器

    centos7设置rsyslog日志服务集中服务器 环境:centos6.9_x86_64,自带的rsyslog版本是7.4.7,很多配置都不支持,于是进行升级后配置 # 安装新版本的rsyslog程 ...

  3. Rsyslog日志服务搭建

    rsyslog是比syslog功能更强大的日志记录系统,可以将日志输出到文件,数据库和其它程序.Centos 6.x默认的rsyslog版本是5.x. 网上关于rsyslog的安装配置文档倒是不少,但 ...

  4. Linux系统服务 1 ---- rSyslog日志服务

    1 日志 1 日志是系统用来记录系统运行时候的一些相关的信息的纯文本文件 2 日志的目的是保存相关程序的运行状态,错误信息等.为了对系统进行分析,保存历史记录以及在出现错误的时候发现分析错误使用 3 ...

  5. Linux-本地日志服务管理(rsyslog基础)

    目录 系统环境 1.常见的两种日志管理服务 1.1 RSYSLOG系统日志服务 1.2 ELK 2.RSYSLOG日志服务的相关知识 2.1 RSYSLOG日志消息级别 2.2 RSYSLOG日志服务 ...

  6. Linux下rsyslog日志收集服务环境部署记录

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  7. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  8. CentOS 6.7下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

    一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取 ...

  9. CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

    一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取 ...

随机推荐

  1. laravel如何A表中包含B表中信息

    A表中如何包含B表中的信息 首先看A表的信息 接着看B表的信息 我的需求就是 A表字段name对应B表字段ream_name然后得到B表的对应主键ID要在A表中查询出来 发现问题就是查询出来的id和A ...

  2. 通过django搭建一个简易的web页面(实现数据的查询、添加、修改、删除)

    一.创建django项目 通过命令创建: django-admin startproject 项目名称 创建app应用 python3 manage.py startapp 应用名 #这里manage ...

  3. docker映射

    端口映射 大-P对容器暴露的所有端口进行映射 小-p可以指定对哪些端口进行映射 第一种,只指定容器的端口,宿主机的端口是随机映射的 第二种,宿主机的端口和容器的端口一一对应, 第三种,只配置容器的ip ...

  4. CF div2

    这是一道二进制思维题: 将所有数字列成二进制形式,然后找出最大的一位“1”出现一次的位数: 然后把这个数提到前面,其他照常输出即可 #include<bits/stdc++.h> usin ...

  5. 10day 系统的selinux服务程序优化

    selinux服务对root用户权限进行控制 很多企业中:selinux服务默认关闭 centos6==centos7 临时关闭: 检查确认: getenforce --- 确认selinux服务是否 ...

  6. 图的最小生成树prim算法模板

    用prim算法构建最小生成树适合顶点数据较少而边较多的图(稠密图) prim算法生成连通图的最小生成树模板伪代码: G为图,一般为全局变量,数组d为顶点与集合s的最短距离 Prim(G, d[]){ ...

  7. 2019HDU多校第一场1001 BLANK (DP)(HDU6578)

    2019HDU多校第一场1001 BLANK (DP) 题意:构造一个长度为n(n<=10)的序列,其中的值域为{0,1,2,3}存在m个限制条件,表示为 l r x意义为[L,R]区间里最多能 ...

  8. 安装Docker:解决container-selinux >= 2.9问题

    1.安装Docker要求Centos内核版本高于3.10:通过uname  -r查看当前系统的内核版本 uname  -r 2.使用root登陆系统,确保yum包保持更新到最新: sudo yum  ...

  9. 每天进步一点点------ISE 12.4的FPGA设计基本流程

    基于ISE 12.4的FPGA设计基本流程 ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入.仿真.综合.布局布线.生成BIT文件.配置以及在线调试等 ...

  10. jmeter的使用--添加自定义函数和导入自定义jar

    1.添加自定义函数,增加  号码生成函数 MobileGenerator和身份证生成函数IdCardGenerator 在package org.apache.jmeter.functions;中增加 ...