您的位置:首页 > 运维架构 > Linux

Linux下日志系统的设计

2014-10-27 13:08 99 查看
简介:通过日志系统的设计,将多台主机上的日志统一发送到一台服 器,日志服务器自动将日志记录到mysql数据库,远程通过web方式调用数据库查看日志(使用loganalyzer解决方案,基于php)。在linux系统下,使用apache做web客户端,mysql数据库,php为web及后台数据的调用,统称为lamp。日志的种类:/var/log/secure 身份验证有关信息的日志/var/log/maillog 邮件相关的日志/var/log/message 一般重要的日志其中安装完程序日志会在特定的文件夹里面例如:安装完httpd软件包,将会产生2种日志文件分别是/var/log/httpd/access_log /var/log/httpd/error_logaccess_log目录存放正确的日志,error_log目录存放错误的日志日志的优先级别:log4j日志的优先级别从低到高 DEBUG<INFO<WARN<ERROR<FATAL需要安装的软件包:rsyslog-5.8.10-8.el6.i686mysql-5.1.71-1.el6.i686php-mysql-5.3.3-26.el6.i686rsyslog-mysql-5.8.10-8.el6.i686php-5.3.3-26.el6.i686 php-gd-5.3.3-26.el6.i686实验拓扑:

实验环境:版本:CentOS release 6.5内核:2.6.32-431.el6.i686启动apache:service httpd start 开启apacheChkconfig httpd on 设置为开机自启动启动mysql,设置mysql的安全性Service mysqld start 开启mysql(第一次启动有数据库的初始化过程,比较慢)查看mysql,输入mysql进入mysql端mysql> show databases;| Database | information_schema || mysql | test 初始化database有3个默认的库给mysql设置密码增加安全性,mysqladmin -u root -p password '123'Enter password 没有以前的口令,直接回车。访问的时候需要mysql -u root -p 回车输入口令环境具备完成后需要loganalyzer-3.6.5.tar.gz软件期望http://server ip/loganalyzer如此访问数据库需要把loganalyzer目录放到/var/www/下面先将loganalyzer-3.6.5.tar.gz解压[root@wang ~]tar -zxvf loganalyzer-3.6.5[root@wang ~]# cd loganalyzer-3.6.5 [root@wang loganalyzer-3.6.5]# vim INSTALL 可以查看说明文件,按照说明文件执行安装root@wang loganalyzer-3.6.5]# cd src[root@wang src]# cp -rf . /var/www/html/loganalyzer/ 将loganalyzer-3.6.5目录下的所有文件目录拷贝到loganalyzer[root@wang src]cd ..[root@wang loganalyzer-3.6.5]# cd contrib/[root@wang contrib]# lltotal 8-rw-rw-r--. 1 root root 49 Oct 9 2013 configure.sh-rw-rw-r--. 1 root root 31 Oct 9 2013 secure.sh[root@wang contrib]# cp * /var/www/html/loganalyzer/将脚本文件拷贝到loganalyzer[root@wang contrib]# cd /var/www/html/loganalyzer/[root@wang loganalyzer]# chmod +x *.sh 将2个脚本文件赋予执行权限查看2个脚本文件的内容Vim configure.sh内容为#!/bin/shtouch config.phpchmod 666 config.phpVim secure.sh 内容为 #!/bin/shchmod 644 config.php 所有应该执行 config.php [root@wang loganalyzer]# ./configure.sh [root@wang loganalyzer]# chown -R daemon:daemon .改变当前目录下文件的所有者和所属组 [root@wang ~]# mysql -u root -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql将日志信息追加到数据库中[root@wang ~]# mysql -u root -pEnter password: 进入数据库查看是否成功mysql> show databases;| Database || information_schema || Syslog || mysql || test 4 rows in set (0.00 sec)成功导入Syslogmysql> use Syslog;mysql> show tables; Tables_in_Syslog || SystemEvents || SystemEventsProperties |有2张表mysql> grant all privileges on Syslog.* to rsyslog@localhost identified by '123456'对Syslog数据库的所有表授予所有的权利针对rsyslog通过本机访问的账号mysql>flush privileges; 刷新权限[root@wang ~]# vim /etc/rsyslog.conf 编辑rsyslog.conf在MODULES添加如下红色的模块:$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)$ModLoad imklog # provides kernel logging support (previously done by rklogd)$ModLoad ommysql # provides --MARK-- message capability*.* :ommysql:localhost,Syslog,rsyslog,235290# Provides UDP syslog reception$ModLoad imudp 接受udp日志$UDPServerRun 514 # Provides TCP syslog reception$ModLoad imtcp 接受tcp日志$InputTCPServerRun 514 其中*.* :ommysql:localhost,Syslog,rsyslog,123456*.*所有的所有级别日志输入到ommysql;在本机上;数据库的名字;数据库的管理员;密码root@wang ~]# service rsyslog restart 重启下rsyslog服务在测试之前关闭防火墙[root@wang ~]# service iptables stop[root@wang ~]# chkconfig iptables off 设置为开机关闭[root@wang ~]# setenforce 0 将安全策略设置为警告级别[root@wang ~]# getenforce 即输入此命令为PermissivePermissive 重启下apache和mysql[root@wang ~]# service httpd restart[root@wang ~]# service mysqld restart打开浏览器访问 http://192.168.2.99/loganalyzerIp地址为自己主机的ip出现以下页面

点击here

Next

Next

在下面的enable user databases 选项点击yes,出现

将database name改为 Syslog(注意大小写)Database user 改为rsyslogDatabase password 123456 (刚才设置的密码)

然后点击next

Next

Next

设置个用户账号,以后登录该站点使用,进行后台管理。

将socurce type设置为 mysql native

将database name 设置为Syslog(注意大小写)Database name 设置为上面查看数据库出现的表SystemEvents(注意大小写)Database user 设置为rsyslog密码是之前设置的密码然后点击next

Finish

成功,如果还想再添加一台服务器,数据库的设置方法不变。需要在vim /etc/rsyslog.conf的配置文件中修改:# Don't log private authentication messages!*.* @192.168.2.99*.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access.authpriv.* /var/log/secure # Log all the mail messages in one place.mail.* -/var/log/maillog 添加红色的部分,意思是将所有的日志都发送到地址为192.168.2.99(刚才的主机ip)。

本文出自 “你猜我是谁” 博客,请务必保留此出处http://whhhj.blog.51cto.com/9289395/1568393
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: