CENTOS下日志服务器的搭建
环境:由两台pc机分别充当日志服务器和邮件服务器
loganalyzer软件(一款可以让你在web页面显示相关信息的工具)
pc机环境:VMware workstation 10
对于操作系统的日常操作和维护来说,日志的作用是不言而喻的,他能够一条条的记录系统的所有操作和信息,所以日志对排除故障和维护很重要
对windows来说他的日志存放在他的“管理工具”下的“时间查看器”中,对linux来说他的日志以文件的形式存放在/var/log下,其下还分为maillog(邮件日志)message(一般的程序或系统信息)secure(安全方面)等
第二类日常维护工具,数据库,也可以查看系统的相关记录
关于rsyslog程序及有关信息
首先linux系统本身就有非常齐全的日志工具,完全可以作为一台日志服务器来使用,比如我们可以用rpm来先查看一下系统中关于log的有关工具,
用rpm -ql 查看他们的相关安装信息,会看到其二进制可执行程序放在/sbin/rsyslogd目录下,说明这不是我们后来安装的,而是系统安装时自动选择的,如图
日志的重要性还表现在它的反馈信息上,如,我们大部分时候会通过前台的信息反馈来判断一个动作的成功与否,如启动域名服务,可以看到前台已经提示成功启动,但日志所给出的信息却是一堆各方面的信息,比如说邮件的发送25端口,我们先用netstat -tupln来查看一下25端口是否开启,然后执行mail命令 ,来先看看有没有发给root的邮件 如图
先用which mail查看mail的安装路径
既然我们已经装过了(能执行mail命令),这步就可以过去了
用root的身份user1的发一份邮件,如图(Cc表示抄送的意思,有加密和不加密两种)
然后用tail -f(表示刷新)来查看/var/log/maillog的日志信息(文件的后10行,tail默认值)
比如我们新建一个账号,那么根据有关内容,他应该被放在/var/log/secure目录下,如图我们新建
然后查看会发现我们以前鼠标标记过的地方。马上就会有日志信息反馈过去了
如图:
注意在rsyslog的配置文件中有一行mail.*的配置中,后面的路径前有一个“-”号,这表示异步传输的意思,意思是每隔一段时间向磁盘中写入一些信息,这样做可以避免邮件攻击造成磁盘不间断的io操作而使工作效率的降低,如图
在这里redhat和centos有一些不一样的地方,redhat的系统日志程序叫syslog。但在安装时会生成/sbin/syslogd和/sbin/klogd两个可执行程序,一个是关于系统的,一个是关于内核的。
rsyslog的一大特点就是支持模块化的,比如支持om,(输出模块)ommysql,输出日志到mysql数据库,omrelp防止信息丢失模块。主要用于建立信息的可靠传输(比tcp更不容易丢失信息)如图:
在日志配置文件的编写规则中,前面一部分叫选择域(既表明条件),后面一部分叫动作域,选择域不区分大小写
在设备后可以跟的一个关键字有auth authpriv cron daemon kern lpr.mail.mark等以及local0到local7(表示本地自定义的那些facilities,这时faciliyies表示条件的意思)
动作域,关于动作域一般会有两种操作,一种是写入logfile中,还有一种是写入数据库中或转发到主机上
远程主机选项
怎样向远程主机汇总你的日志信息,你可以有三种方法来选择,一种是udp,tcp 和relp
udp方法*。* @192.168.0.1
tcp方法*。* @@192.168.0.1
relp方法*。*:omrelp:192.168.0.1:2514
将信息反馈给特定的用户
这里需要调用omusrmsg模块来完成,这样当他们登录时就会的得到,用法为
:omusrmsg:root,user1,user2...
反馈给每个人就是:omusrmsg:*
将信息反馈给数据库列表
要将信息反馈给数据库表中,一个必须的先决条件是具备monitorware-compatible(具备兼容的监视器软件)策略(计划),而这个策略你可以通过createDB.SQL这样一个文件来创建或导入他
模板,它主要定义了数据库的数据格式
搭建日志服务器
说明:因为我们的日志信息需要用loganalyzer软件反馈出来,而loganalyzer需要去读取php的页面信息,所以需要搭建web平台及mysql数据库,既LAMP环境
地址规划及拓扑图
搭建LAMP环境
在用yum工具前我们先改一下yum的配置文件,用.bak的方法将网络功能先禁用掉,
然后开启本地,并修改挂载目录
然后安装httpd,mysql,mqsql-server php,(mysq-server才是服务器,mysql是服务器的一个管理工具),如图
安装完成之后,接着我们启动数据库,如图
启动完成
为了保证我们的数据库,httpd,php每次开机都能够正常启动,我们用chkconfig将他们加入,如图
输入mysql指令进入数据库,发现可以直接进去,
这显然会很不安全,所以我们可以为他配置密码,用mysql的管理工具mysqladmin -u root -p password ‘新密码’回车,然后这时会看到提示enter password 的提示,注意这时不是让你再输一次确认密码,而是让你输入老口令密码,因为刚安装,所以密码为空,直接回车(这点错了好多次。。。。)
此时,可以用show database来查看现有的数据库
这个时候想要把数据放进来,就需要建额外的库和额外的表格,在这之前我们需要用另外一个工具将现有的rsyslog和数据库连接起来,他就是syslog-mysql,在连接rsyslog和数据库的时候,他会产生一些文件,这些文件会告诉我们需要创建那些库,那些表格,如图。安装
然后查询一下他的安装结果rpm -ql rsyslog-mysql |less
查看生成在/usr/share/doc/rsyslog-mysql-2.0.6/createDB.sql文件可以看到众多生成库和表的命令
然后我们以管理员的身份导入这些命令,如图,(注意命令格式和环境,是在数据库外导入的)
然后登陆后用show database查看,会发现多一条表格Syslog,
然后我们在数据库中使用这张表,然后查看表
比如我们用desc(倒序)来系统时间 desc SystemEvents,可以看到相关的字段及属性
当我们查看表格中的数据时因为我们是刚导入的,所以都是空的,如图
因为数据库中我们的主要数据在Syslog这个库中,虽然我们的管理员能够管理他,但我们最好给他一个额外的账号,用授权指令 grant all privileges on Syslog .* to rsyslog@localhost identified by '123456';然后刷新一下权限。如图
安装loganalyzer
在loganalyzer压缩包主要是一些php的页面,我们先把他解压缩
接下来在我们的解压路径中有loganalyzer/src/,将其中的全部文件上传到我们的apache上(web服务器),进入,然后拷贝(为了方便可以在默认目录下再自定义一个目录),如图
进入所在解压缩路径可以考里面的具体内容
然后从我们的contrib上传configure.sh和secure.sh到我们的apache,之后进入他的上一级目录,把他的所属者和组交给守护进程deamon, 如图
打开这两个文件会发现他们的权限不同,一个666 一个644
这个时候执行这个sh脚本,发现会产生.php页面
因为我们的rsyslog刚安装,所以要对她的配置文件进行相应的改变,主要是能够让他调相应的模块,以适应他的要求,如,建一个日志汇总服务器,就需要ommysql(服务器下)的对应模块,如图进行一下修改
紧接着重启一下我们的rsyslog服务
然后我们测试一下我们的界面,提示要进行主文件配置,点击“here”进行安装
第一步确认开始
第二步检查文件是否可写
第三步基本的页面配置,在下面是否使用数据库要选yes,然后写出数据库的名字,拥有者的名字,和口令,如图
第四步确认创建表
第五步检查创建的结果
这个时候我们可以进数据库看一下,内容如下
第六步创建账户管理员,可以自己定义,如图
第六步之后会有成功提示,第七步为创建第一个数据源,我们将数据库中相关内容填上去
第八步,提示完成
在我们的浏览器中输入我们主机地址和www服务页面目录后回车,看到loganalyzer的页面
2,配置邮件日志服务器的汇总
如上述步骤一样,安装完rsyslog之后,进行如下配置
在/etc/rsyslog.conf的配置文件中加入以下内容,意思为,向192.168.1.187汇总日志
然后重启网络服务
先ping一下能不能通信
然后刷新我们的web界面,能够看到相关的mail和kernel选项反馈出来
网络设备信息的汇总,(以防火墙为例)
在端口配置地址后,ping,确保通信,设置信息中心为我们的日志服务器主机地址
开启信息向日志主机汇总
在web页面查看结果
功能正常,配置完成。