Linux监控软件之 Cacti
一、簡介
1)cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,然后用rrdtool儲存和更新數據,當用戶需要查看數據的時候用rrdtool生成圖表呈現給用戶。因此,snmp和rrdtool是cacti的關鍵。Snmp關系著數據的收集,rrdtool關系著數據存儲和圖表的生成。
2)Mysql配合PHP程序存儲一些變量數據并對變量數據進行調用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量。
3)snmp抓到數據不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數據的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(RoundRobinArchive),它能夠存儲的數據筆數在創建時就已經定義。
二、環境說明
Cacti的運行是基于LAMP環境的首先我們來安裝LAMP環境。LAMP環境安裝有兩種方法,第一種是源碼安裝,第二種是用yum安裝。
本次實驗是在CentOS6.5系統中進行,全部軟件都通過yum安裝。
服務端[ hostname:server ? ip:192.168.0.112 ]
客戶端[ hostname:client ? ip:192.168.0.113 ]
三、安裝配置
1、服務端上執行以下操作:
1)安裝epel擴展源
[root@server ~]# yum install -y epel-release
2)安裝httpd、php、mysql(lamp)
[root@server ~]# yum install -y ?httpd php php-mysql mysql mysql-server mysql-devel php-gd libjpeg libjpeg-devel libpng libpng-devel
3)安裝cacti、net-snmp、rrdtool
[root@server ~]# yum install -y cacti net-snmp net-snmp-utils rrdtool
4)啟動服務
[root@server ~]# /etc/init.d/mysqld start
[root@server ~]# /etc/init.d/httpd start
[root@server ~]# /etc/init.d/snmpd start
5)編輯httpd配置文件
[root@server ~]# vim /etc/httpd/conf.d/cacti.conf
找到第一個"Deny from all" 改為"Allow from all"
[root@server ~]# /etc/init.d/httpd restart
6)導入數據并創建cacti庫
[root@server ~]# mysql -uroot -e "create database cacti" ? ?//創建數據庫為cacti
[root@server ~]# mysql -uroot -e "grant all on cacti.* to 'cacti'@'127.0.0.1' identified by 'cacti';" ? ? ? ?//授權并創建用戶為cacti,密碼為cacti
[root@server ~]# mysql -uroot cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql ?//導入sql文件
7)編輯cacti配置文件
[root@server ~]# vim /usr/share/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;
8)web訪問cacti并安裝
瀏覽器輸入http://192.168.0.112/cacti?會出現以下界面(要關閉iptables才行)
安裝時點兩下“next”和一次“Finish”即可,安裝完成后提示第一次輸入用戶密碼,皆默認為admin
登入后會提示要更改密碼,我們更改保存進入cacti首頁,但是點擊graphs后我們會發現沒有圖形。因為還需執行poller.php腳本。
9)執行poller.php腳本, 生成圖形,并加入到計劃任務中
[root@server ~]# /usr/bin/php /usr/share/cacti/poller.php
會提示waring,說未設置timezone,下面我們設置timezone
[root@server ~]# vim /etc/php.ini ? //添加一行??
date.timezone='Asia/Chongqing'
如圖
再次執行腳本,則不會出現waring
[root@server ~]# /usr/bin/php /usr/share/cacti/poller.php
然后我們可以看到graphs中出現了圖形。如圖
接著把腳本加入到計劃任務中
[root@server ~]# crontab -e
*/5 * * * * /usr/bin/php /usr/share/cacti/poller.php ? //每5分鐘執行一次
2、客戶端上執行以下操作:
1)安裝snmp
[root@client ~]# yum install -y net-snmp
2)修改snmpd.conf
[root@client ~]# vim /etc/snmp/snmpd.conf
找到syslocation和syscontact Root,修改為
syslocation 0.113? ? ? ? ? ? ? ?//可以寫客戶主機的ip,也可以寫域名
syscontact Root admin@admin.com? ? ? //管理員郵箱
3)啟動snmp
[root@client ~]# service snmpd start
3、增加客戶主機
1)登錄cacti管理后臺,點console , 再點Device,在右上角點Add,填入以下參數后點右下角的create。
2)創建成功能后在點右上角的“Create Graphs for this Host”
Graph Types:選擇SNMP - Interface Statistics?
在下面框中選擇要監控的網卡,比如我選擇eth0, 在最右側小方塊里打對勾,然后點右下角create
Graph Types:再選擇 Graph Template Based
在下面的框中,選擇你要監控的項目,比如ucd/net - Load Average等,在右側小方塊中打對勾,然后點右下角的create
注:snmp error
若選擇SNMP - Interface Statistics后沒有顯示網卡,則編輯客戶機配置文件
[root@client ~]# vim /etc/snmp/snmpd.conf
找到:view systemview included .1.3.6.1.2.1.1
修改為:view systemview included .1.3.6.1.2.1
然后重啟snmpd服務;
[root@localhost ~]# /etc/init.d/snmpd restart
再刪除之前的,重新填入參數即可解決這個問題。
3)加入到Graph Trees?
點左側的Graph Trees ,選中 Default Tree,點右上角的Add,Tree Item Type 選擇 “Host”
Host 選擇我們剛剛增加的那個機器ip,點右下角的create
4)點左上角的Graphs
在左側可以看到Defaut Tree下面已經增加了我們剛剛添加的主機,圖形一開始不會那么快出來,要等一小會才可以。
之后我們可在服務器端/usr/share/cacti/rra/文件夾看到生成了以13開頭的文件
[root@server ~]# ls -l /usr/share/cacti/rra/
總用量 860
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_cpu_nice_8.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_cpu_system_9.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_cpu_user_10.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_load_15min_12.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_load_1min_11.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_load_5min_13.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_mem_buffers_14.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_mem_cache_15.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 13_mem_free_16.rrd
-rw-r--r-- 1 root root ?94664 10月 13 03:45 13_traffic_in_17.rrd
-rw-r--r-- 1 root root 141488 10月 13 03:45 localhost_load_1min_5.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 localhost_mem_buffers_3.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 localhost_mem_swap_4.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 localhost_proc_7.rrd
-rw-r--r-- 1 root root ?47840 10月 13 03:45 localhost_users_6.rrd
參考文章
http://www.linuxfly.org/post/552/
http://www.it165.net/admin/html/201310/1956.html
? ?
轉載于:https://blog.51cto.com/msiyuetian/1702299
總結
以上是生活随笔為你收集整理的Linux监控软件之 Cacti的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图腾计数
- 下一篇: 关于滑动条滚动 scroll兼容