scaoping 发表于 2018-10-3 12:50:47

rsyslog 日志分析 + mysql

  1、安装Apache
  # yum -y install httpd
  # 开机自启动
  # chkconfig httpd on
  # 启动httpd 服务
  # service httpd start
  ### 安装apache 一些扩展,如果业务不需要可以不添加
  # yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql
  现在直接在浏览器键入http://localhost或 http://本机IP,应该会看到Apache的测试页面,这里需要注意iptables的设置。
  2、安装配置MySQL
  # mysql          客户端程序
  # mysql-server    服务端程序
  # mysql-devel    开发设计的库
  # yum -y install mysql mysql-server mysql-devel
  # 开机启动
  # chkconfig mysqld on
  # 启动mysqld服务
  # service mysqld start
  # 进行一些安全性配置,删除匿名用户设置mysql管理密码之类的。
  # /usr/bin/mysql_secure_installation
  root@localhost ~]# netstat -tulpn | grep -i mysql
  tcp      0      0 0.0.0.0:3306          0.0.0.0:*          LISTEN      1723/mysqld
  OK, 我们看到mysqld已经启动,监听在3306端口上。
  3、安装php
  安装相关模块:为了让PHP支持MySQL,我们可以安装php-mysql软件包;也可使用以下命令搜索可用的php模块
  # yum -y install php php-mysql
  # 安装php常用扩展
  # yum search php
  # yum -y install gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
  ### 重启httpd服务,这一步很重要
  # service httpd restart
  然后,我们提供php页面,测试
  # cd /var/www/html/
  # vi index.php
  
  出现php的信息即可。LAMP安装完毕。

  接下来进行loganalyzer 的安装。
  1.下载loganalyzer.tar.gz
  # wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
  # tar xzf loganalyzer-3.6.5.tar.gz
  2.在http中配置loganalyzer
  # mv loganalyzer-3.6.5/src /var/www/html/loganalyzer
  3.创建loganalyzer安装的配置文件
  # cd /var/www/html/loganalyzer
  # touch config.php
  # chown apache:apache config.php
  # chmod 777 config.php
  4.进入web界面进行installer
  http://172.18.9.135/loganalyzer/
  4.1 第一步就报错了,别捉急 。

  4.2


  4.3Mysql 配置数据库。

  因为我们还没有做数据库的创建。所以先去配置数据库在进行这一步的配置
  Rsyslog MySQL Database:Syslog
  Rsyslog MySQL Username:rsyslog
  Rsyslog MySQL Password:MYSQLPASSWORD
  4.3.1 检查是否安装了rsyslog软件
  # rpm -qa|grep rsyslog    //默认系统都安装了该软件
  4.3.2 安装rsyslog 连接MySQL数据库的模块
  # yum install rsyslog-mysql –y
  rsyslog-mysql 为rsyslog 将日志传送到MySQL 数据库的一个模块,这里必须安装。
  配置rsyslog连接msyql
  vi /etc/rsyslog.conf

  $ModLoad ommysql
  *.* :ommysql:localhost,Syslog,rsyslog,123456
  在 #### MODULES #### 下添加上面两行。
  开启相关日志模块
  # vi /etc/rsyslog.conf
  $ModLoad immark    #immark是模块名,支持日志标记
  $ModLoad imudp    #imupd是模块名,支持udp协议
  $UDPServerRun 514    #允许514端口接收使用UDP和TCP协议转发过来的日志

  4.3.3 配置数据库
  导入rsyslog-mysql 数据库文件
  # cd /usr/share/doc/rsyslog-mysql-5.8.10/
  # mysql -uroot -pmysqlpassword < createDB.sql
  查看做了哪些操作
  # mysql -uroot –p
  mysql> show databases;
  mysql> show tables;

  导入数据库操作创建了Syslog 库并在该库中创建了两张空表SystemEvents 和SystemEventsProperties。
  创建rsyslog 用户在mysql下的相关权限
  # mysql -uroot –p
  mysql> grant all on Syslog.* to rsyslog@localhost identified by '123456';
  mysql> flush privileges;
  mysql> exit
  4.4创建表


  4.5 检测sql结果

  4.5创建管理员

  创建完成以后就可以登录了。大功告成。NO!
  还有几个比较难解决的报错等着我们。这几个报错有些基本在baidu是收不到答案的。经过诸多尝试终于让我解决了。下面就贴出来供大家参考。
  1. No syslog records found - Error Details

  解决方法:
  1.1修改/var/www/html/loganalyzer/config.php
  $CFG['Sources']['Source1']['DBTableName'] = 'systemevents'; 为
  $CFG['Sources']['Source1']['DBTableName'] = "SystemEvents";
  1.2 更新数据库配置
  Mysql -uroot -p
  Use Syslog;

  mysql> update logcon_sources set DBTableName='SystemEvents' where>  mysql> flush privileges;
  2.这个错误

  这个错误是没有配置rsyslog对mysql的连接。进行连接即可。参考4.3.2
  可以做一个客户端行为监控的小玩意儿。就是在日志中看到所有用户执行了什么命令做了什么操作。
  编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
  # vi /etc/bashrc
  在文件尾部增加一行
  export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "":$(who am i):[`pwd`]"$msg"; }'
  设置其生效
  # source /etc/bashrc
  配置完毕。这样用户的行为会被写到messages中去。在loganalyzer中也可以看到。

页: [1]
查看完整版本: rsyslog 日志分析 + mysql