如何搭建syslog日志服务器,第1张

首先我们知道日志是什么,日志毫无疑问就跟我们写日记一样记录我们每天做的一些事情,那么日志对于一台服务器而言是至关重要的,比如说我们搭建服务的时候,服务起不来也没提示错误信息,那么这个时候就可以查看日志来排错了,还记录了服务器的运行情况已经入侵记录等等 ,那么我们知道一台服务器的日志默认是存放在本地的对于linux而言日志一般存放于/var/log/目录下,比如说某系统管理员管理着几十甚至上百台服务器的时候,默认日志放在每台服务器的本地,当我们每天要去看日志的时候一台一台的看日志是不是要郁闷死了 没关系在linux系统上提供了一个syslogd这样的一个服务为我们提供日志服务器,他可以将多台主机和网络设备等等的日志存到日志服务器上,这样就大大减少了管理员的工作量,下面将在一台默认装有rhel5x的系统上搭建一台日志服务器

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

系统环境:默认安装有rhel58的系统

主机 角色 IP地址

server1 日志服务器 10001

server2 10002

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

实际上日志服务器的配置非常之简单几条命令就搞定了

一配置日志服务器为网络中其他主机及其网络设备等等提供日志存储服务,也就是配置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/syslogconf定义日志的类型以及日志的级别和日志存放的位置,这里就只简 单的介绍下大体的配置思路,

#vim /etc/syslogconf

@10001

上面的配置表示所有的日志类型所有的日志的级别的日志都将存放在10001这台日志服务器上

2,重启syslog

#service syslog restart

三验证

1在server2上建一个redhat的用户,然后到server1上的/var/log/secure文件或者/var/log/messages文件 查看日志

#cat /var/log/secure

Jun 8 00:58:05 10002 useradd[15463]: new group: name=redhat, GID=500

Jun 8 00:58:05 10002 useradd[15463]: new user: name=redhat, UID=500, GID=500, home=/home/redhat, shell=/bin/bash

可以看到10002这台主机new了一个redhat的用户

一个合格的站长或者seoer必须要能看懂网站的服务器日志文件,这个日志记录了网站被搜索引擎爬取的痕迹,给站长提供了蜘蛛是否来访的有力佐证,站长朋友可以通过网站日志来分析搜索引擎蜘蛛的抓取情况,分析网站的是否存在收录异常问题。并且我们可以根据这个日志文件判断蜘蛛来访频率以及抓取规律,这将非常有利于我们做优化。另外,学习分析网站日志文件也是站长必须具备的能力,也是你从一个初级seo进阶到seo高手的必由之路。但是前提是要主机服务商开通日志统计功能,一般虚拟主机提供商都不会开通,你可以申请开通,或者自己到服务器管理后台开通这个日志统计功能,不过日志也会占用空间的,我们在看完日志文件后,可以隔段时间清理下日志文件。那么如何分析服务器日志文件呢听我娓娓道来。

  搜索引擎抓取网站信息必会在服务器上留下信息,这个信息就在网站日志文件里。我们通过日志可以了解搜索引擎的访问情况,一般通过主机服务商开通日志功能,再通过FTP访问网站的根目录,在根目录下可以看到一个log或者weblog文件夹,这里面就是日志文件,我们把这个日志文件下载下来,用记事本(或浏览器)打开就可以看到网站日志的内容。那么到底这个日志里面隐藏了什么玄机呢其实日志文件就像飞机上的黑匣子。我们可以通过这个日志了解很多信息,那么到底这个日志给我们传递了什么内容呢

  如果想要知道网站日志文件包含了什么内容,首先必须知道各搜索引擎的蜘蛛名称,比如百度的蜘蛛程序名称是baiduspider,Google的机器人程序名称是Google-Googlebot等等,我们在日志的内容里搜索上述的的蜘蛛名就可以知道哪个搜索引擎已经爬取过网站了,这里就留下了他们的蛛丝马迹。再者,必须能看懂常见的http状态码,最常见的HTTP状态码有200(页面抓取成功)、304(上次抓取的和这次抓取的没变化),404(未找到页面,错误链接)500(服务器未响应,一般由服务器维护和出故障,网站打不开时出现的),这些状态码是我们站长朋友必须能看懂的,服务器状态码的值是我们和蜘蛛交流的信号。知道了这些基本信息以后我们就可以根据网站日志进行分析了,一般来说我们只看百度和谷歌蜘蛛的爬行和抓取情况,当然有特殊需要的也可以对其他几个蜘蛛的爬行情况进行分析。网站日志中出现大量的谷歌蜘蛛和百度蜘蛛,说明搜索引擎蜘蛛时常来光顾你的网站。

  说到分析日志文件,我们就不得不说分析日志文件的时机了,那么在什么情况下我们要去分析日志文件呢首先,新网站刚建立的时候,这个时候也是站长朋友最急切的时候,我们一般都会焦急的等待搜索引擎收录网站内容,经常会做的事情就是去百度或者Google用命令site:下网站域名看看是否被收录,这个时候,其实我们没必要频繁的查询网站是否被收录,要想知道搜索引擎是否关顾我们的网站。我们就可以借助网站日志文件来查看,怎么看看网站日志是否有搜索引擎的蜘蛛来网站抓取过,看返回的状态码是200还是其他,如果返回200说明抓取成功,如果返回404说明页面错误,或者页面不存在,就需要做301永久重定向或者302暂时重定向。一般抓取成功后被搜索引擎放出来的时间也会晚点,一般谷歌机器人放出来的比较快,最快可秒杀,但是百度反应就慢了,最快也要一周左右,不过11月份百度算法调整后,放出来的速度还是很快的。其次,当网站收录异常时我们要把正常收录的日志和异常的日志进行对比分析,找出问题所在,这样可以解决网站收录问题,也是对完整优化大有裨益的。第三,网站被搜索引擎K掉后,我们必须要观察网站日志文件来亡羊补牢,一般这种情况下,日志文件里只有很少的几个蜘蛛爬行了首页和robots,我们要找出被K的原因并改正,再提交给搜索引擎,接下来就可以通过观察日志来看蜘蛛是否正常来临,慢慢过一段时间,如果蜘蛛数量增加或者经常来临并且返回200状态吗,那么恭喜你,你的网站又活了,如果半年都没反应,那么建议放弃该域名重新再战了。

  很多站长朋友不懂得如何利用网站日志文件,遇到网站收录问题就去提问别人,而不好好自检,这是作为站长或者seoer的悲哀。而且网上的很多软文都提到要做好日志文件的分析,但是那只是软文而已,说不定写文章的作者都没有去看日志文件。说到底,还是希望站长朋友一定不要忽略了网站日志文件,合理的利用好网站日志文件是一个站长或seoer必备的技能。再者说,看懂网站日志文件并不需要你有多么高深的编码知识,其实只要看得懂html代码和几个返回的状态码就可以了,一定不能懒,或者抱着侥幸心理去对待你的网站,这种心理会导致你输得很惨。如果你是一个小站长,或者你是一个seoer,如果你以前没有意识到网站日志文件的重要性,那么从看到我写的这篇文章开始要好好对待你的网站日志了。

