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

参考来自:

the_script :https://yq.aliyun.com/articles/675198

名山、深处:https://www.cnblogs.com/skychenjiajun/p/8244099.html

cmzstevenhttps://blog.csdn.net/cmzsteven/article/details/50413837

Linux公社:https://www.linuxidc.com/Linux/2017-10/147693.htm

qq_33157780: https://blog.csdn.net/qq_33157780/article/details/50672915

日志管理服务器可以解决以下问题:
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
---- ::-- 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|:... 已连接。
已发出 HTTP 请求,正在等待回应... Found
位置:https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [跟随至新的 URL]
---- ::-- 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|:... 已连接。
已发出 HTTP 请求,正在等待回应... OK
长度: (25K) [application/x-redhat-package-manager]
正在保存至: “mysql57-community-release-el7-.noarch.rpm” %[=============================================================================================
=================================================================================================
====>] , --.-K/s 用时 .1s -- :: ( KB/s) - 已保存 “mysql57-community-release-el7-.noarch.rpm” [/]) [root@localhost ~]#

    ②使用yum安装;

  yum localinstall -y mysql57-community-release-el7-.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'查看:
  Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

  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

  Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
  使用该文件(mysql-createDB.sql)创建数据库,创建的数据库名为:Syslog

  mysql -usyslog -p </usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

  假设将root密码设为Ww,12345678:
    set password for root@'localhost'=password('Ww,12345678');
  若密码复杂度较低,会提示错误信息:
  Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

  有的帖子说是原因为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"  
  Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

  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是数据库用户,  
  Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

  重启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
  
  Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

  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+端口号:

Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
点击next 到step3:(若在step2显示./config.php文件不存在或是不可写,可以使用contrib目录下的configure.sh 脚本生成,或新建config.php文件并给予写权限。)
Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
配置后数据库用户及密码,点击next。

step6:创建loganalyzer登录用户:
Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

step7:
Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
点击next并登录即可完成初始化配置:

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

6、可以在网上搜索下载loganalyzer3.6.5 中文语言包并将解压后的3个文件放在/var/www/html/loganalyzer/lang下并重启rsyslog即可使用loganalyzer中文界面:
Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

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

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

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

  7.修改客户端服务器/etc/rsyslog.conf文件实现将日志传输至构建好的日志服务器:
Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
在#### RULES ####中添加配置:
@表示使用upd协议传输文件,划线部分为搭建的集中日志服务器ip.
也可以使用. @ip 表示所有日志文件都传输至日志服务器
刷新loganalyzer页面就可看到客户端服务器的日志信息也被记录到数据库中,构建完成.

五、安装中文语音包

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

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

  免费下载地址在 http://linux.linuxidc.com/

  用户名与密码都是www.linuxidc.com

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

  下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

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

  本文永久更新链接地址http://www.linuxidc.com/Linux/2017-10/147693.htm

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

  解决办法: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网段需要与物理网卡网段一致;

上一篇:Dockerfile详解(二)


下一篇:rsyslog服务日志报错分析1