讲一下实施环境。三台虚拟机,一台安装数据库,一台配置为rsyslog服务器,同时做备份服务器,最后一台安装apache和loganalyzer。
1、数据库服务器安装mariadb
yum install mariadb-server
systemctl start mariadb.service
#运行安全脚本
mysql_secure_installation
2、日志服务器修改配置文件
日志服务器自身已有rsyslog,但默认不接受其他主机传来的日志信息。只需要稍微修改下配置文件,加载TCP、UDP模块,监听端口,就可以接收其他主机传来的日志信息。
# 我只加载了UDP模块
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
Rsyslog默认将日志文件存储在本地,可以通过配置文件改为存储在MySQL数据库中。需要安装rsyslog-mysql软件包。
yum install rsyslog-mysql mariadb
rpm -ql rsyslog-mysql
#上面命令可以看到生成2个文件。一个是模块、一个是初始化数据库的SQL语句
[root@syslog-centos ~]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
3、在数据库服务器上创建用户
[axing@mysql-cfl ~]$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 83
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
[axing@mysql-cfl ~]$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 83
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> grant all on Syslog.* to loguser@'xx.xxx.xxx.%' identified by 'password';
#这里填写日志服务器地址,创建loguser用户和设定密码
4、现在可以在日志服务器上通过MYSQL创建日志数据库了
mysql -uloguser -ppassword -hxx.xxx.xxx.xxx < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
前面都没错的话,现在数据库服务器里就有Syslog数据库了
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
MariaDB [(none)]>
5、日志服务器修改配置文件链接数据库
同样是更改/etc/rsyslog.conf
#要放在#### GLOBAL DIRECTIVES ####前面,
#增加数据库模块:
$ModLoad ommysql
#### RULES ####
*.info;mail.none;authpriv.none;cron.none
*.* :ommysql:xx.xxx.xxx.xxx,Syslog,loguser,passwd
重启服务 systemctl restart rsyslog
这时logger触发日志时,日志服务器将会把日志写入远程数据库Syslog里。
6、WEB服务器安装loganalyzer
先安装httpd和php
[root@syslog-http axing]# yum install httpd php php-mysql php-gd
[root@syslog-http axing]# systemctl start httpd
下载解压loganalyzer软件,现在是4.1.7稳定版
[root@syslog-http ~]# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.7.tar.gz
--2019-02-05 19:30:43-- http://download.adiscon.com/loganalyzer/loganalyzer-4.1.7.tar.gz
Resolving download.adiscon.com (download.adiscon.com)... 138.201.116.127, 2a01:4f8:c17:44a6::2
Connecting to download.adiscon.com (download.adiscon.com)|138.201.116.127|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2869395 (2.7M) [application/x-gzip]
Saving to: ‘loganalyzer-4.1.7.tar.gz’
100%[==============================================>] 2,869,395 --.-K/s in 0.1s
2019-02-05 19:30:43 (21.6 MB/s) - ‘loganalyzer-4.1.7.tar.gz’ saved [2869395/2869395]
[root@syslog-http ~]# tar xzvf loganalyzer-4.1.7.tar.gz
[root@syslog-http ~]# cd loganalyzer-4.1.7/
[root@syslog-http loganalyzer-4.1.7]# ls
ChangeLog contrib COPYING doc INSTALL src
[root@syslog-http loganalyzer-4.1.7]# mv src/ /var/www/html/log/
现在我们已经把软件安装到了/var/www/html/log/目录下,看一下安装软件要我们做什么
[root@syslog-http log]# cat /root/loganalyzer-4.1.7/contrib/configure.sh
#!/bin/sh
touch config.php
chmod 666 config.php
#需要创建一个空配置文件,照做
然后访问web服务器,http://<IP address>/log/install.php, 图形化安装界面很简单,填好数据库信息,几步就好了。
再去访问http://<IP address>/log/,就可以看到软件界面了。
另外还有一个文件:
[axing@syslog-http ~]$ sudo cat /root/loganalyzer-4.1.7/contrib/secure.sh
#!/bin/sh
chmod 644 config.php
意思为了安全,安装完以后改一下/var/www/html/log/config.php的权限。
至此,服务器部分就全部搞定了,下面简单列一下主机和路由器发送日志的配置案例。
服务器:
vim /etc/rsyslog.conf
#在这之前#### GLOBAL DIRECTIVES ####增加
*.info;mail.none;authpriv.none;cron.none @xx.xxx.xxx.84
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* /var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
重启服务systemctl restart rsyslog
Huawei 路由器用info-center命令
info-center loghost xx.xxx.xxx.xx
仅供参考