前言:
由于公司現在很多業務都是使用cacti進行監控流量的,并且還有一些使用zabbix監控的項目,正好又有一個項目需要搭建Cacti+Zabbix進行綜合監控,搭建完畢之后發現,Cacti較之以前有了不小的改進,所以就來寫一寫Cacti和Zabbix監控整合的文章,順便說一下Cacti下的一些好用的插件。
環境:
Centos 6.4 X86_64
Cacti-0.8.8b
Zabbix-2.2
一、安裝Cacti
1、安裝開發包組和必要的開發包(注意:此次安裝了Cacti和Zabbix必須的環境,所以包比較多,有些包需要EPEL源,如果沒有配置EPEL源,請百度如何配置)
yum -y groupinstall "Development tools" "Server Platform Development" yum -y install mysql mysql-server httpd php php-mysql php-xml php-gd php-bcmath php-mbstring net-snmp net-snmp-devel yum -y install zlib libpng freetype libjpeg fontconfig gd libxml2 libxml2-devel libcurl libcurl-devel rrdtool
2、下載cacti
wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
3、安裝cacti
#關閉iptables和SELINUX,避免出現問題 setenforce 0 sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config service iptables stop chkconfig iptables off #啟動httpd和mysqld service httpd start service mysqld start chkconfig httpd on chkconfig mysqld on #下載Cacti,解壓文件到HTTP目錄 wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz tar -zxvf cacti-0.8.8b.tar.gz mv cacti-0.8.8b /var/www/html/cacti #配置Cacti數據庫 mysql> create database cacti; mysql> use cacti ; mysql> source /var/www/html/cacti/cacti.sql; mysql> grant all on cacti.* to cacti@localhost identified by ‘cacti’; mysql> flush privileges; mysql> quit #修Ccacti數據庫配置文件 vi /var/www/html/cacti/include/config.php $database_type = “mysql”; $database_default = “cacti”; $database_hostname = “localhost”; $database_username = “cacti”; $database_password = “cacti”; $database_port = “3306″; #添加cacti執行用戶 useradd cacti #修改cacti目錄屬主為apache chown -R apache.apache /var/www/html/cacti #另外還需要兩個目錄的所有者修改,以便使cacti有寫權限: chown -R cacti /var/www/html/cacti/rra chown -R cacti /var/www/html/cacti/log #添加計劃任務,定時運行poller.php取回監控數據 vi /etc/crontab */1 * * * * cacti /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 #重新啟動任務計劃 service crond restart
4、訪問頁面http://ip/cacti,安裝cacti
①點擊Next繼續
②全新安裝
③確保所有的文件都可以被找到,點擊Finish
登錄系統,默認用戶名admin,密碼admin,登錄之后需要修改密碼。
二、安裝Zabbix
關于安裝zabbix,可以查看我之前的文章http://www.beyond362.com/2014/11/02/zabbix%E7%B3%BB%E5%88%97%E4%B9%8B%E5%85%A5%E9%97%A8%E4%BB%8B%E7%BB%8D%EF%BC%88%E4%B8%80%EF%BC%89/這里不再累述。
三、Cacti整合Zabbix
這是通過cacti的插件superlinks實現的,可以在Cacti界面中登錄Zabbix并查看Zabbix監控的信息,總的來說還是蠻好用的。
Cacti監控插件http://docs.cacti.net/plugins,可惜的是現在Cacti的插件更新速度非常非常的慢,都是比較老的插件了,但也不乏一些特別好用的插件,superlinks就是其中之一。
wget http://docs.cacti.net/_media/plugin:superlinks-v1.4-2.tgz mv plugin\:superlinks-v1.4-2.tgz superlinks-v1.4-2.tgz tar xf superlinks-v1.4-2.tgz -C /var/www/html/cacti/plugins/
Cacti現在的版本安裝插件好用多了,以前還需要修改配置文件,現在不需要修改了,直接可以使用。贊一個。需要注意一點的就是有些插件解壓縮之后權限并不夠,所以,需要確保插件目錄權限為755
好了,使用吧,打開前臺頁面
【console】–>【Configuration】–>【Plugin Management】,點擊【Actions】下的那個藍色按鈕,然后再點擊一下向上的箭頭,安裝成功。
安裝成功
配置superlinks
【console】–>【Configuration】–>【settings】–>【Misc】,默認即可,無需修改。
添加鏈接
【console】–>【Management】–>【External Links】–>【右上角Add】
我們要添加的是URL鏈接,所以選擇第一項,如果你要添加一些網頁文件連接,那么你需要把文件放到superlinks插件目錄的content目錄下。
Ok,點擊【Save】保存看效果吧,點擊進去試試看?!咀⒁猓航ㄗh使用chrome瀏覽器,使用其他瀏覽器可能會出現Zabbix顯示不完整問題】
輸入Zabbix用戶名和密碼,進行登錄吧
怎么樣,還是很酷的吧。
四、Cacti插件介紹
cacti發展到今天,已經出現了很多好用的插件,接下來就介紹下這些插件
monitor 監控主機狀態
到cacti官網下載Monitor插件,解壓到plugins目錄,上文安裝superlinks已經提到過,這里不再陳述。
使用:
【console】–>【Configuration】–>【settings】–>【Misc】–>【Monitor】
看一下顯示效果吧,綠色代表主機正常,紅色代表主機宕機,藍色代表主機正在恢復
php-werthermap 氣象圖
很好用,想用好是比較廢腦筋的,有興趣的可以去看一下這個http://www.cactifans.org/cacti/192.html,講的非常詳細。我也上個業務上的圖
realtime 以小時、分鐘、秒為單位查看graph圖形
很好用的一個以小時、分鐘、秒為單位查看graph圖形的插件,安裝之后需要進行以下操作。
安裝之后首先要做的是要創建一個目錄,用來存放realtime的cache,目錄隨便建,只需要目錄讓apache用戶有讀寫權即可,我一般創建在cacti目錄下,名字叫cache
mkdir /var/www/html/cacti/cache -pv chown -R apache.apache /var/www/html/cacti/cache
【console】–>【Configuration】–>【settings】–>【Misc】–>【Realtime Graphs】
接著,到前臺頁面看一下怎么使用的吧
OK,這就是這個插件的使用方法,有時候還是挺實用的。
settings 設置
superlinks 超鏈接 上文已經使用過
thold 報警插件
Very Important 插件,沒有他,Cacti的實用性至少會下降一半,至少我不會再使用它。這是一個閥值監控報警的插件,可以根據當前系統狀態是否超過閥值而進行報警,這樣我們就不止能監控到主機是否存活了,還能監控主機性能?,F在報警方式很多,郵件、短信、飛信、微信等多種方式,短信需要短信接口,飛信要用移動號碼,微信需要公共微信號,那還是郵件吧。。。。
首先,我們需要配置郵件發送方式,確保郵件可以發送出去。
【console】–>【Configuration】–>【settings】–>【Mail / DNS】
郵件已經可以發送了,下一步配置一下閥值觸發器。
【console】–>【Configuration】–>【settings】–>【Mail / DNS】
選項說明:【 Send Emails with Urgent Priority 】選項可以將郵件當緊急郵件發出,我一般都是勾選
接下來,進行下一步,添加報警郵件列表,這樣我們可以很方便的將不同的主機報警發給不同的人,或者相同的主機報警發給很多人。
【console】–>【Management】–>【Notification Lists】–>【Add】
那就添加閥值測試一下報警功能吧
【console】–>【Management】–>【Thresholds】–>【Add】,選擇本機的一個進程數來進行監控
配置報警閥值和報警郵件。
保存退出吧,從上圖中,我們看到process進程數是142,而我們設置的閥值數是200,所以并不會報警,那為了報警,我們改變一下閥值數為100,再次保存。等一會我們就會發現報警了,并且收到郵件了。
趕緊修改閥值解除報警吧,不然每過一小時就有一封加急郵件喲~~
discovery 自動發現主機插件
額,這個插件說實話有點雞肋,雖能提供一些自動發現主機的功能,但功能過于弱小,竟然還需要手動去添加發現的主機。。。。。。這TM的也能叫自動發現?但是對于沒有使用過zabbix的用戶來說,他還是不錯的。說實話,他的Discovery Templates 我也沒使用成功,可能是我打開的姿勢不太對。
安裝之后就會在Table那里自建一個選項卡,然后我們需要到【console】–>【Configuration】–>【settings】–>【Misc】–>【Discover】進行配置
當自動發現完成一輪之后,你就會發現這個,發現成功了,自己點擊Add進行添加吧。自動發現之后別忘了關閉這個功能,很耗費資源的。
OK,就寫這么多,其實還有一些插件比較好用,比如Syslog 日志插件,Aggregate流量匯總插件等等,需要的朋友可以自行去下載安裝使用。
原創文章,作者:myb_sir,如若轉載,請注明出處:http://www.www58058.com/1215
厲害厲害!非常濃厚的文檔功底和治學態度,贊!
牛逼啊,總結的真好!贊一個
這種模式挺好,實現了可擴展性~