ubuntu rsyslog mysql_ubuntu16.04下搭建rsyslog+mysql+loganalyzer日志服务器

本文介绍了在Ubuntu 16.04上搭建rsyslog+mysql日志服务器的过程,包括配置rsyslog接受UDP/TCP日志、安装mysql、设置权限和存储日志到数据库,以及客户机如何将日志传输到服务器。
摘要由CSDN通过智能技术生成

笔者因毕设要求,从零开始搭rsyslog+mysql+loganalyzer日志服务器,本人不才,耗时两天才搭成功,中间走了不少弯路,网上已有的教程大多是CentOs下搭建的,在Ubuntu16.04下还是有些许不同,现在记录下搭建过程,相当于做个笔记。

(搭建环境:ubuntu16.04,rsyslog,mysql, php5.6(ubuntu自带的源是php7.0,下文会说),apache2,loganalyzer-3.6.5,由于身边暂时没有多余机器,先只搭建服务器,客户机随后再补充)

1.第一步:配置服务器rsyslog

安装rsyslog: sudo apt-get install rsyslog //不过一般Linux发行版本都会默认安装

打开其配置文件:sudo vim /etc/rsyslog.conf //没有vim的可以用别的编辑器,也可以通过apt-get下载

ae4837e64f9860a7f26e7b2748ac0c0f.png  去掉下面行的注释#,如下

module(load="imudp")

input(type="imudp" port="514")//udp

module(load="imtcp")

input(type="imtcp" port="514")//tcp

并加上:(本身有的就不加)

$ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat

$IncludeConfig /etc/rsyslog.d/*.conf

*.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

$templateSpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

:programname, startswith,"spice-vdagent"  /var/log/spice-vdagent.log;SpiceTmpl

重启rsyslog服务:sudo /etc/init.d/rsyslog restart

测试端口是否打开:sudo netstat -nultp|grep 514 //正常会出现如下画面

9143f2e1d56cac41c49701d0b3c6c254.png

2.mysql

思路:

1、安装mysql服务器,且要安装rsyslog连接mysql的驱动

2、解决生成rsyslog服务器的日志特定的格式,

3、在rsyslog配置文件中加载连接mysql的模块,把日志存储到mysql中

具体步骤:sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

测试mysql是否安装成功 :sudo netstat -tap|grep mysql,成功画面入下

845bdeb83e15d386bdb2bae274f32d62.png

安装驱动:sudo apt-get install rsyslog-mysql

重启rsyslog: sudo /etc/init.d/rsyslog restart

设置mysql密码: sudo mysqladmin -u root password 123456 //用户名为root,密码123456

进入mysql:  sudo mysql -u root -p 123456

mysql> show databases; 会显示已有的数据库,我的自动建了一个Syslog数据库,用来记录日志文件

mysql> use Syslog;  #Syslog即是记录日志文件的数据库

ba677f58f85e02d0ca30b5ef60fd5964.png

如图所示

mysql> grant all on Syslog.* to 'syslogroot01'@'localhost' identified by '123456';  #设置用户访问数据库服务器中Syslog数据库的用户名和密码,主机localhost(我这里没别的机器,只拿本地主机做测试,若有客户机则可以把它localhost换成主机ip地址)上的用户syslogroot01,密码为123456

mysql> flush privileges;  #重读授权表,及时生效

mysql>exit; //离开mysql服务

再sudo vim /etc/ryslog.conf打开rsyslog配置文件

添加 module(load="onmysql")

添加  *.*      :ommysql:localhost,Syslog,syslogroot01,123456 //添加这行表示把所有的设施的所有日志都记录到数据库服务器中的Syslog数据库中,以syslogroot01为用户,123456密码访问数据库

重启rsyslog:sudo service rsyslog restart

(ps:如果有其他的客户机,把日志传输到日志服务器主机上,在客户机的rsyslog.conf里添加(若已有的就不加)

*.*      @xxx.xxx.xxx.xxx #添加这行用于和服务器通信xxx.xxx.xxx.xxx是服务器主机的ip

*.*      :ommysql:xxx.xxx.xxx.xxx,Syslog,syslogroot01,123456 #添加这行,这行表示把所有的设施的所有日志都记录到数据库 服务器中的Syslog数据库中,以syslogroot01用户,123456密码访问数据库

$templateSpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag%%syslogseverity- text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

:programname, startswith, "spice-vdagent"   /var/log/spice-vdagent.log;SpiceTmpl)

记得每次修改配置文件之后都重启下sudo service rsyslog restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值