日誌主機安裝指南
一.希望達到的目的
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android ANR日誌分析指南Android
- Syslogserver(日誌伺服器) 安裝和使用GseServer伺服器
- 雲主機如何安裝grunt
- java日誌列印使用指南Java
- .NetCore使用Docker安裝ElasticSearch、Kibana 記錄日誌NetCoreDockerElasticsearch
- 香港雲主機如何安裝GRUNT
- ELKStack日誌平臺——Kibana6.3.2安裝與配置
- Docker安裝ELK並實現JSON格式日誌分析DockerJSON
- 使用 Cobbler 安裝一臺 CentOS 主機CentOS
- win11 nimi主機安裝軟路由路由
- Linux安裝minikube指南Linux
- Electron安裝打包指南
- 玄機-第二章日誌分析-apache日誌分析Apache
- web攻擊日誌分析之新手指南Web
- 解除安裝windows安裝ubuntu的完全指南WindowsUbuntu
- Python 封裝日誌模型loggingPython封裝模型
- Kubernetes安裝之四:flanneld跨主機通訊
- BlueHost主機Plesk皮膚快速安裝WordPress教程
- 實戰-使用 Cobbler 安裝一臺 CentOS 主機CentOS
- mysql 基於日誌的主從複製MySql
- ElasticSearch實戰系列九: ELK日誌系統介紹和安裝Elasticsearch
- 抓取安卓閃退日誌教程安卓
- Redis 安裝避坑指南Redis
- 【Invoke AI】安裝部署指南AI
- Minix安裝及配置指南
- dapr 環境安裝指南
- TongWeb7 安裝指南Web
- redis安裝,主從複製,哨兵機制,叢集Redis
- iris 系列文章 封裝 logrus 日誌封裝
- 通過RMAN設定standby接收日誌後主庫歸檔日誌才可刪除
- java 執行shell命令及日誌收集避坑指南Java
- 在CentOS 8上安裝與配置Apache虛擬主機CentOSApache
- [BUG反饋]OneThink安裝到阿里雲主機提示404阿里
- 實現多臺EXSI主機集中管理——安裝VMware vCenter
- 日誌分析-apache日誌分析Apache
- kubernetes 1.14 升級安裝指南
- VSAN 7 安裝部署指南(一)
- Java版本安裝完整指南 - marcobehlerJava