linux下cacti syslog-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 2090552
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: linux

2011-02-13 21:42:14

 

 

 

 

 

 

cacti syslog-ng snare

 

 

 

 

系统环境:centos5.4

文档版本:v1.0.0

整理者:teasure

更新时间:2011-02-13

说明:运维专用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rpm

syslog-ng的官方网站上下载编译好的rpm,针对rhelcentos.

需要的rpm包,可以到这里进行下载使用:

  

文件:

syslog-ng.rar

大小:

859kb

下载:

 

 

安装(服务器跟客户端安装都一样,这里指的是linux客户端,windows客户端需要另外的软件)

[root@teasure syslog]# ll
-rw-r--r-- 1 root root  72601 2009-01-04 libdbi8-0.8.2bb2-3.rhel5.i386.rpm

-rw-r--r-- 1 root root 650564 2009-01-04 libdbi8-dev-0.8.2bb2-3.rhel5.i386.rpm

-rw-r--r-- 1 root root   9076 2009-01-04 libevtlog0-0.2.8-1.i386.rpm

-rw-r--r-- 1 root root 163024 2009-01-04 syslog-ng-2.1.3-1.i386.rpm

安装libevt

[root@teasure syslog]# rpm -ivh libevtlog0-0.2.8-1.i386.rpm
preparing...                ################################# [100%]
   1:libevtlog0             ################################## [100%]

安装syslog-ng

[root@teasure syslog]# rpm -vih libdbi8-0.8.2bb2-3.rhel5.i386.rpm libdbi8-dev-0.8.2bb2-3.rhel5.i386.rpm syslog-ng-2.1.3-1.i386.rpm
warning: libdbi8-0.8.2bb2-3.rhel5.i386.rpm: header v3 dsa signature: nokey, key id 2aa28252
preparing...                ############################### [100%]
   1:libdbi8                ############################### [ 33%]
   2:libdbi8-dev            ############################### [ 67%]
   3:syslog-ng              ################################# [100%]

shutting down kernel logger: [  ok  ]
shutting down system logger: [  ok  ]
starting syslog-ng: [  ok  ]

 

[root@teasure syslog]# cd /etc/syslog-ng

[root@teasure syslog-ng]# cp syslog-ng.conf syslog-ng.conf.bak

[root@teasure syslog-ng]# vim syslog-ng.conf 

在最后末行添加如下:

source net {

udp();

};

 

destination d_mysql {

pipe("/tmp/mysql.pipe"

 

template("insert into syslog_incoming (host, facility, priority, date, time, message) values ( '$host', '$facility', '$priority', '$year-$month-$day', '$hour:$min:$sec', '$msg' );\n")

template-escape(yes)

);

};

 

log { source(net); destination(d_mysql); };

log { source(s_local); destination(d_mysql); };

 

完成之后,执行命令:

检查服务状态

 

插件

安装syslog插件,在syslog插件目录下,编辑一个新的sh文件/var/www/html/plugins/syslog/syslog2mysql.sh,并且赋予可执行权限(同时该目录下的syslog_process.php也必须有可执行权限):

 

[root@teasure syslog]# chmod x syslog2mysql.sh syslog_process.php

 

syslog2mysql.sh脚本内容如下:

 

#!/bin/bash

if [ ! -e /tmp/mysql.pipe ]

then

mkfifo /tmp/mysql.pipe

fi

while [ -e /tmp/mysql.pipe ]

do mysql -u root syslog < /tmp/mysql.pipe >/dev/null

done

 

运行syslog2mysql.sh,如果没有任何显示,后台有该进程,则基本上成功了。

[root@teasure syslog]#/var/www/html/plugins/syslog/syslog2mysql.sh &

 

中添加:

[root@teasure syslog]# crontab   -e 添加如下两行内容:

 

@reboot  /var/www/html/plugins/syslog/syslog2mysql.sh

*/1 * * * * /usr/bin/php /var/www/html/plugins/syslog/syslog_process.php

 

使开机执行syslog2mysql.shsyslog_process.php每分钟执行一次。

 

注意事项:全部完成后记得重启各种服务。

 

客户端配置
 
服务器客户端安装及配置

安装跟服务器端一样的,这里就不多说了.

配置

/etc/syslog-ng/syslog.conf里只需要加三行就可以了把其它的全部都注释掉

内容如下:

source s_local { pipe ("/proc/kmsg" log_prefix("kernel: ")); unix-stream ("/dev/log"); internal(); };

destination d_udp { udp("192.168.1.198" port(514)); };
log { source(s_local); destination(d_udp); };

 

然后再重启syslog-ng服务就可以了.

:

