CENTOS下日誌服務器的搭建
環境:由兩臺pc機分別充當日誌服務器和郵件服務器
loganalyzer軟件(一款可以讓你在web頁面顯示相關信息的工具)
pc機環境:VMware workstation 10
對於操作系統的日常操作和維護來說,日誌的作用是不言而喻的,他能夠一條條的記錄系統的所有操作和信息,所以日誌對排除故障和維護很重要
對windows來說他的日誌存放在他的“管理工具”下的“時間查看器”中,對linux來說他的日誌以文件的形式存放在/var/log下,其下還分爲maillog(郵件日誌)message(一般的程序或系統信息)secure(安全方面)等
第二類日常維護工具,數據庫,也可以查看系統的相關記錄
關於rsyslog程序及有關信息
首先linux系統本身就有非常齊全的日誌工具,完全可以作爲一臺日誌服務器來使用,比如我們可以用rpm來先查看一下系統中關於log的有關工具,
用rpm -ql 查看他們的相關安裝信息,會看到其二進制可執行程序放在/sbin/rsyslogd目錄下,說明這不是我們後來安裝的,而是系統安裝時自動選擇的,如圖
日誌的重要性還表現在它的反饋信息上,如,我們大部分時候會通過前臺的信息反饋來判斷一個動作的成功與否,如啓動域名服務,可以看到前臺已經提示成功啓動,但日誌所給出的信息卻是一堆各方面的信息,比如說郵件的發送25端口,我們先用netstat -tupln來查看一下25端口是否開啓,然後執行mail命令 ,來先看看有沒有發給root的郵件 如圖
先用which mail查看mail的安裝路徑
既然我們已經裝過了(能執行mail命令),這步就可以過去了
用root的身份user1的發一份郵件,如圖(Cc表示抄送的意思,有加密和不加密兩種)
然後用tail -f(表示刷新)來查看/var/log/maillog的日誌信息(文件的後10行,tail默認值)
比如我們新建一個賬號,那麼根據有關內容,他應該被放在/var/log/secure目錄下,如圖我們新建
然後查看會發現我們以前鼠標標記過的地方。馬上就會有日誌信息反饋過去了
如圖:
注意在rsyslog的配置文件中有一行mail.*的配置中,後面的路徑前有一個“-”號,這表示異步傳輸的意思,意思是每隔一段時間向磁盤中寫入一些信息,這樣做可以避免郵件***造成磁盤不間斷的io操作而使工作效率的降低,如圖
在這裏redhat和centos有一些不一樣的地方,redhat的系統日誌程序叫syslog。但在安裝時會生成/sbin/syslogd和/sbin/klogd兩個可執行程序,一個是關於系統的,一個是關於內核的。
rsyslog的一大特點就是支持模塊化的,比如支持om,(輸出模塊)ommysql,輸出日誌到mysql數據庫,omrelp防止信息丟失模塊。主要用於建立信息的可靠傳輸(比tcp更不容易丟失信息)如圖:
在日誌配置文件的編寫規則中,前面一部分叫選擇域(既表明條件),後面一部分叫動作域,選擇域不區分大小寫
在設備後可以跟的一個關鍵字有auth authpriv cron daemon kern lpr.mail.mark等以及local0到local7(表示本地自定義的那些facilities,這時faciliyies表示條件的意思)
動作域,關於動作域一般會有兩種操作,一種是寫入logfile中,還有一種是寫入數據庫中或轉發到主機上
遠程主機選項
怎樣向遠程主機彙總你的日誌信息,你可以有三種方法來選擇,一種是udp,tcp 和relp
udp方法*。* @192.168.0.1
tcp方法*。* @@192.168.0.1
relp方法*。*:omrelp:192.168.0.1:2514
將信息反饋給特定的用戶
這裏需要調用omusrmsg模塊來完成,這樣當他們登錄時就會的得到,用法爲
:omusrmsg:root,user1,user2...
反饋給每個人就是:omusrmsg:*
將信息反饋給數據庫列表
要將信息反饋給數據庫表中,一個必須的先決條件是具備monitorware-compatible(具備兼容的監視器軟件)策略(計劃),而這個策略你可以通過createDB.SQL這樣一個文件來創建或導入他
模板,它主要定義了數據庫的數據格式
搭建日誌服務器
說明:因爲我們的日誌信息需要用loganalyzer軟件反饋出來,而loganalyzer需要去讀取php的頁面信息,所以需要搭建web平臺及mysql數據庫,既LAMP環境
地址規劃及拓撲圖
搭建LAMP環境
在用yum工具前我們先改一下yum的配置文件,用.bak的方法將網絡功能先禁用掉,
然後安裝httpd,mysql,mqsql-server php,(mysq-server纔是服務器,mysql是服務器的一個管理工具),如圖
安裝完成之後,接着我們啓動數據庫,如圖
啓動完成
爲了保證我們的數據庫,httpd,php每次開機都能夠正常啓動,我們用chkconfig將他們加入,如圖
輸入mysql指令進入數據庫,發現可以直接進去,
這顯然會很不安全,所以我們可以爲他配置密碼,用mysql的管理工具mysqladmin -u root -p password ‘新密碼’回車,然後這時會看到提示enter password 的提示,注意這時不是讓你再輸一次確認密碼,而是讓你輸入老口令密碼,因爲剛安裝,所以密碼爲空,直接回車(這點錯了好多次。。。。)
此時,可以用show database來查看現有的數據庫
這個時候想要把數據放進來,就需要建額外的庫和額外的表格,在這之前我們需要用另外一個工具將現有的rsyslog和數據庫連接起來,他就是syslog-mysql,在連接rsyslog和數據庫的時候,他會產生一些文件,這些文件會告訴我們需要創建那些庫,那些表格,如圖。安裝
然後查詢一下他的安裝結果rpm -ql rsyslog-mysql |less
查看生成在/usr/share/doc/rsyslog-mysql-2.0.6/createDB.sql文件可以看到衆多生成庫和表的命令
然後我們以管理員的身份導入這些命令,如圖,(注意命令格式和環境,是在數據庫外導入的)
然後登陸後用show database查看,會發現多一條表格Syslog,
然後我們在數據庫中使用這張表,然後查看錶
比如我們用desc(倒序)來系統時間 desc SystemEvents,可以看到相關的字段及屬性
當我們查看錶格中的數據時因爲我們是剛導入的,所以都是空的,如圖
因爲數據庫中我們的主要數據在Syslog這個庫中,雖然我們的管理員能夠管理他,但我們最好給他一個額外的賬號,用授權指令 grant all privileges on Syslog .* to rsyslog@localhost identified by '123456';然後刷新一下權限。如圖
安裝loganalyzer
在loganalyzer壓縮包主要是一些php的頁面,我們先把他解壓縮
接下來在我們的解壓路徑中有loganalyzer/src/,將其中的全部文件上傳到我們的apache上(web服務器),進入,然後拷貝(爲了方便可以在默認目錄下再自定義一個目錄),如圖
進入所在解壓縮路徑可以考裏面的具體內容
然後從我們的contrib上傳configure.sh和secure.sh到我們的apache,之後進入他的上一級目錄,把他的所屬者和組交給守護進程deamon, 如圖
打開這兩個文件會發現他們的權限不同,一個666 一個644
這個時候執行這個sh腳本,發現會產生.php頁面
因爲我們的rsyslog剛安裝,所以要對她的配置文件進行相應的改變,主要是能夠讓他調相應的模塊,以適應他的要求,如,建一個日誌彙總服務器,就需要ommysql(服務器下)的對應模塊,如圖進行一下修改
緊接着重啓一下我們的rsyslog服務
然後我們測試一下我們的界面,提示要進行主文件配置,點擊“here”進行安裝
第一步確認開始
第二步檢查文件是否可寫
第三步基本的頁面配置,在下面是否使用數據庫要選yes,然後寫出數據庫的名字,擁有者的名字,和口令,如圖
第四步確認創建表
這個時候我們可以進數據庫看一下,內容如下
第六步創建賬戶管理員,可以自己定義,如圖
第六步之後會有成功提示,第七步爲創建第一個數據源,我們將數據庫中相關內容填上去
第八步,提示完成
在我們的瀏覽器中輸入我們主機地址和www服務頁面目錄後回車,看到loganalyzer的頁面
2,配置郵件日誌服務器的彙總
如上述步驟一樣,安裝完rsyslog之後,進行如下配置
在/etc/rsyslog.conf的配置文件中加入以下內容,意思爲,向192.168.1.187彙總日誌
先ping一下能不能通信
然後刷新我們的web界面,能夠看到相關的mail和kernel選項反饋出來
網絡設備信息的彙總,(以防火牆爲例)
在端口配置地址後,ping,確保通信,設置信息中心爲我們的日誌服務器主機地址
開啓信息向日志主機彙總
在web頁面查看結果
功能正常,配置完成。