歡迎您光臨本站 註冊首頁

linux26-cacti

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

開源的監控軟體

mrtg 很老的監控軟體

cacti 使用rrdtool來畫圖

nagios 有較好的報警功能

cacti 仙人掌

一套PHP程序,使用rrdtool工具來畫圖,使用snmp協議收集數據

--軟體路徑
ls /share/soft/cacti/

1.安裝rpm版lamp,支持包,和字體包
[root@li ~]# yum install httpd* php php-mysql mysql mysql-server libpng libjpeg freetype fontconfig gd libxml2 fonts-chinese -y

2.安裝snmp軟體包
[root@li ~]# yum install net-snmp* -y

3.安裝rrdtool
[root@li ~]# cd /share/soft/cacti/
[root@li cacti]# rpm -ivh rrdtool-1.2.30-1.el5.wrl.i386.rpm rrdtool-perl-1.2.30-1.el5.wrl.i386.rpm
--這兩個軟體包是互相依賴,所以一條命令都裝上

4.解壓cacti的源碼包到apache網站家目錄,並修改相關許可權
[root@li cacti]# tar xf cacti-0.8.7a-cn-utf8.tar.gz.gz -C /share/weekend/
[root@li cacti]# cd /share/weekend/
[root@li weekend]# mv cacti-0.8.7e-cn-utf8/ cacti

[root@li weekend]# chown apache.apache /share/weekend/cacti/ -R
--許可權對於cacti寫數據很重要,現在它是由rpm版的httpd來跑,並且rpm版httpd是由apache這個用戶來跑,所以要把相關ownership改成apache

5.啟動mysql,登錄進行cacti的授權
/etc/init.d/mysqld restart

mysql> create database cacti default charset utf8; --需要為utf8字符集,下載的cacti中文版是utf8

mysql> grant all on cacti.* to 'cacti'@'localhost' identified by '123';

mysql> flush privileges;


mysql> use cacti

mysql> source /share/weekend/cacti/cacti.sql --執行這個腳本,在mysql提示符下source,或者在shell下用mysql直接批量執行

mysql> show tables; --可以看到默認創建了48張表

6,修改cacti的config.php文件,確認它所連接的mysql的用戶名和密碼等信息

[root@li weekend]# vim /share/weekend/cacti/include/config.php

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "123";
$database_port = "3306";

7.配置snmp協議

[root@li weekend]# vim /etc/snmp/snmpd.conf
41 com2sec notConfigUser default public
42 com2sec notConfigUser 127.0.0.1 public --加上這一句,表示可以監控127.0.0.1,獲取snmp數據


63 access notConfigGroup "" any noauth exact systemview none none
64 access notConfigGroup "" any noauth exact all none none --加上這一行,把systemview換成all


87 view all included .1 80


# /etc/init.d/snmpd restart


# snmpwalk -v 1 localhost -c public --返回大量信息,無錯誤則為OK

8.通過web界面來安裝cacti

/etc/init.d/httpd restart


http://2.2.2.10/cacti/


保證所有的命令路徑OK,net-snmpd版本為5.x,rrdtool版本為2.x

默認登錄密碼: admin
admin

登錄成功后,控制面版--設備-- 本機(可以看到默認就已經監控了本機,並且有四張圖) --全是本機相關的配置


點擊圖像 但看不到,數據還沒有收集


9,收集數據
# ll /share/weekend/cacti/rra --這個為數據目錄,現在為空

# /usr/bin/php /share/weekend/cacti/poller.php --用此命令收集數據


# ls /share/weekend/cacti/rralocalhost_load_1min_5.rrd --有數據了,就是默認監控本機的四張圖有關的數據
localhost_proc_7.rrd
localhost_mem_buffers_3.rrd localhost_users_6.rrd
localhost_mem_swap_4.rrd

去web界面查看圖像,有圖了,但圖形字體有亂碼

解決方法:
控制面板--設置--路徑--RRDTool默認字體路徑
/usr/share/fonts/chinese/TrueType/ukai.ttf --寫上這一句,是裝fonts-chinese包得到的字體

保存,再查看圖像,rrdtool也支持中文了


為了不斷收集數據,把上面收集的命令寫到crontab里

# crontab -e
*/5 * * * * /usr/bin/php /share/weekend/cacti/poller.php &> /dev/null

--如果想馬上能看到圖裡的數據的話,就手工再去收集一次


模版


一個設備模版 包含 多個圖像模版
一個圖像模版 包含 多個數據模版

數據採集

snmpget 採集
返回單個數據


data quries 採集
返回多個數據


腳本採集
可以支持非snmp數據源
支持shell,php,perl等多種腳本

例子1:監控一台遠程機器


--加一個圖像樹用於專門放遠程linux主機的圖像,名稱我就叫遠程linux
控制面板--圖像樹--右上角添加--名稱寫上 遠程linux --創建

控制面板--設備--右上角點添加--
名稱: 137 --隨意取
設備名: 2.2.2.137
設備模版: 本地linux計算機
SNMP版本: 1版本

點創建后,圖像上面報了SNMP錯誤 --表示無法從客戶端獲取snmp信息


解決:
137這個客戶端
# vim /etc/snmp/snmpd.conf


com2sec notConfigUser 2.2.2.10 public --加上這一句,允許10這個cacti監控伺服器通過snmp協議來137收集數據

--不加也可以,默認就有com2sec notConfigUser default public這句,default默認代表允許所有


# /etc/init.d/snmpd restart

