Rsyslog入库

本文介绍如何使用Rsyslog将日志记录至数据库,并利用Loganalyzer进行管理和查看。涵盖Rsyslog配置、MySQL数据库搭建及Loganalyzer安装配置流程。

一:什么是日志

所谓的日志,就是记录过去发生的事情,在Linux中可以使用日志功能对过去发生的事件进行记录,方便日后对服务器的运行状况进行分析。

二:Rsyslog相关介绍

Linux中日志按照其记录的类型可分为系统日志(syslog)和内核日志(klog),而记录的方式通常也有两种,就是每个程序独立进行记录和使用日志系统进行记录。rsyslog就是日志系统的一种,由早期的syslog改进而来。

对于日志系统来说有两个重要的概念,那就是facilitypriorityfacility被称作设施,也就是对于每种信息采用的记录方式,而priority就是日志级别,相当于一件事情的重要程度。其各自常见的具体包含内容详见下表:

facility

各facility解释

priority

各priority解释

auth

为认证记录日志

debug

调试信息(最详细)

user

为用户类事件记录日志

info

通知信息,赐予debug

cron

为计划任务记录日志

notic

提示应该注意

daemon

为守护进程记录日志

warn、warning

提示信息

kern

为内核记录日志

err、erro

部分发生错误

news

为新闻组记录日志

crit

蓝色警报

mail

为邮件记录日志

alert

橙色警报

mark

为防火墙记录日志

emerg、panic

红色警报(最高级)

security

为安全类事件记录日志

   

rsyslog的priority指定方式:

*:所有级别都需要记录

None:没有级别需要记录

Priority:比此级别高的所有级别的日志信息都需要记录(包含此级别)

=priority:仅记录此级别

rsyslog的配置:

Rsyslog的主配置文件:/etc/rsyslog.conf

其住配置文件分为如下三段

#### MODULES ####:加载的模块

#### GLOBAL DIRECTIVES ####:全局参数配置段

#### RULES ####:具体的规则配置段

facility.priority target

target:

文件路径:将日志记录于指定的文件中(之前使用-表示异步写入)

用户:将日志信息通知给用户

*:所有用户

日志文件服务器:@SERVER 将日志信息发给日志文件服务器,由服务器进行记录

管道:|COMMAND通过管道送给其他命令处理

两个特殊日志

/var/log/wtmp#:保存用户最近登录成功的相关信息,此文件不能直接查看,只有使用last命令查看

/var/log/btmp#:保存影虎登录系统的失败尝试信息,使用lastb命令查看

三:配置实例之将日志记录于数据库中并使用loganalyzer查看和管理

实验环境规划:

主机名

IP

用途

A

192.168.2.150

测试使用,

B

192.168.2.151

MySQL数据库安装位置

1.配置主机B

准备好环境(yum仓库)后安装mysql

1
2
[root@localhost ~] # yum install mysql mysql-server -y
[root@localhost ~] # yum install rsyslog-mysql -y


启动mysql后创建rsyslog存放的数据库

1
[root@localhost ~] # mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql


为主机A授权


wKioL1Vb8HzQSBOIAADYxsHv88k397.jpg

配置好后重启rsyslog服务和mysql服务

2.配置主机A

配置rsyslog启用ommysql模块

rsyslog住配置文件中的modules配置段下添加如下行

$ModuLoad ommysql

定义某facility把日志记录于指定的数据库的指定表中,如下所示


wKiom1Vb7xfzkw6uAAEr-Jgh_SE008.jpg

3.测试

在主机A上安装zsh然后查看主机B数据库,出现如下信息,则成功


wKioL1Vb8WaRLWDDAAHU6JD8HPE007.jpg


4.配置实用loganalyzer查看和管理日志

在主机B上安装phpphp-mysqlhttp等软件包

1
[root@localhost ~] # yum install php php-mysql httpd


配置虚拟主机

在注释/etc/httpd/conf/httpd.conf中的DocumentRoot


wKiom1Vb8DHCBm8UAAEeUywEpYI634.jpg


/etc/httpd/conf.d/下新建虚拟主机配置文件virtual.conf,内容如下


wKioL1Vb8bfjZnl2AAB7W_jiegQ090.jpg


新建虚拟主机目录

1
[root@localhost conf.d] # mkdir /var/www/log


下载并解压 loganalyzer-3.6.5.tar.gz/var/www/log目录下

1
[root@localhost ~] # tar xf loganalyzer-3.6.5.tar.gz -C /var/www/log/


切换目录至/var/www/log/loganalyzer并移动其下的src/var/www/log/log

