rsyslog

Rsyslog

centos6及以后的版本默认使用的日志管理系统。Rsyslog实际上syslog的一个增强版本。

日志记录了用户在系统上的一切操作,通过查看日志可分析某些用户在设备上做了些什么。

日志也记录了服务器中自定义级别的全部信息,分析日志可查看系统性能情况!

Rsyslog是多线程的

Rsyslog可以支持网络,但是默认是将日志记录到本地,支持TCP,UDP等协议网络传输

Rsyslog安装系统够默认就有此包


Rsyslog的配置文件介绍 /etc/rsyslog.conf

  • 以下是安装后默认配置文件中的选项

-#### MODULES #### 模块段

例如:imuxsock是模块命令,正常来说模块是有.so结尾的这个不需要,会自动识别,而且路径也不需要写,会自动识别在/usr/lib64/rsyslog目录下

$ModLoad imuxsock	# 功能是支持本地日志
$ModLoad imjournal 	# 功能是支持使用journal,centos7中有此功能
#$ModLoad imklog	# 支持内核日志
#$ModLoad immark	# 支持日志标记
#$ModLoad imudp		# 支持使用UDP协议传输
#$UDPServerRun 514	# 传输端口
#$ModLoad imtcp		# 支持使用使用TCP协议传输
#$InputTCPServerRun 514

-#### GLOBAL DIRECTIVES #### 定义日志格式的指令

-$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat	# 日志格式模板
$IncludeConfig /etc/rsyslog.d/*.conf	# 加载rsyslog.d目录下所有以.conf后缀结尾的文件

-#### RULES ####

#kern.*                                     /dev/console
*.info;mail.none;authpriv.none;cron.none    /var/log/messages	# info级别的日志或严重度高于info级别的日志存放文件
authpriv.*                         	        /var/log/secure		# 认证相关的日志存放文件
mail.*                                      -/var/log/maillog	# 邮件相关的日志存放文件,-表示异步写入
cron.*                                      /var/log/cron		# 系统计划任务日志存放文件
*.emerg                                     :omusrmsg:*			# 所有达到emerg级别,都已wall方式通知所有在线用户
uucp,news.crit                              /var/log/spooler	# 新闻等信息存放文件
local7.*                                    /var/log/boot.log	# 服务器启动时的日志存放文件

日志记录规则分由两部分组成

1、日志类别facility[设施],从功能和程序上对日志进行分类,每一类的日志有单独的文件存储

 auth	认证类
 cron	计划任务
 daemon	
 ftp
 lpr
 mail	邮件
 news	新闻
 syslog	系统
 user	用户和内核
 uucp	
 local0 to local7	自定义

2、日志信息的记录级别

 emerg		崩溃
 alert		必须立即修改的信息
 crit		可能导致系统不能工作
 err		错误
 warning	警告
 notice		应该注意了
 info		一般信息
 debug		调试信息

 拿这行解释
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
所有程序从info级别的日志信息,除了mail,auth,cron的日志都记录到/var/log/messages中

程序设施:

* 			# 表示所有程序
sshd.info	# 也可以指定单程序

记录级别:

* 		# 所有级别
none	# 没有级别,就是不记录
info	# 表示info以上的级别都记录
=info	# 只记录info级别的日志

日志路径
文件路径:通常在/var/log目录下,文件路径前加 - 表示异步写入
  同步写入:只要发生了记录级别内的信息,立刻写入磁盘用户
  异步写入:发生了记录级别内的信息,先写入缓冲区,然后等待一个时间在写入磁盘
用户:将日志时间通知给指定的用户,直接在终端显示。*表示所有用户
   例:root,cheng 多个用户逗号隔开 或 *
日志服务器:@host,把日志推送到指定的远程服务器,由远程服务器帮忙存储记录日志
管道:|command,转发给其他命令处理


LAMP架构搭配LogAnalyzer构建一个通过web界面管理和查看日志的网站

场景
192.168.40.7当rsyslog日志服务器和Apache和PHP服务器
192.168.40.17当MySQL数据库服务器

安装httpd和PHP,源码或yum,根据要求安装

步骤:
1)在40.7rsyslog服务器上安装支持数据库的程序包

yum install rsyslog-mysql httpd php php-mysql php-gd -y

# 此包生成的文件 
rpm -ql rsyslog-mysql
#安装自带一个模块
  /usr/lib64/rsyslog/ommysql.so
# 此SQL脚本用于创建rsyslog数据库及表
  /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

2)40.7因为数据库不再本机,所以需要将此SQL脚本拷贝到数据库服务器

 scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 192.168.40.17:/data/

3)40.7编辑rsyslog配置文件将提至保存至数据库中

vim /etc/rsyslog.conf
添加
#### MODULES ####
$ModLoad ommysql

#### RULES ####
*.info;mail.none;authpriv.none;cron.none           :ommysql:192.168.40.17,Syslog,syslog,123123
											格式为:模块名:数据库地址,数据库名,连接用户,用户密码

4)40.17安装mariadb-server,

yum install -y mariadb-server
systemctl start mariadb
systemctl enable mariadb

5)导入传送过来的脚本

 mysql > /data/mysql-createDB.sql

6)40.17在数据库上创建授权rsyslog能连接至当前服务器的用户

 grant all on Syslog.* to syslog@'192.168.40.%' identified by '123123';

配置LogAnalyzer
源码包下载地址:https://loganalyzer.adiscon.com/downloads/

1)上传到虚拟机解压缩,lrzsz包,当时是现在的编译安装环境,所以网页根目录不再/var下

tar xf loganalyzer-4.1.8.tar.gz -C /var/www/html
cd /var/www/html

ls loganalyzer-4.1.8/
ChangeLog  contrib  COPYING  doc  INSTALL  src
# 此目录中真正用到的网站是src目录。所以单独移动出来
mv loganalyzer-4.1.8/src/ logs

# 进入lgos目录创建文件并授权,contrib目录下存放了两个文件就是创建目录的,可以自己看
touch config.php
chmod 666 config.php

通过浏览器访问并设置DB位置,DB名称,用户,密码等信息,输入时要注意大小写

设置完成后将刚才创建的文件权限回收
chmod 644 config.php

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值