您的位置:首页 > 其它

日志主机安装指南 推荐

2007-12-27 09:32 597 查看
[/b]日志主机安装指南[/b][/b]
[/b]
一.希望达到的目的[/b]
1.服务器日志集中存放到MySQL数据库中;
2.每天发送一封E-MAIL, 报告异常日志条目;
3.实时报告异常系统事件;
4.WEB界面查询日志;
二.日志主机安装和配置[/b]
各个软件的功能及交互图



1.安装syslog-ng:
http://www.balabit.com/downloads/syslog-ng下载 eventlog, libol, syslog-ng 的tarball.
安装eventlog: # ./configure --prefix=/usr/local/eventlog && make && make install
安装 libol: # ./configure –prefix=/usr/local/libol &&make && make install
安装 syslog-ng: # export PKG_CONFIG_PATH=/usr/local/eventlog/pkgconfig/
# ./configure –prefix=/usr/local/syslog-ng --with-libol=/usr/local/libol
# make && make install
配置 syslog-ng: # vi /usr/local/syslog-ng/etc/syslog-ng/syslog-ng.conf
[align=left] options {[/align]
[align=left] keep_hostname(yes); [/align]
[align=left] long_hostnames(off); [/align]
[align=left] sync(1); [/align]
[align=left] log_fifo_size(1024); [/align]
[align=left] create_dirs(yes); # if a dir does not exist create it[/align]
[align=left] owner(root); # owner of created files[/align]
[align=left] group(root); # group of created files[/align]
[align=left] perm(0600); # permissions of created files[/align]
[align=left] dir_perm(0700); # permissions of created dirs[/align]
[align=left]};[/align]
[align=left] source s_all {[/align]
[align=left] udp(); # remote logs [/align]
[align=left] # arriving at 514/udp[/align]
[align=left] unix-stream("/dev/log"); # local system logs[/align]
[align=left] file("/proc/kmsg"); # local kernel logs[/align]
[align=left] internal(); # internal syslog-ng logs[/align]
[align=left] };[/align]
[align=left] destination single-file { [/align]
[align=left] file("/var/log/syslog-ng/all-messages");[/align]
[align=left] }; [/align]
[align=left] log {[/align]
[align=left] source(s_all);[/align]
[align=left] destination(single-file);[/align]
[align=left] };[/align]
[align=left] 启动 syslog-ng: # /etc/init.d/syslog stop[/align]
[align=left] # /usr/local/syslog-ng/sbin/syslog-ng[/align]
[align=left] 验证:ps –ef|grep syslog-ng[/align]
[align=left] 查看文件:/var/log/syslog-ng/all-messages[/align]
[align=left]2. 安装MySQL到 /usr/local/mysql 下,以存放日志。[/align]
[align=left]3. 安装 SQLSyslogd, 以便将日志写入 MySQL 数据库中:[/align]
[align=left] 从 http://www.frasunek.com/sources/security/sqlsyslogd/ 下载SQLSyslogd [/align]
[align=left] 安装:# ln –s /usr/local/mysql/lib/mysql /usr/local/lib/mysql[/align]
[align=left] # ln –s /usr/local/mysql/include/mysql \[/align]
[align=left] /usr/local/include/lib[/align]
[align=left] # make && cp sqlsyslogd /usr/local/sbin/[/align]
[align=left] # cat “/usr/local/lib/mysql” >> /etc/ld.so.conf && ldconfig[/align]
[align=left] 验证 sqlsyslogd 能正常运行:# sqlsyslogd[/align]
[align=left] 如果正常,你可以看到 sqlsyslogd 的帮助信息。[/align]
[align=left] 修改 sqlsyslogd.sql 文件: # vi sqlsyslogd.sql[/align]
[align=left] create database sqlsyslogd;[/align]
[align=left] use sqlsyslogd;[/align]
[align=left] create table logs ([/align]
[align=left] Id int(10) NOT NULL auto_increment,[/align]
[align=left] Timestamp varchar(16),[/align]
[align=left] Host varchar(50),[/align]
[align=left] Prog varchar(50),[/align]
[align=left] Mesg text,[/align]
[align=left] PRIMARY KEY (id)[/align]
[align=left] );[/align]
[align=left] use mysql;[/align]
[align=left] create user sqlsyslogd@localhost identified by ‘foo’;[/align]
[align=left] grant all on sqlsyslogd.* to sqlsyslogd;[/align]
[align=left] flush privileges;[/align]
[align=left] # sql –u root –p < sqlsyslogd.sql[/align]
[align=left] # vi /usr/local/etc/sqlsyslogd.conf[/align]
[align=left] foo[/align]
[align=left] 修改 syslog-ng.conf 文件,添加下面几行:[/align]
[align=left] destination mysql {[/align]
[align=left] program(“/usr/local/sbin/sqlsyslogd –u sqlsyslogd \[/align]
[align=left] –t logs sqlsyslogd –p”);[/align]
[align=left] };[/align]
[align=left] log {[/align]
[align=left] source(all);[/align]
[align=left] destination(mysql);[/align]
[align=left] };[/align]
[align=left] 重启 syslog-ng: # pkill –SIGHUP syslog-ng[/align]
[align=left] 验证:现在你应该可以通过 MySQL 客户端软件查看日志了。[/align]
[align=left]4.安装 logcheck 和 newlogcheck:[/align]
[align=left] 从 http://sf.net/projects/sentrytools/ 下载 logcheck,[/align]
[align=left] 从 http://www.campin.net/download/ 下载 newlogcheck.tgz[/align]
[align=left] 安装:# mkdir –p /usr/local/logcheck/bin \[/align]
[align=left] /usr/local/logcheck/etc/ /usr/local/logcheck/tmp[/align]
[align=left] # cd logcheck-<version>[/align]
[align=left] 修改 Makefile 文件,将其中的 /usr/local 改[/align]
[align=left] 为 /usr/local/logcheck[/align]
[align=left] # make linux[/align]
[align=left] # cd newlogcheck-<version> && \[/align]
[align=left] cp *\.* /usr/local/logcheck/etc/[/align]
[align=left] 配置:根据logcheck各个文件的位置修改 /usr/local/logcheck/etc/[/align]
[align=left] 目录下的 newlogcheck.sh 和 sort_logs.pl[/align]
[align=left] # mkdir /usr/local/logcheck/tmp/host[/align]
[align=left] 测试:# /usr/local/logcheck/etc/newlogcheck.sh[/align]
[align=left] 如果安装正常,你应该收到一封e-mail, 现在你可以安装一个[/align]
[align=left] crontab 来自动化logcheck日志[/align]
[align=left] 检查: # crontab –e[/align]
[align=left] …[/align]
[align=left] 10 2 * * * /usr/local/logcheck/etc/newlogcheck.sh[/align]
[align=left]5.安装 swatch:[/align]
[align=left] 按顺序安装下面的perl 模块:Carp-Clan, Bit-Vector, Date-Calc, [/align]
[align=left] Time-HiRes, File-Tail,TimeDate, swatch(使用3.0.8版本,[/align]
[align=left] 不要用3.0.12)[/align]
[align=left] 配置 swatch: #vi /etc/swatch.conf[/align]
[align=left] watchfor /Failed password/[/align]
[align=left] mail address=root, subject=warning: Failed password[/align]
[align=left] throttle 01:00 [/align]
[align=left] watchfor /Invalid user/[/align]
[align=left] mail address=root, subject=warning: Invalid user[/align]
[align=left] throttle 01:00 [/align]
[align=left] watchfor /authentication failure/[/align]
[align=left] mail address=root, subject=warning: authentication failure[/align]
[align=left] throttle 01:00 [/align]
[align=left] watchfor /iptables:/[/align]
[align=left] mail address=root, subject=warning: iptables operation[/align]
[align=left] throttle 01:00 [/align]
[align=left] watchfor /Duplicate address/[/align]
[align=left] mail address=root, subject=warning: Duplicate address[/align]
[align=left] throttle 01:00 [/align]
[align=left] watchfor /file system full/[/align]
[align=left] mail address=root, subject=warning: file system full[/align]
[align=left] throttle 01:00 [/align]
[align=left] watchfor /(panic|halt)/[/align]
[align=left] mail address=root, subject=warning: panic or halt happened[/align]
[align=left] throttle 01:00 [/align]
[align=left] watchfor /Media Error/[/align]
[align=left] mail address=root, subject=warning: disk error happened[/align]
[align=left] throttle 01:00[/align]
[align=left] ……[/align]
[align=left] 运行swatch: # /usr/bin/swatch --config-file=/etc/swatch.conf \[/align]
[align=left] --tail-file=/var/log/syslog-ng/all-messages &[/align]
[align=left] 验证:ps –ef|grep swatch | grep –v grep [/align]
[align=left] 如果正常,你应该看到2个进程:[/align]
[align=left] root ...... /usr/bin/perl /usr/bin/swatch \[/align]
[align=left] --config-file=/etc/swatch.conf \[/align]
[align=left] --tail-file=/var/log/syslog-ng/all-messages[/align]
[align=left] root ...... /usr/bin/perl [/align]
[align=left] /root/.swatch_script.17374 ß 你看到的将是其他数字[/align]
[align=left]6.安装 splunk:[/align]
[align=left] 从 http://www.splunk.com 下载 splunk tarball[/align]
[align=left] 解压 splunk tarball 并将其移动到 /usr/local/splunk[/align]
[align=left] 修改 /usr/local/splunk/bin/setSplunkEvn [/align]
[align=left] 和 /usr/local/splunk/etc/init.d/redhat/splunk,将[/align]
[align=left] 其中的 $SPLUNK_HOME 设置为 /usr/local/splunk, 将 [/align]
[align=left] /usr/local/splunk/etc/init.d/redhat/splunk 拷贝到 [/align]
[align=left] /etc/init.d/目录下,[/align]
[align=left] # chmod 700 /etc/init.d/splunk && chkconfig splunk on[/align]
[align=left] 启动splunk: /etc/init.d/splunk start[/align]
[align=left] 现在你可以通过 WEB 浏览器访问 splunk 了:]http://localhost:8000/[/align]
[align=left] [/align]
[align=left] 配置:[/align]



