热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS5.8搭建日志管理服务器(syslog-ng+logzilla)

。哈哈。已经搭建成功,本想自己写,不过这篇博文非常的不错,在此感谢作者无私的奉献精神,650)this.srchttp:www.i

。哈哈。已经搭建成功,本想自己写,不过这篇博文非常的不错,在此感谢作者无私的奉献精神,

 

五、安装前的准备工作

1. 关闭SELinux

查看SELinux的状态

getenforce

如果是开启状态,则

vi /etc/selinux/config

#SELINUX=enforcing     #注释掉

#SELINUXTYPE=targeted  #注释掉

SELINUX=disabled  #增加

重启系统

reboot

2. 开启防火墙80514端口

vi /etc/sysconfig/iptables

添加两条规则

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 514 -j ACCEPT

3.安装LAMP和需要用到的额外软件包

yum -y install gcc gcc-c++ flex pcre pcre-devel glib2 glib2-devel openssl-devel php gd gd-devel php-gd mysql php-mysql mysql-server mysql-devel httpd

4.平台初始化

yum -y install libdbi* libnet

cpan Date::Calc Text::LevenshteinXS String::CRC32

cpan -i Digest::SHA1

cpan -i Net::MySQL

5.下载软件

cd /usr/local/src/

wget http://www.balabit.com/downloads/files/eventlog/0.2/eventlog_0.2.12.tar.gz

wget http://www.balabit.com/downloads/files/libol/0.3/libol-0.3.18.tar.gz

wget http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.3.5/source/syslog-ng_3.3.5.tar.gz

wget http://php-syslog-ng.googlecode.com/files/logzilla_v2.9.9o.tgz

六、syslog-ngtlogzilla的安装

1.安装eventlog

tar -zxvf eventlog_0.2.12.tar.gz

cd eventlog-0.2.12/

./configure --prefix=/usr/local/eventlog

make && make install

2.安装libol

tar -zxvf libol-0.3.18.tar.gz

cd libol-0.3.18

./configure --prefix=/usr/local/libol

make && make install

3.安装syslog-ng

# 设置环境变量

export PKG_CONFIG_PATH=/usr/local/eventlog/lib/pkgconfig/

tar -zxvf syslog-ng_3.3.5.tar.gz

cd syslog-ng-3.3.5/

./configure --prefix=/usr/local/syslog-ng --with-libol=/usr/local/libol/

出现下图内容则表示OK

./configure出现的错误:

错误1configure:error: Package requirements (glib-2.0 >= 2.10.1 gmodule-2.0 gthread-2.0) were not met:

解决办法:yum -y install glib2-devel

错误2configure: error: OpenSSL is required when glib-2.0 <<2.16.0

configure: error: ./configure.gnu failed for modules/afmongodb/libmongo-client

解决办法:yum -y install openssl-devel

编译安装syslog-ng

make && make install 

4.安装logzilla

tar -zxvf logzilla_v2.9.9o.tgz -C /var/www/html/

创建logzilla日志的存放目录

mkdir -p /var/log/logzilla

php-syslog-ng目录apache用户的权限

chown -R apache:apache /var/www/html/php-syslog-ng/

七、配置syslog-nglogzilla

1. mysql的初始化和配置

vi /etc/my.cnf

由于search_cache表采用的是MEMORY存储引擎,有大小的限制,修改一下/etc/my.cnf,添加以下内容:

tmp_table_size=1G

max_heap_table_size=1G

mysql以服务的方式开机启动

chkconfig mysqld on

启动mysql

service mysqld start

设置mysqlroot密码

cd /usr/bin/

mysqladmin -u root -h localhost password 'mysql123456'

登录mysql测试

mysql -u root -p

输入密码:mysql123456

Exit

2.修改syslog-ng配置

syslog-ng初始配置文件备份,我们要重新创建配置文件

mv /usr/local/syslog-ng/etc/syslog-ng.conf /usr/local/syslog-ng/etc/syslog-ng.conf.bak

