centos rsyslog mysql_Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

本文详细介绍了如何在CentOS 7.6上搭建rsyslog、loganalyzer和mysql日志管理服务器。通过此系统,可以集中收集和管理多台服务器的日志,便于查询、统计和审计。主要步骤包括:安装和配置rsyslog、mysql,创建数据库和用户,配置loganalyzer,以及调整客户端服务器的rsyslog配置以发送日志。此外,还提供了中文语言包的安装方法和系统迁移的注意事项。

参考来自:

日志管理服务器可以解决以下问题:

1、不再需要逐台服务器去查询系统日志文件

2、将日常的系统信息存储在mysql数据中,方便进行查询、统计、审计过滤等操作

3、通过其他软件可以实现扩平台日志收集,如使用evtsys采集window日志发送到linux日志服务器上

4、在linux下rsyslog配置比较简单,维护较为容易。

5、rsyslog+loganalyzer可以实现前端图形化查询等操作.

所搭建的服务器所用到的镜像文件及软件:

CentOS镜像文件下载地址:http://mirror.nsc.liu.se/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

一、准备工作:

1.配置IP,涉及到两个配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33和/etc/resolv.conf),使主机可以上网;

2.安装必要工具(使用vim、net-tools、wget等工具)

3.关闭selinux

setenforce 0

vim /etc/selinux/config

将配置文件中的SELINUX=enforcing 修改为 SELINUX=disabled

二、rsyslog的安装与配置

使用yum安装相关程序包:

1、安装LAMP:

yum install mysql-server mysql-devel httpd php-mysql php php-gd php-xml -y

2、安装rsyslog及驱动

yum install libcurl-devel net-snmp-devel rsyslog rsyslog-mysql -y

3、mysql-server

(1)网上下载mysql57-community-release-el7-11.noarch.rpm

并使用rpm安装:rpm -ivh mysql57-community-release-el7-11.noarch.rpm

(2)使用wget和yum进行下载和安装;

①使用wget下载

[root@localhost ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

--2018-01-08 16:57:46-- https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

正在解析主机 dev.mysql.com (dev.mysql.com)... 137.254.60.11正在连接 dev.mysql.com (dev.mysql.com)|137.254.60.11|:443... 已连接。

已发出 HTTP 请求,正在等待回应...302Found

位置:https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [跟随至新的 URL]

--2018-01-08 16:57:48-- https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

正在解析主机 repo.mysql.com (repo.mysql.com)... 23.1.165.122正在连接 repo.mysql.com (repo.mysql.com)|23.1.165.122|:443... 已连接。

已发出 HTTP 请求,正在等待回应...200OK

长度:25680 (25K) [application/x-redhat-package-manager]

正在保存至: “mysql57-community-release-el7-11.noarch.rpm”100%[=============================================================================================

=================================================================================================

====>] 25,680 --.-K/s 用时 0.1s2018-01-08 16:57:48 (232 KB/s) - 已保存 “mysql57-community-release-el7-11.noarch.rpm” [25680/25680])

[root@localhost~]#

②使用yum安装;

yum localinstall -y mysql57-community-release-el7-11.noarch.rpm

③查看Mysql源是否安装成功

[root@localhost ~]# yum repolist enabled | grep "mysql.*-community.*"

mysql-connectors-community/x86_64 MySQL Connectors Community 42

mysql-tools-community/x86_64 MySQL Tools Community 55

mysql57-community/x86_64 MySQL 5.7 Community Server 227

[root@localhost ~]#

④安装Mysql服务

yum install -y mysql-community-server

⑤查看Mysql服务是否安装成功

[root@localhost ~]# systemctl status mysqld

mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: inactive (dead)

Docs: man:mysqld(8)

http://dev.mysql.com/doc/refman/en/using-systemd.html

[root@localhost ~]#systemctl start mysqld //启动mysql

三、启动mysql服务:

1、初次启动时,会在/var/log/mysqld.log随机生成root密码,使用grep 'temporary password' '/var/log/mysqld.log'查看:

0868f997cb512d5fd7b48e1248f9114b.png

2、使用刚才找到的密码登录并修改root密码:

使用rpm -ql rsyslog-mysql 查询并找到该sql文件

[root@tiaobanji ~]# rpm -ql rsyslog-mysql

/usr/lib64/rsyslog/ommysql.so

/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

5edcdc043b61f867effa8380d7c130a3.png

使用该文件(mysql-createDB.sql)创建数据库,创建的数据库名为:Syslog

mysql -usyslog -p

假设将root密码设为Ww,12345678:

set password for root@'localhost'=password('Ww,12345678');

若密码复杂度较低,会提示错误信息:

24832a03ba34ec3909b0298c820eaa7c.png

有的帖子说是原因为mysql默认参数validate_password_policy=medium,将这个值设为0;修改就能使用较为简单的密码。

set global validate_password_policy=0(我在centos 7.6测试并不好用)

3、mysql中创建数据库Syslog的使用用户syslog并授权:

grant all on Syslog.* to 'syslog'@'127.0.0.1(本机IP)' identified by '111111(密码)';

