CACTI安裝syslog插件
Cacti安裝syslog插件,使之成爲中央日誌服務器,通過syslog插件展示,從服務器通過網絡將日誌實時發送到中央日誌服務器。
syslog插件,是通過rsyslog或syslog-ng與mysql的交互,將日誌存放到mysql數據庫中,cacti中的syslog插件從mysql中檢索查看日誌數據。因此,首先要配置一臺rsyslog與mysql的日誌中心服務器來接收客戶機的日誌;其次,配置cacti的syslog插件,通過該插件檢索與查詢mysql中的日誌。可以收集來自linux、windows等服務器和交換機路由器的日誌。做到集中和分類查看。
其中涉及到的有監控端和被監控端,以下從這兩個方向說起:
第一個、監控端(即安裝Cacti的服務器)
一、設置接收日誌
在這裏我們要想接收日誌信息,並在cacti的syslog插件中顯示接收到的日誌,首先是接收日誌,有二種辦法:
a.使用syslog-ng,在centos5.5及以下系統上,系統默認有syslog,可以發送日誌,但不能接受日誌,因此要藉助於syslog-ng,來接收發送過來的日誌,並規範成一個模版,再通過自己寫的腳本,插入到mysql數據庫裏
b.使用rsyslog,rsyslog是在centos6以上系統自帶的,rsyslog不僅能接收日誌,還可以發送日誌,因此要是在centos6以上系統就不需要額外安裝syslog-ng接收日誌了,用自帶的rsylog就可以接收日誌,再用rsyslog-mysql就可以把接收到的日誌寫入mysql數據庫。
由於我現在的系統是centos6.0,因此不採用第一種,而是採用第二種方案進行設置;
1.安裝rsyslog,首先需要在監控端安裝rsyslog和rsyslog-mysql
(由於我本身已經安裝了,其顯示信息的如下:)
2.編輯rsyslog的配置文件(/etc/rsyslog.conf)
在其最後添加下面的內容:
##新增加的內容
# provides UDP syslog reception
$ModLoad imudp
# start a UDP syslog server at standard port 514
$UDPServerRun 514
# Provides kernel logging support (previously done by rklogd)
$ModLoad imklog
# Provides support for local system logging (e.g. via logger command)
$ModLoad imuxsock
# provides --MARK-- message capability
$ModLoad immark
# provides UDP syslog reception
$ModLoad imudp
# provides TCP syslog reception and GSS-API (if compiled to support it)
$ModLoad imtcp
# provides mysql
$ModLoad ommysql
# Use costomer timestamp format
$template cacti_syslog,"INSERT INTO syslog_incoming(facility, priority, date, time, host, message) values (%syslogfacility%, %syslogpriority%, '%timereported:::date-mysql%', '%timereported:::date-mysql%', '%HOSTNAME%', '%msg%')", SQL
# Insert the log's text into the Syslog database by the costomer timestamp format of the cacti_syslog template
*.* :ommysql:localhost,syslog,cacti,123456;cacti_syslog
# Write the log to the /var/log/file.log repeat
*.* /var/log/file.log
其中syslog爲數據庫,cacti爲數據庫用戶,123456爲密碼
編輯完成後,保存並退出。
3.修改/etc/sysconfig/rsyslog文件
添加以下代碼,使之允許遠程接收日誌
保存並退出!
4.重啓rsyslog,
二、安裝syslog插件
1.下載並安裝syslog插件
#tar xvf syslog-v1.22-2.tar
#mv syslog ./cacti/plugins
#chown -R cacti.cacti
2.創建數據庫syslog,並導入數據
#mysql -ucacti -p123456
mysql>create database syslog;
mysql>grant all privileges on syslog.* on cacti@localhost identified by '123456' with grant option;
mysql>flush privileges;
mysql>exit;
#mysql -ucacti -p123456 syslog
--default-character-set=utf8</var/www/cacti/plugins/syslog/syslog.sql
3.修改配置文件config.php
我們在上面設置爲$use_cacti_db = false;這個是設置syslog是否要使用cacti的數據庫,我在這裏不使用cacti的數據,因爲syslog往往比較多,日誌比較多,爲了便於備份和使用,還是選擇用一個獨立的數據庫。因此要在下面設置連接數據庫的用戶名,密碼,數據庫名等
第二個、被監控端
被監控端的設置很簡單,只是修改其中的/etc/rsyslog.conf的的設置即可,如下
在最後一行添加
(注:192.168.7.125爲我們監控端的IP)
三、cacti主頁中啓動syslog
和其他的插件啓動一樣的設置,這裏不再贅述!簡單說說剛啓動後,出現的一些設置情況,
這裏是對syslog數據的一些設置第分別爲Database Storage Engine(數據庫存儲引擎)、Database Architecutre(數據庫架構)這二項在一般默認,如果你的mysql數據庫爲5.1.6後者以上可以選擇InnoDB Storage 和Partitioned Table,可以提高syslog的性能最後一項是Retention Policy(保留策略)就是要在syslog存儲多長的時間,這個可以根據自己的需求設定 。