vi /usr/local/syslog-ng/etc/syslog-ng.conf

  
  1. ############################################################################# 
  2. Default syslog-ng.conf file which collects all local logs into a 
  3. # single file called /var/log/messages. 
  4.  
  5. @version: 3.3 
  6. @include "scl.conf" 
  7.  
  8. source s_local { 
  9.         system(); 
  10.         internal(); 
  11.         unix-stream("/dev/log");   
  12.         file("/proc/kmsg" program_override("kernel: ")); 
  13. }; 
  14.  
  15. source s_network { 
  16.         udp(ip(0.0.0.0) port(514)); 
  17. }; 
  18.  
  19. destination d_messages { 
  20.         file("/var/log/messages"); 
  21. }; 
  22.  
  23. options { 
  24.       chain_hostnames(off); 
  25.       # doesn't actually help on Solaris, log(3) truncates at 1024 chars 
  26.       log_msg_size(8192); 
  27.       # buffer just a little for performance 
  28.       # sync(1); <- Deprecated - use flush_lines() instead 
  29.       flush_lines(1); 
  30.       # memory is cheap, buffer messages unable to write (like to loghost) 
  31.       log_fifo_size(16384); 
  32.       # Hosts we don't want syslog from 
  33.       #bad_hostname("^(ctld.|cmd|tmd|last)$"); 
  34.       # The time to wait before a dead connection is reestablished (seconds) 
  35.       time_reopen(10); 
  36.       #Use DNS so that our good names are used, not hostnames 
  37.       use_dns(yes); 
  38.       dns_cache(yes); 
  39.       #Use the whole DNS name 
  40.       use_fqdn(yes); 
  41.       keep_hostname(yes); 
  42.       chain_hostnames(no); 
  43.       #Read permission for everyone 
  44.       perm(0644); 
  45.       # The default action of syslog-ng 1.6.0 is to log a STATS line 
  46.       # to the file every 10 minutes.  That's pretty ugly after a while. 
  47.       # Change it to every 12 hours so you get a nice daily update of 
  48.       # # how many messages syslog-ng missed (0). 
  49.       # stats(43200); 
  50. }; 
  51.  
  52. destination d_logzilla { 
  53.    program("/var/www/html/php-syslog-ng/scripts/db_insert.pl" 
  54.    template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n") 
  55.    template_escape(yes) 
  56.    ); 
  57. }; 
  58.  
  59. log { 
  60.         source(s_local); 
  61.  
  62.         # uncomment this line to open port 514 to receive messages 
  63.         source(s_network); 
  64.         destination(d_logzilla); 
  65. }; 

3.修改apache的配置

vi /etc/httpd/conf/httpd.conf

找到以下行,将其修改为下面内容

  
  1. ServerName www.example.com:80 
  2. DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp index.html.var 
  3.  
  4.     ServerAdmin webmaster@log.syslog.com 
  5.     DocumentRoot /var/www/html/php-syslog-ng/html/ 
  6.     ServerName syslog.com.cn 
  7.     ErrorLog logs/syslog.com.cn-error_log 
  8.     CustomLog logs/syslog.com.cn-access_log common 
  9.     Alias /logs "/var/www/html/php-syslog-ng/html/" 
  10.     "/var/www/html/php-syslog-ng/html/"
  11.         Options Indexes MultiViews FollowSymLinks 
  12.         AllowOverride All 
  13.             Order allow,deny 
  14.             Allow from all 
  15.      
  16.  

 4.修改php.ini

vi /etc/php.ini

  
  1. max_execution_time = 300   # 最大运行时间 
  2. display_errors = On         # 显示所有错误信息 
  3. magic_quotes_gpc = On 

 让apache以服务的方式开机启动

chkconfig httpd on

启动apache

service httpd start

5.自动分隔logzilla日志

cp /var/www/html/php-syslog-ng/scripts/contrib/system_configs/logrotate.d /etc/logrotate.d/logzilla

添加自动运行作业

crontab -e

  
  1. @daily /usr/bin/php /var/www/html/php-syslog-ng/scripts/logrotate.php >> /var/log/logzilla/logrotate.log 
  2. @daily /usr/bin/find /var/www/html/php-syslog-ng/html/jpcache/ -atime 1 -exec rm -f '{}' ';' 
  3. */5 * * * * /usr/bin/php /var/www/html/php-syslog-ng/scripts/reloadcache.php >> /var/log/logzilla/reloadcache.log 

 logrotate.phpreloadcache.php可执行权限

chmod +x logrotate.php

chmod +x reloadcache.php

6.修改db_insert.pl文件

vi /var/www/html/php-syslog-ng/scripts/db_insert.pl

找到所有包含

/var/www/php-syslog-ng/html/config/config.php

的行,改为

/var/www/html/php-syslog-ng/html/config/config.php

7.配置syslog-ng开机启动

vi /etc/rc.d/rc.local

加入下面行

/usr/local/syslog-ng/sbin/syslog-ng

启动syslog-ng

/usr/local/syslog-ng/sbin/syslog-ng

八、通过WEB方式安装logzilla

