在Linux上建立日志服务器的问题

简介: 前天安排了一个任务,要在一台服务器上搭建日志服务器,作用是记录本网段所有服务器的日志,我们这个网段包括WWW、DNS、Mail、计费、Video、电子政务等十几台服务器,系统包括Windows2000、Windows2003、Linux9、AS4和Solaris。
前天安排了一个任务,要在一台服务器上搭建日志服务器,作用是记录本网段所有服务器的日志,我们这个网段包括WWW、DNS、Mail、计费、Video、电子政务等十几台服务器,系统包括Windows2000、Windows2003、Linux9、AS4和Solaris。因为以前根本没有这方面的经验和资料,自然而然想到了在网上搜罗一下,可能是这方面的应用不是太广吧,找来找去,只找到了一篇比较对路的资料,就是这篇“集中管理服务器日志”。全文如下:

----------------------------------------------------------------------------------------------------------------------
1 创建日志服务器,用来接收客户端发送来的日志,采用Linux系统默认的syslog程序
配置syslog程序,使其能够接收其他服务器发来的日志。

为了将日志按服务器ip分类,可以将syslogd程序配置如下,需要修改一下/etc/syslog.conf文件:
authpriv.* |/var/log/servers/server_login.sh

这表示把系统的登入登出日志(包括本机系统登陆登出日志)存放到/var/log/servers文件夹下。在记录目标前面加上“|”表示把接收到的信息交给后面的程序处理,这个程序可以是一个专门的日志处理软件,也可以是一个自己编写的小的脚本,举例:

#!/bin/sh

read stuff

SERVER=`echo $stuff |awk ‘{print $4}’`

echo $stuff >> /var/log/login_log/$SERVER.log

这个简单的脚本以IP作为分类依据,先用read读取log信息,用awk取出第四字段(即IP地址或者主机名所在的字段),以该字段为文件名存放该主机的日志。这样一来,来自192.168.1.1的log会记录到192.168.1.1.log文件中,来自192.168.1.2的log会被记录在192.168.1.2.log文件中,分析和归类就比较方便了。甚至把log信息分类后插入数据库中,这样日志的管理和分析就更方便了。

2 配置linux客户端,发送其日志到日志服务器。

3 配置windows服务器,使其发送日志到日志服务器。需要安装一个第三方软件,名字叫eventsys,用于转发日志到linux系统的syslog日志服务程序。下载地址为:
https://engineering.purdue.edu/E ... cuments/UNIX/evtsys
解压后是两个文件evtsys.dll和evtsys.exe ,把这两个文件拷贝到 c:/windows/system32目录下。
打开Windows命令提示符(开始->运行 输入CMD)

C:/>evtsys –i –h 192.168.0.2

-i 表示安装成系统服务

-h 指定log服务器的IP地址

打开windows组策略编辑器 (开始->运行 输入 gpedit.msc),在windows设置-> 安全设置 -> 本地策略 ->审核策略 中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。

所不同的是evtsys是以daemon设备的方式发送给 syslogd log信息的。

因此,需要在/etc/syslog.conf中加入:

daemon.notice |/var/log/server_login.sh
----------------------------------------------------------------------------------------------------------------------

看完此文后,心里大概有了一个谱了,知道该怎样操作了,可是还有一些细节性的问题需要搞清楚:

1:第一步关于建立日志服务器讲得不是很清楚,后面四行编写的脚本是不是就是前面的程序server_login.sh?然后这一步是不是仅仅就写一个脚本和改动一下syslog.conf文件就可以了?总觉得没有这么简单。
2:第二步讲的更不清楚,如何配置Linux客户端,使其发送其日志到日志服务器?另外我们的很多服务器采用的是Linux AS4系统,日志服务器如果安装的版本与它不同或者说低于它(如Redhat Linux9),能否同样完成日志的传送?
3:第三步配置Windows客户端有一个问题,就是Windows客户端记录系统日志使用的是系统自带的Eventvwr.msc组件,此组件记录的日志分为三部分:应用程序日志、系统日志和安全性日志,那么在发送日志到日志服务器的时候,是不是将三部分统统发送?
4:很多专有系统有自己自带的日志记录工具,如:计费服务器和邮件服务器,那么这部分的日志能不能够被记录到日志服务器?如果能,又该如何操作?
5:最后一个问题是,有没有一款基于Windows系统的搭建日志服务器的软件?当然,它能够跨系统接收Linux、Solaris和FreeBSD等OS发送的日志。

From:网络 
 
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
15天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
18天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
28 4
|
23天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
77 1
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
50 0
|
1月前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
46 1
|
16天前
|
存储 监控 安全
Linux系统日志
【4月更文挑战第6天】Linux系统日志,关键用于记录系统状态和事件,包括内核、系统、安全和应用日志,助力管理员诊断问题、确保系统正常运行。日志管理涉及收集、分析、备份等,常用工具如rsyslog、systemd-journal和logrotate(用于日志轮转)。重视日志文件的存储管理,防止空间占用过多。
19 1
Linux系统日志
|
23小时前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
14 2
|
5天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
9天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF