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.拓扑图:
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可看到改变信息。