flush privileges;

4、修改rsyslog配置文件:

vim /etc/sysconfig/rsyslog

添加两行:

SYSLOGD_OPTIONS="-c 2 -r -x -m 180"

KLOGD_OPTIONS="-x"

51f75eeec6f982454ae043d7a8d5ccf2.png

5、编辑rsyslog主配置文件/etc/rsyslog.conf:

在#### MODULES ####下进行以下操作:

取消ModLoadimudp、UDPServerRun 514 这2行的注释表示通过UPD协议的514端口接收日志文件。

添加$ModLoad ommysql 一行 #######配置服务端支持rsyslog-mysql模块

添加. :ommysql:192.168.4.200,Syslog,rsyslog,123456789 ####192.168.4.200表示本地主机,Syslog是数据库名,syslog是数据库用户,

bbdb78b5e7c045e38fb4ea2adbdfd46f.png

重启rsyslog:

systemctl restart rsyslog

四、loganalyzer的配置

1、在apache的默认documentRoot目录下(/var/www/html/)创建loganalyzer目录:

mkdir -p /var/www/html/loganalyzer

创建loganalyzer日志目录:

mkdir -p /var/log/httpd/loganalyzer

2、官网上下载Loganalyzer解压到/usr/loca/src下:

wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz

cd /usr/local/src

tar -zxvf loganalyzer-4.1.6.tar.gz

在解压后的loganalyzer-4.1.6目录内复制src/与contrib/下的所有文件到/var/www/html/loganalyzer目录下:

cd loganalyzer-4.1.6

