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.拓扑图:

wKioL1NLj3OTyGAFAAKDouTnfpc343.jpg

 

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可看到改变信息。