[align=left]现在你可以搜索日志了.[/align]
[align=left]7.配置启动:vi /etc/rc.local[/align]
[align=left]…[/align]
[align=left]/usr/local/syslog-ng/sbin/syslog-ng[/align]
[align=left]/usr/bin/swatch –config-file=/etc/swatch.conf \[/align]
[align=left] –tail-file=/var/syslog-ng/all-messages &[/align]
[align=left] [/align]
[align=left]三.日志客户机配置[/align]
[align=left]这里所说的日志客户机指需要把自己的日志传送给日志主机的服务器。[/align]
[align=left]我们在日志客户机上的配置很简单,只需要两步:[/align]
[align=left]1. 在 /etc/syslog.conf 文件添加一项,使日志客户机把自己的严重程度在.info以上的日志也发送给日志主机:[/align]
[align=left]# cat /etc/syslog.conf[/align]
[align=left]...[/align]
[align=left]*.info @log_host[/align]
[align=left]2. 在 /etc/hosts 文件里面添加一项,使日志客户机能解析上面的 log_host:[/align]
[align=left]# cat /etc/hosts[/align]
[align=left]...[/align]
[align=left]x.x.x.x log_host[/align]
[align=left] [/align]
[align=left]总结,配置一个日志主机,需要花费较大的功夫。但是,一旦你配置好了,它给你带来的益处也很大,比如,你能够随时查阅很久以前的日志,你能及时知道某台服务器的硬盘有问题了,如果有黑客入侵了你的服务器,不管他如何销毁自己的踪迹,你都能够他在入侵过程中留下的痕迹,等等等等。所以,花大力气建立这样一个日志主机还是明智的。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息