# snmpwalk -v 1 10.1.1.137 -c public --驗證有信息


--再回到10的web界面刷新一下,就不會報SNMP錯誤了


在右上角點為此設備生成圖像--把圖像全打勾--顏色就默認就OK--點擊創建


控制面板--設備(可以看到137了,狀態要為在線)--後面打勾--選擇一個操作--選擇 放入(遠程linux)樹中--確認

例子2:給監控本機加一個ping延遲的圖像

控制面板--設備--本機--添加圖像模版添加unix-ping 延遲 --添加之後,顯示的是未生成圖像


控制面板--新建圖像--新建 unix-ping 延遲

--然後本機圖像就生成了,再去手工收集一次數據,點查看圖像就可以看到了

例子3:給監控導入一個模塊advanced-ping的圖像

/share/soft/cacti/cacti_graph_template_ping_advanced_ping_v1_3.xml

http://forums.cacti.net/about10049.html
--cacti論壇下載地址


控制面板--設備--本機--添加圖像模版添加advanced-ping 延遲 --添加之後,顯示的是未生成圖像--點為此設備生成圖像--把新添加的這個打勾--創建


第一項:The number of times to ping the host:一次向要監控的埠發送多少個探測包(默認20個)
第二項:Port to ping. Applies only to TCP and UDP protocols:使用的協議,可以是ICMP、TCP、UDP
第三項:Ping protocol to use. Either ICMP (default), TCP, or UDP:要監控的埠號(只有第二項為TCP或是UDP時使用),填寫完成後點擊create按鈕

--然後本機圖像就生成了,再去手工收集一次數據,點查看圖像就可以看到了

=========================================================

實例導入模版監控mysql


軟體包的路徑:
/share/soft/cacti/teMySQLcacti-20060810.tar.gz

# tar xf /share/soft/cacti/teMySQLcacti-20060810.tar.gz -C /usr/src/

# cd /usr/src/teMySQLcacti/

[root@li teMySQLcacti]# ls --.xml文件為模版文件..sh和.php的為腳本文件
cacti_host_template_memcached_host-step300-heartbeat600.xml
cacti_host_template_memcached_host.xml
cacti_host_template_temysql_host-step300-heartbeat600.xml
cacti_host_template_temysql_host.xml
CHANGELOG
convertXmlTo5minutePollingInterval.sh
dumpMemcachedStats.php
makeMin1RrdIntoMin0Rrd.sh
makeReleaseFile.sh
mysql_stats.php
README.txt --查看readme,有安裝和使用幫助


1.
# ./convertXmlTo5minutePollingInterval.sh --如果是五分鐘一次收集數據,先執行此腳本

2.
# cp mysql_stats.php dumpMemcachedStats.php /share/weekend/cacti/scripts/
--拷貝這兩個腳本到cacti/scripts/目錄下


# chown apache.apache /share/weekend/cacti/scripts/dumpMemcachedStats.php /share/weekend/cacti/scripts/mysql_stats.php

3.
# vim /etc/php.ini
memory_limit = 32M --內存限制改成32M,readme里寫的是大於8M

# /etc/init.d/httpd reload


4.被監控的遠程mysql伺服器授權
mysql> grant process,super on *.* to 'cacti'@'2.2.2.10' identified by '123'; --2.2.2.10是監控伺服器cacti的IP

mysql> flush privileges;

5.導入相關模板

控制面板--導入模板
把下面兩個模板導入
cacti_host_template_memcached_host-step300-heartbeat600.xml


cacti_host_template_temysql_host-step300-heartbeat600.xml

6.
新建立一個圖像樹

控制面板--圖像樹--添加--名字隨意 我這叫 mysql伺服器組 --創建


設備--添加--

描述:137-mysql
設備名:2.2.2.137 --遠程被監控的mysql的IP
設備模版: teMysql Host --這個設備模版包含21個圖形模板,可以不選它,自己手工加需要的圖形模板也是可以
snmp版本: 1版本


設備--在127-mysql後面打勾 --選擇一個操作里 加入 mysql伺服器組 --確認


# /usr/bin/php /share/weekend/cacti/poller.php --force
--強制刷新一下數據,有報錯不管


==================================


整合版CACTI

[root@li cacti]# ls /share/soft/iso/CactiEZ_V9.iso

系統登錄:
用戶:root
密碼:CactiEZ

只要有IP,然後使用瀏覽器訪問

cacti登錄:
用戶:admin
密碼:admin


這個系統默認為靜態IP 192.168.0.5,可以手動修改一下,然後使用瀏覽器訪問

==============================================================

安裝下面這個
/share/soft/cacti/CactiEZ-v0.6.iso --英文整合版

Login Information

Some useful info you will need. You can also see this information by pressing F6 at the CD Installation prompt.

To login to the OS (you will want to change this)
user: root
pass: CactiEZ

To login to cacti (it prompts to change this)
user: admin
pass: admin

Get to webmin at (requires the root user / pass)
https://serverip:10000

To configure ntop (you will want to change this)
user: admin


pass: CactiEZ

To configure nagios
user: nagiosadmin
pass: CactiEZ

--這個版本安裝的插件是非常多的

http://docs.cacti.net/plugins --插件的官網地址


自己可以嘗試上網查查資料去嘗試用用


--參考網站
http://www.cactiez.com

本文出自 「linuxart」 博客,請務必保留此出處http://linuxart.blog.51cto.com/686203/843989


[火星人 ] linux26-cacti已經有598次圍觀

http://coctec.com/docs/linux/show-post-45763.html