上面的配置会导致本地没有任何日志信息了,因为全部都发送到了日志服务器上面了.如果想在本地保留一份日志信息,那么在syslog-ng里面再加入三行,内容如下:

source s_local { pipe ("/proc/kmsg" log_prefix("kernel: ")); unix-stream ("/dev/log"); internal(); };
destination d_syslognglog { file("/var/log/syslog-ng.log"); };
log { source(s_local); destination(d_syslognglog); };

 

这样本地也就有一份日志信息了,保存在/var/log/syslog-ng.log里面.

 

服务器客户端配置

 

代理软件

安装syslog-ng代理软件:snaresetup-3.1.3-multiarch.exe,为什么用这个呢,这个配置简单易用.

安装很简单,双击exe文件,下一步,下一步.其中有一步是问需要不需要密码,是用默认的snare做为用户跟密码还是用本地系统的用户,还是创建一个帐号做为认证,这个就取决于个人了.点击安装完成.

配置snare,点击开始--程序--选择intersect alliance--snare for windows 后是一个web形式的,地址为:

默认是不需要密码的,可以配置为需要用户名跟密码来认证.首先我们配置日志服务器这一部分,也是最主要的部分,如果这一部分配置不正确的话,那日志服务器上也就不会有这台机器的日志信息了.点击左边的:network configuration 如下所示

 

destination snare server address ---这个就是日志服务器的ip地址了.一般不用域名,怕解释不到.

 destination port --- 这个就是日志服务器的端口了 一般默认是514

enable syslog header一般把勾打上.下面两个就根据你的需要来设置了.

设置完成后再点下面的 change configureation 应用配置

还有一个重要的配置,那就是决定把什么样的日志发送到日志服务器呢?再点左边的:objectives configuration,如下所示:

 

 

这个修改就要看个人的需求是什么样的了,我这里就不多说了.全部完成后记得点左边的:apply the latest audit configuration 来应用所有的配置!当然snare还有其它的功能,比如远程操控这个代理软件,自己多摸索吧

 

附加上win下的软件包如下:    (634.2 kb)

 

 

 

 
4.1.1.    插件报错

warning: include(./include/html/inc_timespan_settings.php)

126行有错:

include($syslog_config["graphtime"] ?"./include/html/inc_timespan_settings.php" : "plugins/syslog/html/syslog_timespan_settings.php");

修改126行为:

include($syslog_config["graphtime"] ? "././lib/timespan_settings.php" : "plugins/syslog/html/syslog_timespan_settings.php");

但是,针对cactiv9.1.iso版本的安装syslog-ng的时候,不会出现这个问题。其配置文件内容如下:

include($syslog_config["graphtime"] ? "./include/html/inc_timespan_settings.php" : "plugins/syslog/html/syslog_timespan_sett ings.php");

 

 
syslog

使用默认的syslog做为syslog-ng的客户端,这样可以避免在太多客户端的情况下需要安装syslog-ng软件,而且配置更容易.

[root@teasure ~]# vim /etc/syslog.conf


# log all kernel messages to the console.
# logging much else clutters up the screen.
#kern.*                                                 /dev/console

# log anything (except mail) of level info or higher.
# don't log private authentication messages!
#*.info;mail.none;authpriv.none;cron.none               /var/log/messages
*.info;mail.none;authpriv.none;cron.none                @192.168.1.198

 

# the authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# log cron stuff
cron.*                                                  /var/log/cron
cron.*                                                  @192.168.1.198

 

# everybody gets emergency messages
*.emerg                                                 *

# save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# save boot messages also to boot.log
local7.*                                                /var/log/boot.log
local7.*                                                @192.168.1.198

 

其中有@标识的就是把日志发送到日志服务器的,例如:

cron.*                                                  @192.168.1.198

这一行表示把cron的日志发送到日志服务器192.168.1.198上面去.

原来的配置我并没有改动,因为这样就可以保持原来的日志一样写入到本地.方便查看.

syslog服务

 

[root@teasure syslog-ng]# service syslog restart
shutting down kernel logger:                               [  ok  ]
shutting down system logger:                               [  ok  ]
starting system logger:                                    [  ok  ]
starting kernel logger:                                    [  ok  ]

 

 
6.1.1.   在日志服务器上放行514端口

在日志服务器上要让iptables允许514端口通过,不然服务器无法接收到客户端的日志信息。

加两条规则,如下:

[root@teasure ~]# iptables –a  input -m state --state new -m tcp -p tcp --dport 514 -j accept

[root@teasure ~]# iptables –a  input -p udp -m state -m udp --dport 514 --state new -j accept

阅读(6704) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图