linux  日志服务器的实现

日志存放位置1.文件2.db   mysql   pregresql3.主机上

 rhel6  centos 6系统

 rsyslog      /etc/rsyslog.conf

一.原理:

在日志服务器上安装rsyslog,rsyslog产生的日志放到数据库中,rsyslog用于管理信息,通过rsyslog-mysql连接数据库mysql,当用户要查看时,用展示界面的loganalyzer展示信息,而loganalyzer是基于php的,所以用到80端口服务及php相关服务,所以要安装相关服务。

 

2.拓扑图:

centos服务器配置audit日志文件轮转规则 linux日志服务器_开发工具

 

3.实现 

1.安装有关的软件及服务

查询要安装的服务 chkconfig --list |grep syslog

[root@host1 ~]# mount /dev/cdrom  /media/cdrom
[root@host1 Packages]#  yum  --disablerepo=\*    --enablerepo=c6-media  install
 httpd mysql   php php-gd php-mysql

安装rsyslog-mysql  

[root@host1 Packages]#  yum  --disablerepo=\*    --enablerepo=c6-media  install rsyslog-mysql

查询rsyslog-mysql  内容:

[root@host1 Packages]# rpm -ql rsyslog-mysql                         
/lib64/rsyslog/ommysql.so (将rsyslog截获的信息输出到mysql)
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql//创建了数据库,vim可查看
[roo[root@host1 Packages]#  yum  --disablerepo=\*    --enablerepo=c6-media  install  mysql-server

2.启动mysqld服务

[root@host1 ~]# service mysqld start

每次开机都启动mysqld 服务

[root@host1 ~]# chkconfig mysqld  on
mysql> show databases;
mysql  登陆数据库
show databases;
\q退出

给管理员设置一道指令:

[root@host1 ~]# mysqladmin -u root -p password '123'

设置密码数据库后的登陆:

[root@host1 ~]# mysql -u root -p
Enter password:

关闭防火墙:

[root@host1 ~]# setenforce 0
[root@host1 ~]# iptables -L

3.把Syslog导入数据库:

[root@host1 ~]# mysql -u root -p </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
[root@host1 ~]# mysql -u root -p
show databases;
use Syslog;
show tables;

编辑配置文件:

[root@host1 ~]# vim /etc/rsyslog.conf

第10行前的#号去掉

 

进入数据库:

[root@host1 ~]# mysql -u root -p

使用mysql数据库有user数据库

use mysql;
show tables;
select user,password from user;

 

以管理员身份连接不安全,所以再创建一个账号 rsyslog去管理Syslog

mysql> grant all privileges on Syslog.* to rsyslog@localhost identified by '123456';
vim /etc/rsyslog.conf

在第10行下面添加:

*.*     :ommysql:localhost,Syslog,rsyslog,123456

重启rsyslog

[root@host1 ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
[root@host1 ~]# tail -f /var/log/messages

启动http服务

[root@host1 ~]# vim /etc/httpd/conf/httpd.conf

ServerName www.example.com:80   前面#号去掉

启动httpd服务:

[root@host1 ~]# service httpd start

设置为开机启动:

[root@host1 ~]# chkconfig httpd on

4.下载并安装loganalyzer-3.6.5.tar.gz

解压到当前目录

[root@host1 ~]# tar -zxvf loganalyzer-3.6.5.tar.gz

查看怎么安装:

cd loganalyzer-3.6.5
[root@host1 loganalyzer-3.6.5]# vim INSTALL
 [root@host1 ~]# cd loganalyzer-3.6.5/src
[root@host1 src]# cp -r . /var/www/html/loganalyzer  
[root@host1 ~]# cd loganalyzer-3.6.5    
[root@host1 loganalyzer-3.6.5]# cp contrib/* /var/www/html/loganalyzer/
 
[root@host1 loganalyzer-3.6.5]# cd /var/www/html/loganalyzer/
[root@host1 loganalyzer]# ll *.sh
-rw-r--r--. 1 root root 49 Apr 14 00:36 configure.sh
-rw-r--r--. 1 root root 31 Apr 14 00:36 secure.sh

增加执行的权限x

[root@host1 loganalyzer]# chmod a+x *.sh
 [root@host1 loganalyzer]# ./configure.sh
[root@host1 loganalyzer]# ll config.php
-rw-rw-rw-. 1 root root 0 Apr 14 00:41 config.php

改所有者和所属组

[root@host1 loganalyzer]# ll
[root@host1 loganalyzer]# grep daemon /etc/passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
[root@host1 loganalyzer]# chown -R daemon:daemon .
use Syslog;
show tables;

5.进入下面的网址:(展示界面)

http://192.168.1.3/loganalyzer

Step 6 - Creating the Main Useraccount

输入:

admin   admin1234  admin1234

放在logcon_users数据库中:

mysql> use Syslog;
Database changed
mysql> show tables;
mysql> select * from logcon_users;
Step 7 - Create the first source for syslog messages

修改下面2行内容:

Database Name   Syslog
Database  Password 123456

打开其他的虚拟机比如192.168.1.6  eth1

把这个主机产生的日志输出到192.168.1.3主机上:

[root@host1 ~]# vim /etc/rsyslog.conf

添加*.*  @192.168.1.3

http://192.168.1.3/loganalyzer[root@host1 ~]# service rsyslog restart  //重启服务

useradd user10 

passwd user10

 

登陆http://192.168.1.3/loganalyzer可看到改变信息。


转载于:https://blog.51cto.com/funtime/1395345