日誌主機安裝指南
一.希望達到的目的
1.伺服器日誌集中存放到MySQL資料庫中;
2.每天傳送一封E-MAIL, 報告異常日誌條目;
3.實時報告異常系統事件;
4.WEB介面查詢日誌;
二.日誌主機安裝和配置
各個軟體的功能及互動圖
1.安裝syslog-ng:
從[url][/url]下載 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
options {
keep_hostname(yes);
long_hostnames(off);
sync(1);
log_fifo_size(1024);
create_dirs(yes); # if a dir does not exist create it
owner(root); # owner of created files
group(root); # group of created files
perm(0600); # permissions of created files
dir_perm(0700); # permissions of created dirs
};
source s_all {
udp(); # remote logs
# arriving at 514/udp
unix-stream("/dev/log"); # local system logs
file("/proc/kmsg"); # local kernel logs
internal(); # internal syslog-ng logs
};
destination single-file {
file("/var/log/syslog-ng/all-messages");
};
log {
source(s_all);
destination(single-file);
};
啟動 syslog-ng: # /etc/init.d/syslog stop
# /usr/local/syslog-ng/sbin/syslog-ng
驗證:ps –ef|grep syslog-ng
檢視檔案:/var/log/syslog-ng/all-messages
2. 安裝MySQL到 /usr/local/mysql 下,以存放日誌。
3. 安裝 SQLSyslogd, 以便將日誌寫入 MySQL 資料庫中:
從 [url]http://www.frasunek.com/sources/security/sqlsyslogd/[/url] 下載SQLSyslogd
安裝:# ln –s /usr/local/mysql/lib/mysql /usr/local/lib/mysql
# ln –s /usr/local/mysql/include/mysql
/usr/local/include/lib
# make && cp sqlsyslogd /usr/local/sbin/
# cat “/usr/local/lib/mysql” >> /etc/ld.so.conf && ldconfig
驗證 sqlsyslogd 能正常執行:# sqlsyslogd
如果正常,你可以看到 sqlsyslogd 的幫助資訊。
修改 sqlsyslogd.sql 檔案: # vi sqlsyslogd.sql
create database sqlsyslogd;
use sqlsyslogd;
create table logs (
Id int(10) NOT NULL auto_increment,
Timestamp varchar(16),
Host varchar(50),
Prog varchar(50),
Mesg text,
PRIMARY KEY (id)
);
use mysql;
create user sqlsyslogd@localhost identified by ‘foo’;
grant all on sqlsyslogd.* to sqlsyslogd;
flush privileges;
# sql –u root –p < sqlsyslogd.sql
# vi /usr/local/etc/sqlsyslogd.conf
foo
修改 syslog-ng.conf 檔案,新增下面幾行:
destination mysql {
program(“/usr/local/sbin/sqlsyslogd –u sqlsyslogd
–t logs sqlsyslogd –p”);
};
log {
source(all);
destination(mysql);
};
重啟 syslog-ng: # pkill –SIGHUP syslog-ng
驗證:現在你應該可以透過 MySQL 客戶端軟體檢視日誌了。
4.安裝 logcheck 和 newlogcheck:
從 [url][/url] 下載 logcheck,
從 [url][/url] 下載 newlogcheck.tgz
安裝:# mkdir –p /usr/local/logcheck/bin
/usr/local/logcheck/etc/ /usr/local/logcheck/tmp
# cd logcheck-<version>
修改 Makefile 檔案,將其中的 /usr/local 改
為 /usr/local/logcheck
# make linux
# cd newlogcheck-<version> &&
cp *.* /usr/local/logcheck/etc/
配置:根據logcheck各個檔案的位置修改 /usr/local/logcheck/etc/
目錄下的 newlogcheck.sh 和 sort_logs.pl
# mkdir /usr/local/logcheck/tmp/host
測試:# /usr/local/logcheck/etc/newlogcheck.sh
如果安裝正常,你應該收到一封e-mail, 現在你可以安裝一個
crontab 來自動化logcheck日誌
檢查: # crontab –e
…
10 2 * * * /usr/local/logcheck/etc/newlogcheck.sh
5.安裝 swatch:
按順序安裝下面的perl 模組:Carp-Clan, Bit-Vector, Date-Calc,
Time-HiRes, File-Tail,TimeDate, swatch(使用3.0.8版本,
不要用3.0.12)
配置 swatch: #vi /etc/swatch.conf
watchfor /Failed password/
mail address=root, subject=warning: Failed password
throttle 01:00
watchfor /Invalid user/
mail address=root, subject=warning: Invalid user
throttle 01:00
watchfor /authentication failure/
mail address=root, subject=warning: authentication failure
throttle 01:00
watchfor /iptables:/
mail address=root, subject=warning: iptables operation
throttle 01:00
watchfor /Duplicate address/
mail address=root, subject=warning: Duplicate address
throttle 01:00
watchfor /file system full/
mail address=root, subject=warning: file system full
throttle 01:00
watchfor /(panic|halt)/
mail address=root, subject=warning: panic or halt happened
throttle 01:00
watchfor /Media Error/
mail address=root, subject=warning: disk error happened
throttle 01:00
……
執行swatch: # /usr/bin/swatch --config-file=/etc/swatch.conf
--tail-file=/var/log/syslog-ng/all-messages &
驗證:ps –ef|grep swatch | grep –v grep
如果正常,你應該看到2個程式:
root ...... /usr/bin/perl /usr/bin/swatch
--config-file=/etc/swatch.conf
--tail-file=/var/log/syslog-ng/all-messages
root ...... /usr/bin/perl
/root/.swatch_script.17374 ß 你看到的將是其他數字
6.安裝 splunk:
從 [url][/url] 下載 splunk tarball
解壓 splunk tarball 並將其移動到 /usr/local/splunk
修改 /usr/local/splunk/bin/setSplunkEvn
和 /usr/local/splunk/etc/init.d/redhat/splunk,將
其中的 $SPLUNK_HOME 設定為 /usr/local/splunk, 將
/usr/local/splunk/etc/init.d/redhat/splunk 複製到
/etc/init.d/目錄下,
# chmod 700 /etc/init.d/splunk && chkconfig splunk on
啟動splunk: /etc/init.d/splunk start
現在你可以透過 WEB 瀏覽器訪問 splunk 了:[url][/url]
配置:
現在你可以搜尋日誌了.
7.配置啟動:vi /etc/rc.local
…
/usr/local/syslog-ng/sbin/syslog-ng
/usr/bin/swatch –config-file=/etc/swatch.conf
–tail-file=/var/syslog-ng/all-messages &
三.日誌客戶機配置
這裡所說的日誌客戶機指需要把自己的日誌傳送給日誌主機的伺服器。
我們在日誌客戶機上的配置很簡單,只需要兩步:
1. 在 /etc/syslog.conf 檔案新增一項,使日誌客戶機把自己的嚴重程度在.info以上的日誌也傳送給日誌主機:
# cat /etc/syslog.conf
...
*.info @log_host
2. 在 /etc/hosts 檔案裡面新增一項,使日誌客戶機能解析上面的 log_host:
# cat /etc/hosts
...
x.x.x.x log_host
總結,配置一個日誌主機,需要花費較大的功夫。但是,一旦你配置好了,它給你帶來的益處也很大,比如,你能夠隨時查閱很久以前的日誌,你能及時知道某臺伺服器的硬碟有問題了,如果有駭客入侵了你的伺服器,不管他如何銷燬自己的蹤跡,你都能夠他在入侵過程中留下的痕跡,等等等等。所以,花大力氣建立這樣一個日誌主機還是明智的。
©著作權歸作者所有:來自51CTO部落格作者zkjian517的原創作品,如需轉載,請與作者聯絡,否則將追究法律責任
日誌休閒swatch作業系統
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2820913/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 雲主機如何安裝grunt
- logstash的安裝使用、收集json日誌、csv日誌總結JSON
- Linux 日誌管理指南Linux
- Java日誌終極指南Java
- LAMP純原始碼編譯安裝日誌LAMP原始碼編譯
- linux 下 squid 安裝日誌 (轉)LinuxUI
- 香港雲主機如何安裝GRUNT
- 【主機】linux下安裝sendEmailLinuxAI
- Android ANR日誌分析指南Android
- java日誌列印使用指南Java
- Linux 日誌終極指南Linux
- 聯機重做日誌、歸檔日誌、備用重做日誌
- mysql分析慢查詢日誌工具mysqlsla安裝MySql
- centos7 安裝elk日誌分析系統CentOS
- Flume監聽Nginx日誌流向HDFS安裝配置Nginx
- Syslogserver(日誌伺服器) 安裝和使用GseServer伺服器
- mysql之 mysql 5.6不停機主主搭建(活躍雙主基於日誌點複製)MySql
- 使用 Cobbler 安裝一臺 CentOS 主機CentOS
- elk的安裝部署三(kibana的安裝及使用filebeat收集日誌)
- 一次解除安裝ASM磁碟的操作日誌ASM
- win11 nimi主機安裝軟路由路由
- MongoDB安裝指南MongoDB
- Docker安裝ELK並實現JSON格式日誌分析DockerJSON
- ELKStack日誌平臺——Kibana6.3.2安裝與配置
- 【聽海日誌】之ORACLE 10G AWR安裝使用Oracle 10g
- MySQL 從庫日誌比主庫多MySql
- mysql之 mysql 5.6不停機主從搭建(一主一從基於日誌點複製)MySql
- BlueHost主機Plesk皮膚快速安裝WordPress教程
- 實戰-使用 Cobbler 安裝一臺 CentOS 主機CentOS
- 安裝Oracle軟體報主機名錯誤Oracle
- RedHat Linux安裝mrtg監控主機流量RedhatLinux
- 當前聯機日誌和其他聯機日誌恢復的區別
- data guard中增加與刪除主備資料庫中的聯機重做日誌與備重做日誌檔案資料庫
- Electron安裝打包指南
- fedora 10安裝指南
- Chinput 安裝指南(轉)
- jive安裝指南 (轉)
- .NetCore使用Docker安裝ElasticSearch、Kibana 記錄日誌NetCoreDockerElasticsearch