复制/var/www/log/loganalyer/contrib下的所有文件到/var/www/log/log目录

1
[root@localhost log] # cp /var/www/log/loganalyzer-3.6.5/contrib/* /var/www/log/log/


为移动过来的两个脚本文件添加执行权限

1
[root@localhost log] # chmod +x /var/www/log/log/*.sh


依次执行两个脚本

1
2
[root@localhost log] # ./configure.sh 
[root@localhost log] # ./secure.sh


修改配置文件和相关文件权限

1
2
[root@localhost log] # chmod 666 config.php 
[root@localhost log] # chown apache.apache ./ -R


重启服务测试

wKioL1Vb8eGDMjJSAAGgFx4UmJI012.jpg

按照提示配置,其中第七步时配置连接数据库相关信息


wKiom1Vb8HqxCDuyAAGJVTy2swQ574.jpg

wKiom1Vb8I7TfhgHAADLWljejo0706.jpg

配置好后的页面

wKioL1Vb8h2RdQQ8AAZ1XYHYkP0606.jpg

    到此,使用loganalyzer查看和管理日志配置成功。




本文出自 “linux-冒泡” 博客,请务必保留此出处http://7703592.blog.51cto.com/7693592/1653057

### rsyslog 配置与使用指南 rsyslog 是一种功能强大的日志处理工具,广泛应用于 Linux 系统中。以下是关于其配置和使用的详细介绍。 #### 1. 安装 rsyslog 大多数现代 Linux 发行版默认已预装 rsyslog。如果未安装,可以使用包管理器进行安装: ```bash sudo apt install rsyslog # Debian/Ubuntu 系列 sudo yum install rsyslog # CentOS/RHEL 系列 ``` 确认安装完成后,可以通过以下命令验证版本号: ```bash rsyslogd -v ``` #### 2. 启动与停止服务 对于基于 systemd 的系统,可使用 `systemctl` 来控制 rsyslog 服务的状态: 启动服务: ```bash sudo systemctl start rsyslog.service[^1] ``` 停止服务: ```bash sudo systemctl stop rsyslog.service[^1] ``` 重启服务(适用于修改配置文件后重新加载): ```bash sudo systemctl restart rsyslog.service[^1] ``` 设置为开机自启: ```bash sudo systemctl enable rsyslog.service[^2] ``` #### 3. 主要配置文件说明 rsyslog 的主要配置文件位于 `/etc/rsyslog.conf` 和 `/etc/rsyslog.d/*.conf` 中。这些文件定义了日志记录的行为、路径以及转发规则。 ##### 日志格式与优先级 rsyslog 支持多种日志设施(facility)和严重级别(priority)。常见的组合如下表所示: | 设施 (Facility) | 描述 | |------------------|--------------------------| | auth | 用户授权信息 | | cron | 计划任务相关 | | daemon | 背景进程 | | 优先级 (Priority) | 描述 | |--------------------|----------------------| | emerg | 紧急情况 | | alert | 应立即采取行动 | | crit | 关键错误 | 示例规则: ```plaintext *.* /var/log/all.log # 所有日志写入 all.log 文件 auth.info /var/log/auth.log # 将用户认证的日志保存至 auth.log mail.err /var/log/mail.err # 错误邮件日志单独存储 ``` #### 4. 设置远程日志服务器 为了集中管理和分析日志数据,通常会将多个客户端的日志发送到中央日志服务器。 ##### **服务器端配置** 编辑 `/etc/rsyslog.conf` 或创建新文件 `/etc/rsyslog.d/server.conf` 并添加以下内容: ```plaintext module(load="imtcp") # 加载 TCP 输入模块 input(type="imtcp" port="514") # 开放监听端口 514 ``` 保存更改后,重启 rsyslog 服务以使改动生效。 ##### **客户端配置** 假设目标日志服务器 IP 地址为 `192.168.1.100`,则需在客户端机器上的 `/etc/rsyslog.conf` 添加类似下面的一行: ```plaintext *.* @@192.168.1.100:514 # 使用可靠传输协议(TCP) ``` 完成之后同样记得执行重启指令让设定即时作用[^4]。 #### 5. 性能调优建议 随着业务增长,可能会遇到高负载场景下的性能瓶颈问题。此时可以从以下几个方面着手改进效率: - 减少不必要的调试信息; - 利用模板定制化输出字段减少冗余; - 实现轮询机制防止单次写满磁盘等问题发生; 更多高级特性如数据库集成、JSON 格式解析等功能详见官方文档或者参考资料中的具体章节[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值