部署cacti監控服務配置說明php
系統版本及內核版本:html
CentOS release 6.4 (Final) 2.6.32-358.el6.x86_64python
#安裝snmp yum install net-snmp* -y #備份配置文件 cp /etc/snmp/snmpd.conf/etc/snmp/snmpd.conf.bak #添加配置文件 cat >/etc/snmp/snmpd.conf<<EOF com2sec local localhost public com2sec mynetwork 192.168.254.0/24 public group MyRWGroupv1 local group MyRWGroupv2c local group MyRWGroupusm local group MyROGroupv1 mynetwork group MyROGroupv2c mynetwork group MyROGroupusm mynetwork view all included .1 80 access MyROGroup"" any noauth exact all none none access MyRWGroup"" any noauth exact all all none syslocationbeyondjie.com syscontact Me<linux_SVIP@163.com> proc mountd proc ntalkd 4 proc sendmail 101 proc httpd 10 1 disk / 10000 disk /boot 10000 load 12 14 14 EOF #啓動snmp,並設置開機自啓動 /etc/init.d/snmpd start chkconfig snmpd on #檢查是否已經正常啓動 lsof -i :161 netstat -lnupt |grep 161 #檢查snmp服務是否正常 snmpget -v 1 -c publiclocalhost system.sysUpTime.0
注意:snmp協議客戶端都須要裝。mysql
安裝rrdtools採用了yum安裝,比較方便,也能夠採用源代碼編譯安裝(在CentOS-5系列的鏡像中沒有rrdtools) yum install cairo pango zlibzlib-devel freetype freetype-devel gd gd-devel libpng libpng-devel rrdtool rrdtool-devel -y 附源代碼編譯安裝: yum install cairo pango zlib zlib-develfreetype freetype-devel gd gd-devel -y mkdir /application/tools -p cd /application/tools wgethttp://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/libart_lgpl-2.3.17.tar.gz tar xf libart_lgpl-2.3.17.tar.gz cd libart_lgpl-2.3.17 ./configure make make install /bin/cp -r /usr/local/include/libart-2.0/usr/include cd ../ #安裝rrdtool繪圖工具 wgetftp://ftp.drupal.org/.2/nslu2/sources/rrdtool-1.2.14.tar.gz tar xf rrdtool-1.2.14.tar.gz cd rrdtool-1.2.14 ./configure--prefix=/usr/local/rrdtool --disable-python --disable-tcl make make install cd ../ ls -l /usr/local/rrdtool/bin ln -s /usr/local/rrdtool/bin/*/usr/local/bin/
yum install gcc glibcglibc-common -y yum install mysqlmysql-server mysql-devel -y yum install httpd* -y yum install php php-mysql -y #修改apache配置文件 cp /etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf_bak sed -i 's/#ServerNamewww.example.com:80/ServerName 127.0.0.1:80/g' /etc/httpd/conf/httpd.conf sed -i 's#DirectoryIndexindex.html index.html.var#DirectoryIndex index.php index.html#g'/etc/httpd/conf/httpd.conf echo "<?phpphpinfo();?>" > /var/www/html/index.php #啓動apache,並設置開機自啓動 /etc/init.d/httpd start chkconfig httpd on
安裝完後測試下lamp環境:linux
#啓動mysql,並設置開機自啓動 /etc/init.d/mysqld start chkconfig mysqld on #檢查mysql狀態 netstat -anput | grep mysql lsof -i :3306 #建立庫及用戶 mysql> create database cacti_db; Query OK, 1 rowaffected (0.00 sec) mysql> grant all on cacti_db.* to'cactiadm'@'localhost' identified by 'fuzj123'; Query OK, 0 rowsaffected (0.01 sec) mysql> show grants for'cactiadm'@'localhost'; +------------------------------------------------------------------------------------------------------------------+ | Grants forcactiadm@localhost | +------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON*.* TO 'cactiadm'@'localhost' IDENTIFIED BY PASSWORD'*43DD7940383044FBDE5B177730FAD3405BC6DAD7' | | GRANT ALLPRIVILEGES ON `cacti`.* TO 'cactiadm'@'localhost' | +------------------------------------------------------------------------------------------------------------------+ 2 rows in set(0.00 sec) mysql> flushprivileges; Query OK, 0 rowsaffected (0.00 sec)
cd /usr/src/ wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz tar zxf cacti-0.8.7g.tar.gz cd cacti-0.8.7g #修改cacti配置文件參數 vim include/config.php 修改下面內容: $database_type ="mysql"; $database_default ="cacti_db"; $database_hostname ="localhost"; $database_username ="cactiadm"; $database_password ="fuzj123"; $database_port ="3306"; #初始化cacti數據庫 mysql cacti_db <cacti.sql #將cacti程序移動到apache站點目錄下 mv /usr/src/cacti-0.8.7g /var/www/html/cacti #受權rra.log兩個目錄 cd /var/www/html/cacti/ chown -R apache:apache rra/log/ #查看權限 ll -d rra/ log/ #測試定時收集數據php文件 chmod 755 /var/www/html/cacti/poller.php /usr/bin/php/var/www/html/cacti/poller.php #將收集數據命令加入crontab(出圖靠這個命令) echo '#catil poller'>>/var/spool/cron/root echo '*/5 * * * */usr/bin/php /var/www/html/cacti/poller.php >/dev/null 2>&1'>>/var/spool/cron/root crontab -l |tail -2
瀏覽器配置cactisql
部署完成。默認管理員和密碼是admin,admin,第一次登陸會強制修改數據庫
進入Cacti的console面板->apache
點擊「Devices」進入設備面板->vim
點擊「Add」添加新設備->瀏覽器
填寫要監測服務器的各類信息,其中Host Template請選擇「Local Linux Machine」或「ucd/net SNMP Host」(選擇一個合適的主機模板)
點擊「Create」保存信息,若是SNMP鏈接沒有問題,左上角會出現該服務器的信息,不然會出現「SNMP error」的紅色字樣->
點擊上部的「Create Graphs for this Host 」爲該設備建立需監測的內容。監測的內容分兩種,「Graph Templates」和「Data Query」,區別在於「Data Query」能根據SNMP信息列出監測項目的信息。例如Data Query裏的「Interface Statistics」能夠看到該主機全部網卡的信息,這樣咱們能夠選擇須要監測的網卡。點擊右側的正方形選擇框勾選上要監測的項目->
點擊「Create」建立選擇的監測內容,已經選擇建立的內容會自動變成灰色而且不能再點選。Cacti會自動建立該監測點的rrd文件(在rra文件夾中)、「Data Source」和「graph」條目。
將新建立的設備或圖像加入到「圖像樹」上:
點擊「Graph Tree」進入「圖像樹」面板->
點擊分支名稱或「Add」新的分支->
「Tree Item Type」中選擇「Host」,「Tree ItemValue」的「host」中選擇剛纔新添加的主機「Test Host」->
點擊「Create」。
直接在ViewTree中添加一個host節點進行監控無疑是一個簡單的方法,但隨監控圖的增多,將全部的圖像放到一個host節點上,當查看圖像時圖像的顯示速度會變慢,並且監控圖的條理也不清除,因此一般能夠根據監控圖監控的功能和監控服務的類型等進行分類,整理出一棵有條理的圖像樹。能夠按下面步驟添加節點。
首先添加一個root節點,「Tree Item Type」中選擇「Header」,「Title」中填寫一個合適的描述性信息,如本例填寫「Host Monitor」,Host Monitor節點的圖像主要是和主機性能相關的一些圖像,如CPU、內存、磁盤空間等;
點擊剛建立的root節點(Host Monitor)後面的Add連接來添加一個Graph;
在「Tree Item Type」中選擇「Graph」,在「graph」中選擇加入想要加入的監控圖,重複此過程加入全部你想加入的監控圖。
你還能夠添加Tree Items,如MySQL Monitor,此節點用來監控與MySQL服務相關的信息,重複上面的過程直到一顆有條例的樹建立完成。
這樣,咱們就能夠在「graphs」界面中查看「Test Host」的全部監測圖像了。
爲已有host添加新的監控圖
在console控制檯下點擊「New Graphs」,選擇要添加監控圖的主機。在Graph Templates中選擇一個Graph模板,本例選擇SNMP - Ceneric OID Template,點擊create按鈕。
填寫如下信息,在「Title」文本框中填寫Graph的名字,在「Vertical Lable」文本框中填寫描述信息或是所繪圖片使用的單位等,顯示在所繪圖片的左側,在「name」文本框中填寫此數據源的名字,在「LegendColor」中選擇畫圖使用的顏色,在「Legend Text」填寫圖例的名字,在「OID」文本框中填寫要監控的主機的OID信息,點擊「create」按鈕完成Graph的建立。
完成後監控圖以下:
界面的介紹
登錄Cacti後,能夠看到左上角是兩個選項卡,「console」和「graphs」。console表示控制檯,在此進行全部的配置等操做;而graphs則是用來查看全部服務器的性能圖像的界面。
console菜單
Create:
NewGraphs——建立新圖像的快捷方式;
Management:
GraphManagement——圖像管理。能夠在此刪除、複製圖像,Cacti會自動建立圖像。不過若是咱們有特殊的須要,好比將幾張圖上的數據合併在一張圖像上的話也能夠在此手工新建圖像;
GraphTrees——圖像樹。在graphs界面裏,圖像或devices是樹狀結構顯示的,能夠在此設置樹的結構;
DataSources——管理rrd文件。通常無需修改,Cacti會本身建立rrd文件;
Devices——設備管理。這是咱們最常常須要修改的地方,能夠在此建立新的設備或修改其名稱等信息。
Collection Methods
DataQueries 和Data InputMethods是採集數據的方式,通常咱們無需對這兩項進行修改;
Templates
GraphTemplates 、Host Templates和Data Templates 分別是圖像模板、主機類型模板和數據模板。這些模板能夠導出、導入也能夠本身編寫,通常無需修改。
Import/Export
ImportTemplates 和ExportTemplates,對上述模板的導入、導出。咱們能夠在Cacti的官方網站上找到這些模板,不過須要注意模板對於的Cacti的版本。
Configuration
Settings——Cacti的主要配置菜單;
能夠在此從新設置對應的程序的路徑、版本等信息。也能夠設置圖像的輸出方式(容許ftp)、顯示效果、登錄方式(容許使用LDAP)等。
Utilities
SystemUtilities ——顯示Cacti系統的一些cache和log信息,若是log文件太大建議直接到後臺查看;
UserManagement ——用戶管理。能夠在此添加、刪除用戶,並對每一個用戶設置詳細的權限;
LogoutUser ——註銷用戶。