SLF4J是一套简单的日志外观模式的Java API,帮助在项目部署时对接各种日志实现。

LogBack在运行时使用JMX帮助修改日志配置,在生产状态下无需重启应用程序。

SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback、Log4j、Commons-logging和JDK自带的logging实现接口。

它使得用户可以在部署时使用自己想要的日志框架。SLF4J是轻量级的,在性能方面几乎是零消耗的。

SLF4J没有替代任何日志框架,它仅仅是标准日志框架的外观模式。

如果在类路径下除了SLF4J再没有任何日志框架,那么默认状态是在控制台输出日志。

Logback是Log4j的改进版本,而且原生支持SLF4J(因为是同一作者开发的),因此从其它日志框架如Log4j或JDK的logging迁移到Logback是完全可行的。

由于Logback原生支持SLF4J,因此Logback+SLF4J的组合是日志框架的最佳选择,比SLF4J+其它日志框架的组合要快一些。而且Logback的配置可以是XML或Groovy代码。

注意一个重要的特性,Logback通过JMX修改日志配置(比如日志级别从Debug调整到INFO),可以从JMX控制台直接操作,无需重启应用程序。

在系统根目录有个 FineReport110 文件夹,这个目录下的所有文件都是服务器生成的。

其中有个 /ehcache_disk_store 文件,经常占用非常大的空间,导致根目录很容易就满了,那么怎么修改 /ehcache_disk_store 存放路径呢?

12 实现思路

/ehcache_disk_store 里放的是两种类型的缓存文件,分别是:数据库二级缓存、文件服务器的缓存

操作时并不是直接修改 /ehcache_disk_store 的路径,而是分别修改这两种缓存文件的路径。

2 操作方法

21 修改数据库二级缓存路径

在工程目录 WEB-INF/config 文件夹下创建一个名为 ehcachedbproperties 的文件。

其中跟数据库二级缓存路径相关的配置见下图框出来的部分,可根据场景实际进行修改。

文件配置项如下:

# 数据库ehcache配置

  

# 是否禁用二级缓存,默认不禁用false

disableCache=false

 

# 堆中最大缓存空间,默认256M

maxBytesLocalHeap=1G

 

# 缓存是否常驻,true时timeToIdleSecond和timeToLiveSecond无效,默认false

eternal=false

 

# 使用后的空闲时间,默认120

timeToIdleSecond=120

 

# 创建后的存活时间,默认120

timeToLiveSecond=120

 

# 缓存过期策略,取值LRU,LFU,FIFO,CLOCK,默认LRU

memoryStoreEvictionPolicy=LRU

 

# 线程检查缓存超时的间隔时间,默认120

diskExpiryThreadIntervalSeconds=120

 

# 持久化类型,取值LOCALTEMPSWAP,DISTRIBUTED,LOCALRESTARTABLE,NONE,默认NONE

persistenceType=LOCALTEMPSWAP

# 指定数据库二级缓存路径

diskStore=C:\\Users\\root\\Desktop\\tmp\\db_cache

 

# 持久化同步写入,默认false

persistenceSynchronousWrites=false

  

# 每隔一段时间清理过期缓存,单位秒,默认60

recycleCacheMemoryInterval=60

 

# 每隔一段时间debug输出缓存使用情况(仅在调试时使用,同时日志级别需要调至DEBUG),单位秒,为0时不开启,默认0

reportCacheStatusInterval=0

22 修改文件服务器缓存路径

在 FineDB 的 fine_conf_entity 表中新增以下两个字段。新增字段时请直接连接到 FineDB 在表里手动修改,不支持使用 FINE_CONF_ENTITY可视化配置插件 配置。

FineDB 数据库类型和连接方法参见文档:FineDB数据库简介

字段 值

ResourceCacheConfigpersistenceStrategy LOCALTEMPSWAP

ResourceCacheManagerConfigdiskStorePath diskStore=C:\\Users\\root\\Desktop\\tmp\\resource_cache

asa(config)#logging host inside 101110--->用logging host 命令标明接收消息的主机

asa(config)#logging trap informational--->用logging trap命令设置日志级别

建议只开启一下日志记录

logging on

logging timestamp

logging monitor alerts

logging buffered informational

logging trap informational

logging history informational

建议关闭

TCP Syslog

这个日志量大,除非你有足够大的硬盘和定时删除日志的习惯。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何搭建syslog日志服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情