開源的企業級監控系統 Cacti 簡介 (資料)

 

Cacti是一款網絡流量監測圖形分析工具,把LAMP的功能都結合起來,用於網絡流量監控,操做起來很是方便!讓咱們認識下Cacti簡介及工做流程。

1、Cacti簡介php

1. cacti是用php語言實現的一個軟件,它的主要功能是用snmp服務獲取數據,而後用rrdtool儲存和更新數據,當用戶須要查看數據的時候用rrdtool生成圖表呈現給用戶。所以,snmp和rrdtool是cacti的關鍵。Snmp關係着數據的收集,rrdtool關係着數據存儲和圖表的生成。
 html

2. Mysql配合PHP程序存儲一些變量數據並對變量數據進行調用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量
 mysql

3. snmp抓到數據不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數據的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(RoundRobinArchive),它可以存儲的數據筆數在建立時就已經定義。ios

• 是一套基於php、mysql、SNMP、RRDTool開發的網絡流量監測圖形分析工具。Cacti經過snmpget獲取數據,使用RRDTool繪畫圖形。最後經過web方式呈現出來c++

• Cacti三層架構web

– 數據採集層:經過SNMP或自定義腳本進行數據採集sql

– 數據存儲層:經過cacti模板等數據存放至MYSQL中數據庫

– 數據展示層:經過WEB方式呈現出來apache

也能夠把他理解爲一個php網站vim

 

Cacti各組件的功能如圖1.1所示:

二、Cacti工做原理

Cacti操做能夠分爲如下三部分,如圖2.1所示:

2.1 Data Retrieval

Cacti首先要作的工做就是收集數據,cacti使用Poller(輪詢器)收集數據。Poller是操做系統scheduler的擴展,如在類Unix系統中的crontab。如今的IT設施中會有許多不一樣的設備,如服務器、網絡設備等,cacti主要使用SNMP協議來從遠端的設備上收集數據,全部能夠使用SNMP協議的設備均可以被cacti監控。


2.2 Data Storage

存儲收集到的數據有許多方法,能夠使用數據庫、平面文件等,cacti使用的是RDDTool。RRD是RoundRobin Database(環形數據庫)的縮寫,RRD用來存儲和顯示時間序列數據,如網絡帶寬、機房溫度、服務器負載等,RRD使用很是緊湊的方式存儲數據,數據不會隨着時間的推移而增大,RRD還能夠生成美觀的圖形。這些特性使得cacti沒有存儲需求。RRD也作一席位其餘的工做,如RRD會將原始數據與已整合的數據進行合併,以使得歷史數據的存儲節省空間,RRD支持的整合功能包括:AVERAGE,MAXIMUM, MINIMUM和LAST。


2.3 Data Presentation

Cacti最大的一個特色是內置了RRDTool畫圖功能,將其與通用的web服務器相結合,能夠實如今任意平臺上使用瀏覽器就能夠查看監控畫面。

1、安裝

 

一、安裝必須的軟件包

 

yum -y install httpd php php-mysql php-ldap php-xml net-snmp-utils mysql mysql-server net-snmp lm_sensors gcc gcc-c++ libart_lgpl-devel zlib-devel libpng-devel freetype-devel

二、安裝rrdtool。

 

Rrdtool是一個繪圖工具,系統光盤中沒有提供,因此須要手工安裝

 

(1)安裝rrdtool編譯時所需軟件

(2)解壓rrdtool並進行配置安裝

tar xvf rrdtool-1.2.27.tar.gz

cd rrdtool-1.2.27

./configure --prefix=/usr/local/

Make  && Make install

 

三、啓動mysql數據庫和httpd服務

 

/etc/init.d/mysqld start

chkconfig mysqld on

/etc/init.d/httpd start

chkconfig httpd on

 

四、安裝cacti

 

(1)cacti本質上是一個PHP網站,只須要把它解壓並拷貝到/var/www/html/目錄下便可

Tar  xvf  cacti-0.8.7g.tar.gz

mv cacti-0.8.7g /var/www/html/cacti

cd /var/www/html/cacti/

(2)建立cactiuser用戶,並設置相關目錄的屬主、屬組

useradd cactiuser