cp -r src/* /var/www/html/loganalyzer

cp -r contrib/* /var/www/html/loganalyzer

ba34a4842d8aacb5d66d12ef20bf8d29.png

3、在/var/www/html/loganalyzer下创建config.php并设置权限:

touch config.php

chmod 666 config.php

4.在/etc/httpd/conf/httpd.conf文件为找到并修改配置为:

Listen 8080

DocumentRoot "/var/www/html/loganalyzer"

ErrorLog /var/log/httpd/loganalyzer/error.log

CustomLog /var/log/httpd/loganalyzer/access_log combined

重启httpd: systemctl restart httpd

5、浏览器上输入日志服务器ip+端口号:

11e5141408d8d09aeb5490e52660b3a2.png

点击next 到step3:(若在step2显示./config.php文件不存在或是不可写,可以使用contrib目录下的configure.sh 脚本生成,或新建config.php文件并给予写权限。)

c2dfdc0545e374c8e29f26ebd5b6a1ba.png

配置后数据库用户及密码,点击next。

step6:创建loganalyzer登录用户:

16490d1b8e16c2522a475f126a7d800c.png

step7:

4b6e5942c7e8c332418a32ae81f876a5.png

点击next并登录即可完成初始化配置:

5cb1bf40acd9e538513490cf5929a958.png

6、可以在网上搜索下载loganalyzer3.6.5 中文语言包并将解压后的3个文件放在/var/www/html/loganalyzer/lang下并重启rsyslog即可使用loganalyzer中文界面:

7e748693bf0ffef4301e1532e619a037.png

若出现如下界面:Could not find the configured table, maybe misspelled or the tablenames are case sensitive

00f2bb0d929c9ebc4c7f345ad9e0d0ad.png

需要修改config.php中的$CFG['Sources']['Source1']['DBTableName'] = 'SystemEvents'; 大小写不一致

7.修改客户端服务器/etc/rsyslog.conf文件实现将日志传输至构建好的日志服务器:

a62012fa3abb8778f6430bb4e3b5e61a.png

在#### RULES ####中添加配置:

@表示使用upd协议传输文件,划线部分为搭建的集中日志服务器ip.

也可以使用. @ip 表示所有日志文件都传输至日志服务器

刷新loganalyzer页面就可看到客户端服务器的日志信息也被记录到数据库中,构建完成.

五、安装中文语音包

LogAnalyzer默认为英文,个人也是推荐使用英文。这里也提供中文语言包。

完整PDF文档可以到Linux公社资源站下载:

具体下载目录在 /2017年资料/10月/16日/CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器/

解压后将整个目录方至/var/www/html/loganalyzer/lang目录下。然后再次访问页面在右上角选择中文即可。

六、若需要重新安装(拷贝虚拟机文件移植到其他地方使用)

解决办法:1)可直接清空config.php文件

[root@rsyslog loganalyzer]# > config.php

2)清空数据中导入的logcon_*表

如果删表不方便的话,可以删掉之前导入的Syslog数据库,然后重新导入Syslog数据库,重新授权;

3)更改/etc/httpd/conf/httpd.conf配置文件

更改Listen IP地址:监听端口

4)更改/etc/rsyslog.conf配置文件

更改. :ommysql:192.168.4.200,Syslog,rsyslog,123456789中的IP地址为已移植到的主机地址;

5)更改IP配置文件/etc/sysconfig/network-scripts/ifcfg-ens33网段需要与物理网卡网段一致;

<think> 嗯,用户这次询问的是在Windows 11上配置Rsyslog客户端的方法,需要结合之前提供的Linux服务器端搭建流程。看来用户已经掌握了服务器部署(引用[1][3]),现在需要补充Windows客户端的配置环节。 注意到用户特别强调“客户端为win11”,这很关键。Windows系统自带的日志服务与Linux的rsyslog协议不兼容,必须依赖第三方工具。Nxlog社区版是最常见的选择,但需要提醒用户注意版本兼容性问题(win11较新)。 用户提供的引用[1]中关于Linux客户端配置的部分其实已经展示了核心语法(*.* @server:514),但Windows实现方式完全不同。考虑在回答中对比说明: - Linux通过修改/etc/rsyslog.conf - Windows则需通过nxlog.conf配置 引用[3]提到loganalyzer支持多种数据源,这点很重要,需要强调MySQL数据库的配置必须与之前服务器搭建时保持一致(比如用户在centos7上创建的数据库名/账号)。突然想到用户可能需要验证数据库连接,可以补充phpMyAdmin的检查方法。 安全方面容易被忽略:Windows防火墙会阻止514端口(引用[1]的配置端口),这个实操细节必须包含。另外注意到引用[2]强调开机启动,所以在Windows服务里设置nxlog自动启动也要说明。 用户似乎正在搭建完整的日志系统,可能需要后续指导。准备在相关问题里预留loganalyzer优化和Windows事件日志分类的扩展点,这样用户后续排查时能快速定位。 </think> 以下是通过Rsyslog+MySQL+LogAnalyzer搭建日志服务器,并配置Windows 11客户端的完整方案: --- ### **一、服务端配置(CentOS 7)** #### 1. 安装必要组件 ```bash # 安装RsyslogMySQL驱动 sudo yum install rsyslog rsyslog-mysql mariadb-server -y # 安装LogAnalyzer依赖 sudo yum install httpd php php-mysqlnd -y ``` #### 2. 配置MySQL数据库 ```bash # 启动数据库 sudo systemctl start mariadb sudo systemctl enable mariadb # 导入Rsyslog表结构 mysql -u root -p < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql ``` ```sql -- 创建专用账号(执行于MySQL) GRANT ALL ON Syslog.* TO 'sysloguser'@'localhost' IDENTIFIED BY 'YourPassword'; FLUSH PRIVILEGES; ``` #### 3. 配置Rsyslog 编辑 `/etc/rsyslog.conf`: ```bash # 启用MySQL模块 module(load="ommysql") # 接收远程日志(添加至文件末尾) module(load="imudp") input(type="imudp" port="514") module(load="imtcp") input(type="imtcp" port="514") # 转发日志到MySQL *.* :ommysql:localhost,Syslog,sysloguser,YourPassword ``` 重启服务: ```bash sudo systemctl restart rsyslog ``` #### 4. 部署LogAnalyzer ```bash # 下载并解压 wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.12.tar.gz tar -xzf loganalyzer-*.tar.gz -C /var/www/html/ # 配置权限 cd /var/www/html/loganalyzer cp src/* . chown -R apache:apache /var/www/html/loganalyzer ``` 访问 `http://服务器IP/loganalyzer` 完成网页安装向导(数据库填MySQL信息)[^3]。 --- ### **二、Windows 11客户端配置** #### 1. 安装Nxlog(Rsyslog代理) - 下载社区版:https://nxlog.co/products/nxlog-community-edition/download - 安装时选择 **Windows Event Log** 模块 #### 2. 配置Nxlog 编辑 `C:\Program Files\nxlog\conf\nxlog.conf`: ```nginx # 转发系统日志到Rsyslog服务器 <Extension json> Module xm_json </Extension> <Input eventlog> Module im_msvistalog Exec to_json(); </Input> <Output rsyslog> Module om_udp Host 192.168.1.100 # 替换为服务器IP Port 514 Exec $raw_event = $raw_event + "\n"; </Output> <Route windows_to_rsyslog> Path eventlog => rsyslog </Route> ``` #### 3. 重启服务 ```powershell Restart-Service nxlog ``` --- ### **三、验证与排查** 1. **检查日志接收**: ```sql SELECT * FROM Syslog.SystemEvents LIMIT 10; # 在MySQL执行 ``` 2. **防火墙开启UDP 514**: ```bash sudo firewall-cmd --permanent --add-port=514/udp sudo firewall-cmd --reload ``` 3. **Windows事件查看**: - 事件ID 105(Nxlog启动成功) - 事件ID 324(日志转发错误) --- ### 配置要点总结 | 组件 | 关键配置项 | 说明 | |-------------|--------------------------|--------------------------| | **Rsyslog** | `:ommysql` 指令 | MySQL日志存储引擎 | | **MySQL** | `Syslog` 数据库权限 | 需提前创建用户授权 | | **Nxlog** | `im_msvistalog` 模块 | 捕获Windows事件日志 | | **防火墙** | UDP 514 端口 | 需在服务端放行 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值