1.打开浏览器输入:http://192.168.0.231/logs

如果此时-GD supportUnavailable,解决方法如下:

yum -y install gd-devel php-gd

service httpd restart

ps -ef |grep syslog-ng

找到syslog-ng的进程, kill掉,然后启动syslog-ng

/usr/local/syslog-ng/sbin/syslog-ng

确认所有项都无误后,点击“Next>>

Web登录的用户为:admin,密码为:password,点击“Install CEMDB

注:如果点击install CEMDB没有反应的话,请使用Firefox进行安装。

2.替换脚本路径

cd php-syslog-ng/scripts/

./fixpaths.sh

Updating all files with a base path of /var/www/php-syslog-ng

Modifying ../scripts/lpdcache.php

Modifying ../scripts/db_insert.pl

Modifying ../scripts/logrotate.php

Modifying ../scripts/resetusers.sh

Modifying ../scripts/contrib/dbgen/dbgen.pl

Modifying ../scripts/contrib/system_configs/crontab

Modifying ../scripts/contrib/system_configs/syslog-ng.conf

Modifying ../scripts/contrib/system_configs/logzilla.apache

Modifying ../scripts/contrib/loggen/find_missing_sequences.pl

Modifying ../scripts/reloadcache.php

出现以上内容,则表示执行成功。

3.重启syslog-ng

ps -ef | grep syslog-ng

找到syslog-ng的进程,kill掉,启动syslog-ng

/usr/local/syslog-ng/sbin/syslog-ng

4.添加verdana.ttf字体

mkdir -p /usr/share/fonts/truetype/msttcorefonts/

上传windows机器的verdana.ttf字体到此目录下,否则点graph时会提示找不到此字体文件。

九、客户机配置

1.Linux客户机配置

vi /etc/syslog.conf

修改syslog的配置文件,添加以下内容:

  
  1. *.*       @192.168.0.231 

重启syslog服务

service syslog restart

2.windows客户机配置

windows日志不支持syslog格式,需要安装Evtsys_4.4.3_64-Bit.zip,下载地址为:http://code.google.com/p/eventlog-to-syslog/downloads/list

解压后是两个文件evtsys.dllevtsys.exe

把这两个文件拷贝到 c:\windows\system32目录下。

打开Windows命令提示符(开始->运行 输入CMD

evtsys i h 192.168.0.231   #(日志服务器的IP地址)

参数说明:

-i 表示安装成系统服务

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

如果要卸载evtsys,则:

net stop evtsys

evtsys -u

启动该服务:

net start evtsys

附:不能显示日志当中带有"<"、">"的问题,如思科系统的日志

解决方法:

在tailresult.php和regularresult.php中查找

  
  1. if (CISCO_TAG_PARSE ) 
  2.    { 
  3.         $row['msg'] = preg_replace('/\s:/'':', $row['msg']); 
  4.         $row['msg'] = preg_replace('/.*(%.*?:.*)/''$1', $row['msg']); 
  5.     } 

 添加如下内容

  
  1. $row['msg'] = preg_replace('/' ', $row['msg']); 
  2. $row['msg'] = preg_replace('/>/'' ', $row['msg']); 

对于服务器的一些优化,请参见我的另一篇博文:http://andyxu.blog.51cto.com/2050315/881169的附1、附3和附4内容。

参考文献:

http://blog.liuts.com/post/209/

http://bbs.chinaunix.net/thread-2042734-1-1.html

在此感谢以上两位作者,谢谢!

本文出自 “风中流浪” 博客


推荐阅读
  • tomcat的log文件夹下有以下几种日志:1、catalina.YYYY-MM-DD.logcatalina引擎输出的日志;catalina是tomc ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 现在需要用到php(现在可以用)
    本文目录一览:1、现在在工作中PHP用到的多么? ... [详细]
  • Linuxcrontab(定时任务)语法crontab[options]常用参数:设置定时任务任务格式在任务的编辑界面中,任务的格式为:前面是任务执行的周期,分为分钟、小时、天、月 ... [详细]
  • 示例代码packagemainimport(&amp;quot;net&amp;quot;&amp;quot;os&amp;quot;&am ... [详细]
  • IIS服务器配置NXLog进行syslog转发(并解决GMT+8小时时差问题)
    IIS服务器配置NXLog进行syslog转发(并解决GMT+8小时时差问题) ... [详细]
  • 分享一下我老师大神的人工智能教程!零基础,通俗易懂!http:blog.csdn.netjiangjunshow也欢迎大家转载本篇文章。分 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
author-avatar
茳小国
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有