集中式日志服务器搭建
‘壹’ 如何搭建syslog日志服务器
首先我们知道日志是什么,日志毫无疑问就跟我们写日记一样记录我们每天做的一些事情,那么日志对于一台服务器而言是至关重要的,比如说我们搭建服务的时候,服务起不来也没提示错误信息,那么这个时候就可以查看日志来排错了,还记录了服务器的运行情况已经入侵记录等等... ,那么我们知道一台服务器的日志默认是存放在本地的对于linux而言日志一般存放于/var/log/目录下,比如说某系统管理员管理着几十甚至上百台服务器的时候,默认日志放在每台服务器的本地,当我们每天要去看日志的时候一台一台的看日志是不是要郁闷死了. 没关系在linux系统上提供了一个syslogd这样的一个服务为我们提供日志服务器,他可以将多台主机和网络设备等等的日志存到日志服务器上,这样就大大减少了管理员的工作量,下面将在一台默认装有rhel5.x的系统上搭建一台日志服务器.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
系统环境:默认安装有rhel5.8的系统
主机 角色 IP地址
server1 日志服务器 10.0.0.1
server2 10.0.0.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实际上日志服务器的配置非常之简单几条命令就搞定了
一.配置日志服务器为网络中其他主机及其网络设备等等提供日志存储服务,也就是配置server1
1. 在server1上编辑/etc/sysconfig/syslog文件修改如下
#vim /etc/sysconfig/syslog ## 只修改SYSLOGD_OPTINOS这项,如下
SYSLOGD_OPTIONS="-m 0 -r"
2 .重新启动syslog
#service syslog restart
3.配置防火墙,syslog传送日志的端口是UDP的514端口防火墙在默认的情况下是阻止所有的,这里就 直接把防火墙关闭了,防火墙的配置就不介绍了
#service iptables stop
#chkconfig iptables off
ok!到这里服务器的配置基本就结束了.
二.配置server2让其将日志发送到日志服务器上去,我们知道windows跟交换机路由器都是有日志产 生的,它们的日志也是可以存储到日志服务器上去的,这里就只介绍linux主机的
1.配置server2上的/etc/syslog.conf定义日志的类型以及日志的级别和日志存放的位置,这里就只简 单的介绍下大体的配置思路,
#vim /etc/syslog.conf
*.* @10.0.0.1
上面的配置表示所有的日志类型.所有的日志的级别的日志都将存放在10.0.0.1这台日志服务器上
2,重启syslog
#service syslog restart
三.验证
1.在server2上建一个redhat的用户,然后到server1上的/var/log/secure文件或者/var/log/messages文件 查看日志
#cat /var/log/secure
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new group: name=redhat, GID=500
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new user: name=redhat, UID=500, GID=500, home=/home/redhat, shell=/bin/bash
可以看到10.0.0.2这台主机new了一个redhat的用户
‘贰’ 如何实现日志的集中化存储以及使用loganalyzer做日志分析
如何实现日志的集中化存储以及使用loganalyzer做日志分析
1、下载网站日志:
流程如下:主机独立控制面板——网站情报系统分析——网站日志——下载WebLog日志——右键点击查看,链接另存为
在主机独立控制面板中,找到网站情报系统分析板块,里面就能看到网站日志了,点击下载WebLog日志,能看到最近几天的网站日志,但是点击查看进去,会发现是一堆看不懂的代码,没有关系,我们先不要进去查看,而是右键点击查看,链接另存为,下载网站日志。
——————
2、代码看不懂的话,可以使用光年日志分析软件GnAnalyzer,这是一个可以帮助我们进行网站日志分析的软件。比如蜘蛛抓取的情况,日志里面都有显示。
——————
3、光年日志分析软件的使用:
下载好网站日志后,就可以使用光年日志分析软件进行网站日志的分析了。
流程如下:光年日志分析软件文件夹中的GnAnalyzer.exe——文件菜单,新建任务——添加(类型选择所有文件)——下一步,保存——马上分析
——————
4、网站日志分析:
马上分析后,就可以查看当天:蜘蛛分析(概要分析、目录抓取、页面抓取、IP排行);搜索引擎分析(关键字分析);状态码分析(用户状态码、蜘蛛状态码)的相关信息。
‘叁’ 如何在windows2008建立syslog服务器
我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统。
经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://www.kiwisyslog.com/),它不仅功能齐全,而且提供免费的版本。
Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几种方式的日志输入。它默认是个免费的功能受限版(但功能基本够用了,只是没有找到汉化),自带发送模拟器﹑日志浏览器等实用工具。
我还测试了一下把ACE日志写到syslog的功能。过程记录如下:
1)使用klog工具
这个主要用到kiwisyslog的klog实用工具(这个工具同时提供dll库的调用方式,真是好东西,我决定以后在我的应用里都用它!),它支持直接或用重定向的方法输出日志到kiwisyslog。
klog –m "It's almost lunchtime"
DIR *.* | klog -h 192.168.1.2 -i
但我试图使用ACE应用日志输出到kiwisyslog时(ace_app.exe | klog -h 192.168.1.2 -i的形式),发现日志内容里前后有乱码出现,即ACE的日志输出直接重定向到klog再转到kiwisyslog有问题;并且不能按时间一行一行的输出,而是等应用程序执行结束时一股脑输出到kiwisyslog(按回车换行切开成一条一条日志)。如果程序非正常结束,还不能将输出日志内容传到 kiwisyslog。
还有一个方法是在Windows通过设置可以把ACE日志输出到系统日志里面。
ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG);
然后按下面2)的方法转到kiwisyslog。
2)还可以把Windows下的事件日志转到Linux下的syslog
我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
介绍第三方软件evtsys (全称是evntlog to syslog)
文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe
把这两个文件拷贝到 c:/windows/system32目录下。
打开Windows命令提示符(开始->运行输入CMD)
C:/>evtsys –i –h 192.168.10.100
-i 表示安装成系统服务
-h 指定log服务器的IP地址
如果要卸载evtsys,则:
net stop evtsys
evtsys -u
启动该服务:
C:/>net start evtsys
打开windows组策略编辑器 (开始->运行输入 gpedit.msc)
在windows设置-> 安全设置-> 本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。
‘肆’ 如何搭建中心系统日志审计服务器
这个最好是找专业的公司做,不过我建议你可以试试聚铭日志审计系统,内置多种报表模板,用户可以灵活定义。采用高性能应用架构设计,满足事件的实时分析、审计要求。
‘伍’ 如何实现集中式RSYSLOG服务器监控
安装RSYSLOG服务器
这第一个部分描述的是如何搭建从客户端收集syslog数据的RSYSLOG服务器。在该例子中,我们的服务器名为rsyslog.domain.com,其固定IP地址为192.168.0.15。
首先,我们安装一些依赖项。
apt-get update
apt-get upgrade
apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-moles zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
安装过程中要求你输入MySQL服务器的密码时,创建一个密码!
我的OpenVZ模板已准备好了一切,所以下面这个命令对你来说可能没有必要……
apt-get install linux-kernel-headers
确保相应服务已创建并运行起来……
/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart
确保服务器在侦听合适的TCP IP端口(端口80和端口3306)。这时,RSYSLOG还没有侦听任何端口。
rsyslog:~# netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 415/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 581/apache2
然后,我们可以构建rsyslog数据库:
mysqladmin -u root -p create rsyslog
接下来,我们启动MySQL命令外壳程序,创建rsyslog用户:
mysql -u root -p
GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE';
FLUSH PRIVILEGES;
quit
接下来,我们配置rsyslog服务器,以便侦听TCP端口514:
vi /etc/rsyslog.conf
添加这几行……(要记得将密码更改成你在创建MySQL服务器的rsyslog用户时输入的那个密码。)
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE
……并去掉处理TCP syslog接收的几行代码前面的注释。
# rsyslog v3的/etc/rsyslog.conf配置文件
#
# 想了解更多信息,请参阅/usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE
#################
#### 模块 ####
#################
$ModLoad imuxsock # 提供对本地系统日志的支持
$ModLoad imklog # 提供内核日志支持(以前由rklogd来提供)
#$ModLoad immark # 提供--MARK--息功能
# 提供UDP syslog接收
#$ModLoad imudp
#$UDPServerRun 514
# 提供TCP syslog接收
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### 全局指令 ####
###########################
并重启rsyslog服务。
/etc/init.d/rsyslog restart
确保服务器在侦听合适的TCP IP端口。(端口80、端口514和端口3306。)
rsyslog:~# netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 618/rsyslogd
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 415/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 581/apache2
接着我们下载LogAnalyzer,并配置Apache web服务器,以便显示日志。
cd /tmp
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz
tar xvzf loganalyzer-3.4.1.tar.gz
mv loganalyzer-3.4.1/ /var/www/
cd /var/www
接着我们为Apache web服务器配置www文件夹用户权限。
chown www-data:www-data * . -Rf
然后,我们对LogAnalyzer文件夹作了一些“改进”工作。
mv loganalyzer-3.4.1/ loganalyzer
cd contrib/
cp * ./../src/
cd ./../src/
sh ./configure.sh
我们已准备使用我们的互联网服务器来输入LogAnalyzer的最后设置项。往你的互联网浏览器里面输入rsyslog服务器的固定IP地址,本文中是http://192.168.0.15/loganalyzer/src/install.php。
运行简单的设置脚本(很简单,只要点击next -> next。)
现在,你应该有了正常运行的rsyslog服务器,而且LogAnalyzer已创建并运行起来。
接下来,我们配置RSYSLOG客户端,以便将其syslog数据发送到rsyslog服务器:
配置RSYSLOG客户端
我们要做的通常仅仅是配置rsyslog.conf文件,然后重启服务。(几乎所有Debian操作系统都预先安装了rsyslog。)
vi /etc/rsyslog.conf
添加万一网络连接中断要用到的work spool目录这几行,并将你的rsyslog服务器IP地址更改成192.168.0.15。(你可能还想要用mkdir命令来创建/rsyslog/work spool目录。)
# 提供TCP syslog接收
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # work(spool)文件的默认位置
$ActionQueueType LinkedList # 使用异步处理
$ActionQueueFileName srvrfwd # 设置文件名称,还启用磁盘模式
$ActionResumeRetryCount -1 # 插入失败后,无限次重试
$ActionQueueSaveOnShutdown on # 如果rsyslog关闭,保存内存中数据
*.* @@YOUR-RSYSLOG-SERVER-ADDRESS-HERE
###########################
#### 全局指令####
###########################
并重启rsyslog服务。
/etc/init.d/rsyslog restart
服务器已通过合适的TCP IP端口(端口514)连接。
root@ic1:~# netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.0.100:49188 192.168.0.15:514 ESTABLISHED 13289/rsyslogd
这就是成功搭建的系统的样子。
‘陆’ 如何建立华为交换机日志服务器
硬件很简单的。一台电脑就行。软件就是sylog软件了。
‘柒’ 用Linux 怎样搭建网络设备的日志服务器
只要开启linux服务器的syslog服务就可以了。 网络设备的日志采集服务器 指向改syslog服务器的地址。
‘捌’ 想在公司内部搭建一个日志服务器,可以接收其他所有服务器以及各种设备产生的日志。不知道用什么服务器。
http://wenku..com/view/8053931cff00bed5b9f31d8a.html
详细步骤
建立一个中央日志服务器
1建立中央日志服务器前的准备工作
配置良好的网络服务(DNS和NTP)有助于提高日志记录工作的精确性。在默认情况下,当有其他机器向自己发送日志消息时,中央日志服务器将尝试解析该机器的FQDN(fullyqualifieddomainname,完整域名)。(你可以在配置中央服务器时用“-x”选项禁止它这样做。)如果syslog守护进程无法解析出那个地址,它将继续尝试,这种毫无必要的额外负担将大幅降低日志记录工作的效率。类似地,如果你的各个系统在时间上不同步,中央日志服务器给某个事件打上的时间戳就可能会与发送该事件的那台机器打上的时间戳不一致,这种差异会在你对事件进行排序分析时带来很大的困扰;对网络时间进行同步有助于保证日志消息的时间准确性。如果想消除这种时间不同步带来的麻烦,先编辑/etc/ntp.conf文件,使其指向一个中央时间源,再安排ntpd守护进程随系统开机启动就可以了。
2配置一个中央日志服务器
只须稍加配置,就可以用syslog实现一个中央日志服务器。任何一台运行syslog守护进程的服务器都可以被配置成接受来自另一台机器的消息,但这个选项在默认情况下是禁用的。在后面的讨论里,如无特别说明,有关步骤将适用于包括SUSE和RedHat在内的大多数Linux发行版本。我们先来看看如何激活一个syslog服务器接受外来的日志消息:
1. 编辑/etc/sysconfig/syslog文件。
在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。如果因为关于其他机器的DNS记录项不够齐全或其他原因不想让中央日志服务器解析其他机器的FQDN,还可以加上“-x”选项。此外,你或许还想把默认的时间戳标记消息(--MARK--)出现频率改成比较有实际意义的数值,比如240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“--MARK--”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。按照上面这些解释写出来的配置行应该是如下所示的样子:
SYSLOGD_OPTIONS="-r-x-m240"
2.重新启动syslog守护进程。修改只有在syslog守护进程重新启动后才会生效。如果你只想重新启动syslog守护进程而不是整个系统,在RedHat机器上,执行以下两条命令之一:
/etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
/etc/rc.d/init.d/syslogrestart
3.如果这台机器上运行着iptables防火墙或TCPWrappers,请确保它们允许514号端口上的连接通过。syslog守护进程要用到514号端口。
4为中央日志服务器配置各客户机器
让客户机把日志消息发往一个中央日志服务器并不困难。编辑客户机上的/etc/syslog.conf文件,在有关配置行的操作动作部分用一个“@”字符指向中央日志服务器,如下所示:
另一种办法是在DNS里定义一个名为“loghost”的机器,然后对客户机的syslog配置文件做如下修改(这个办法的好处是:当你把中央日志服务器换成另一台机器时,不用再修改每一个客户机上的syslog配置文件):
authpriv.*@loghost
接下来,重新启动客户机上的syslog守护进程让修改生效。让客户机在往中央日志服务器发送日志消息的同时继续在本地进行日志工作仍有必要,起码在调试客户机的时候不必到中央日志服务器查日志,在中央日志服务器出问题的时候还可以帮助调试。