日志主机安装指南 推荐
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]
[/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]
相关文章推荐
- 日志主机安装指南
- splunk对日志的管理 日志主机安装指南
- 日志主机安装指南
- apache安装、配置虚拟主机、配置日志
- Vmware6.0虚拟机中文绿色版[安装使用完全指南] 推荐
- 大数据应用日志采集之Scribe 安装配置指南
- 全新 Mac 安装指南(通用篇)(推荐设置、软件安装、推荐软件)
- PGRelief使用指南(windows版1 PGRelief的安装环境 CPU Intel® Pentium® 4 2.4GHz以上(推荐) 内存 512MB以上(1G以上推荐。使用广域探索选项推荐
- vSphere ESX 4 安装指南 推荐
- 如何在ESXi 5.5主机上安装ESXi 5.5客户机 推荐
- 日志分析软件awstats的安装使用简易指南
- SCVMM 2012 R2---安装Hyper-V Server 2012 R2主机服务器 推荐
- SCE2007 –安装配置指南 推荐
- SCCM2007安装部署指南 推荐
- 安装Nagios来监控远程Windows主机和Linux主机 推荐
- nagios用NRPE监控Linux主机 服务端和客户端的安装配置 推荐
- 刘亿舟《中国IT服务管理指南2》介绍(录音+ppt) (入选推荐日志,加10币)
- SCVMM 2012 SP1 安装与配置指南(五)添加Hyper-V主机和群集
- 日志分析软件awstats的安装使用简易指南
- Gentoo 2007 安装指南 推荐