chown -R cactiuser.cactiuser rra/ log/

其中rra目錄是收集到的監控數據目錄,log目錄是日誌目錄

 

(3)建立數據庫。由於cacti並無把建立數據庫的腳本寫到網頁中,因此須要管理員手工建立相關數據庫。

進入Mysql數據庫

Mysql

建立數據庫

create database cactidb default character set utf8;

爲數據庫進行受權:

grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'cacti';

(4)以cactiuser的身份把sql腳本導入到數據庫

mysql -ucactiuser -pcacti cactidb < cacti.sql

(5)修改相關的php文件,以便於apache經過php鏈接mysql數據庫時,能夠提供正確的用戶名、密碼等。

vim include/config.php

26行$database_type = "mysql";

$database_default = "cactidb";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "cacti";

$database_port = "3306";

總結:

一、 先安裝cacti須要的系統包

二、 解壓安裝

三、 設置數據庫,導入cacti.sql

四、 修改config.php

 

(6)打開網頁按照嚮導完成安裝

在瀏覽器輸入http://192.168.10.64/cacti/install/

 

用戶名和密碼都是admin,首次登錄後,要求修改admin的密碼    123456

修改完後便可進入界面

2、監控自身

 

CACTI監控的時候,是經過SNMP實現的。

SNMP:簡單網絡管理協議  UDP16一、162

查詢方法:

輪詢:監控端週期性地查詢被監控端161

陷阱:被監控端主動向監控端彙報事件162

SNMP消息類型:

get-request:監控端查詢被監控端

get-next-request:監控端查詢被監控端某一項更詳細內容

set-request:監控端設置被監控端的某些參數

get-response:被監控端迴應監控端

trap:陷阱,被監控端主動向監控端彙報事件

 

一、配置snmp

 

vim /etc/snmp/snmpd.conf

二、啓動服務

 

/etc/init.d/snmpd start;chkconfig snmpd on

 

三、經過WEB頁面添加被監控主機

 

(1)刪除存在的主機

(2)添加要監控的主機

(3)添加監控項

 

上一步點擊Create後,把頁面拉到底部,後面顯示沒有數據,那麼它是無用的,點擊後面的X號,將其刪除。

添加上SNMP可以監控的項目

使用相同的辦法,把處理器信息也添加上。最後保存

(4)爲監控項繪製圖形

在WEB頁的最上端,點擊建立圖形

選項要監控的項目,而後點擊Create

(5)把建立的圖形加入到圖形樹

(6)爲圖形生成數據

在監控服務器上,以cactiuser的身份執行php命令

過幾分鐘顯示下圖爲正常

 

 

 

 

 

 

參考連接:

https://mp.weixin.qq.com/s/_3Ocv80v8dTMQIGxhiW4Ew

連接:

cacti論壇  :http://www.cnyunwei.com/forum-59-1.html

Cacti 0.8 Network Monitoring : http://club.topsage.com/thread-379998-1-1.html

Centos6.8安裝cacti教程    :  https://www.jb51.net/os/RedHat/512819.html

Centos7.2部署Cacti   :  https://mp.weixin.qq.com/s/ONWNOZYx2JfisKgKtn-Cdg

cacti監控工具之自定數據收集方法            :      http://blog.51cto.com/zhaochj/1672199

cacti監控工具之數據收集方法、模板介紹及使用 薦                 :   http://blog.51cto.com/zhaochj/1669081

cacti監控工具之安裝篇      :   http://blog.51cto.com/zhaochj/1666191

Cacti配置遠程MySQL/Cacti修改MySQL數據庫默認字符集 : https://jishu8.net/sort/8

【安全運維】Cacti監控系統注入漏洞引起的內網血案 : https://mp.weixin.qq.com/s/B34IaiZ1lQfbXxcgUIuwfA

監控 SQL Server 數據庫服務器實現方法(Cacti、Nagios) : https://mp.weixin.qq.com/s/nu_tPCTu_6HrpR79LEKTVQ

如何在 Cacti 中合併兩幅圖片 :https://mp.weixin.qq.com/s/nu_tPCTu_6HrpR79LEKTVQ

相關文章
相關標籤/搜索