大綱php
1、實驗環境說明node
2、Cacti 基本配置詳解 mysql
3、Cacti 監控遠程主機sql
4、Cacti 優化之spine輪詢器vim
注,操做系統 CentOS 6.4 x86_64 軟件版本 Cacti-0.8.8b(目前最版 2013-08-05發佈) 說明:這篇博客是基於上一篇博客寫的。上一篇博客地址爲:http://freeloda.blog.51cto.com/2033581/1308140。bash
1、實驗環境說明服務器
1.實驗拓撲多線程
注,一臺監控機Cacti 192.168.18.201,另外一臺是遠程主機Node1 192.168.18.202或者多臺遠程主機都是同樣的。(咱們這裏實驗只有兩臺主機,一臺Cacti 另外一臺遠程主機)ssh
2.各節點時間同步tcp
[root@node1 ~]# ntpdate 202.120.2.101 [root@node2 ~]# ntpdate 202.120.2.101
3.安裝yum源
[root@node1 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [root@node2 ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
4.安裝net-snmp
[root@node2 ~]# yum install -y net-snmp net-snmp-utils net-snmp-libs
5.修改net-snmp配置文件
[root@node2 ~]# vim /etc/snmp/snmpd.conf 修改前, view systemview included .1.3.6.1.2.1.1 修改後, view systemview included .1.3.6.1.2.1
6.啓動服務並設置開機自啓動
[root@node2 ~]# service snmpd start 正在啓動 snmpd: [肯定] [root@node2 ~]# chkconfig snmpd on [root@node2 ~]# chkconfig snmpd --list snmpd 0:關閉 1:關閉 2:啓用 3:啓用 4:啓用 5:啓用 6:關閉 [root@node2 ~]# netstat -ntulp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1037/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1114/master tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 1560/sshd tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 11620/sshd tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 11697/snmpd tcp 0 0 :::22 :::* LISTEN 1037/sshd tcp 0 0 ::1:25 :::* LISTEN 1114/master tcp 0 0 ::1:6010 :::* LISTEN 1560/sshd tcp 0 0 ::1:6011 :::* LISTEN 11620/sshd udp 0 0 0.0.0.0:161 0.0.0.0:* 11697/snmpd
7.在node1上簡單測試一下
[root@node1 ~]# snmpnetstat -v 2c -c public -Can -Cp tcp 192.168.18.202 Active Internet (tcp) Connections (including servers) Proto Local Address Remote Address (state) tcp *.22 *.* LISTEN tcp 127.0.0.1.25 *.* LISTEN tcp 127.0.0.1.199 *.* LISTEN tcp 127.0.0.1.6010 *.* LISTEN tcp 127.0.0.1.6011 *.* LISTEN tcp 192.168.18.202.22 192.168.18.19.53904 ESTABLISHED tcp 192.168.18.202.22 192.168.18.138.58958 ESTABLISHED
好了,這裏咱們的實驗環境就所有配置完成。下面咱們繼續……
2、Cacti 基本配置詳解
注,在上一篇博客中(http://freeloda.blog.51cto.com/2033581/1308140)咱們主要講解了Cacti的組成、工做原理、怎麼監控localhost等,但咱們沒有講解怎麼設置Cacti,以下圖
你們能夠看到,在配置選項中有兩個子項目,一個是設置另外一個插件管理。咱們這一篇博文中先講設置,插件管理在後面的博文中講解。那下面咱們就來具體的說一下,首先咱們來看一下「General」,這裏指的是通用配置,配置的內容有如下幾項:
日誌相關
SNMP相關
一些其它配置
基本上不須要修改保持默認便可。若真的要修改,咱們只要修改這三基便可,「Required Tools Versions」、「SNMP Default」、「Other Default」,在所需工具的版本中選擇正確的SNMP工具版本與RRDTool版本便可,在SNMP協議中咱們選擇Version2便可,在其它默認中咱們只須要配置一下「刪除確認」便可。配置好之後點擊保存便可。
在下面咱們圖形中咱們看到是「Paths」頁面,這裏主要配置的是SNMP的工具路徑,幫助咱們來收集相關主機數據用的。這裏主要配置的選項有,
所需工具的路徑
Cacti日誌文件的路徑
Spine 優化器的路徑(在下面的內空中咱們將詳解)
結構化RRD路徑(做用:使用子目錄分隔每個主機的RRD文件)
全部配置能夠保持默認基本不須要配置。
接下來咱們看到的是「Poller」頁面, 這裏主要是Cacti採集器的配置。這裏的主要本配置有,
通用配置
採集器參數設置
主機高可用配置
主機在線/宕機配置
在General配置中咱們能夠選擇Poller Type(採集器的類型),一個是cmd.php即Poller採集器,此採集是用PHP編寫的配置功能比較簡單,另外一種是spine採集器,是多線程的效率比較高在大規模的監控當中能夠應用,在下面的內容中咱們將詳細講解。下面的其它配置咱們保持默認便可。
下面是「Graphs Export」頁面,能夠將咱們生成的圖形導出到什麼位置,咱們能夠導出到本地,也能夠導出到FTP服務器上。主要的配置選項有,
通用配置
圖形樹配置
縮略圖配置
路徑配置
導出時間配置FTP選項等
咱們通常不須要將生成的圖形導出,可是若是你有須要能夠設置一下。
下面是「Visual」頁面,主要是設置Cacti頁面怎麼顯示的。主要配置有,
圖形管理配置
數據查詢配置
圖形建立配置
數據源顯示配置
主機顯示配置
日誌管理配置
默認的RRDTool工具配置
基本上默認配置便可,也能夠根據須要自行設置。
最後咱們將講解「Authentication」頁面,主要有四種認證方式。分別爲,
無 - 無驗證模式,全部的用戶都將擁有所有。
內建驗證 - Cacti控制用戶驗證,這將容許您創建用戶並設置他們在Cacti的權限。
WEB基本驗證 - Apache控制用戶驗證.若是定義了模板用戶,新用戶將在第一次登陸時被建立,不然,將會使用已定義的來賓用戶權限。
LDAP驗證 - 容許將驗證交給LDAP服務器.若是定義了模板用戶,新用戶將在第一次登陸時被建立,不然,將會使用已民定義的來賓用戶權限.若是沒有啓用PHP的LDAP模塊,下拉菜單裏不會出現LDAP驗證。
咱們通常選擇內建驗證就是經過Cacti控制用戶認證,你也能夠選擇其它認證。一切根據需求來配置,咱們這裏只講解通用配置。
好了,到這裏Cacti的系統設置咱們到這裏就基本講解完成了。下面咱們繼續……
3、Cacti 監控遠程主在機
注,在上一篇博客中(http://freeloda.blog.51cto.com/2033581/1308140)咱們主要講解怎麼監控localhost,下面咱們來具體講解一下怎麼去監控遠程主機。下面咱們來具體說一下,
進入Cacti的console面板->點擊「Devices」進入設備面板->
點擊「Add」添加新設備->
填寫要監測服務器的各類信息,其中Host Template請選擇「Local Linux Machine」(選擇一個合適的主機模板)->點擊「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 Management」能夠看到剛纔建立的監測點對應的圖像,注意因爲Cacti默認每5分鐘到監測服務器上取一次數據,因此剛建立的監測點會出現圖像不能顯示的現象,須要等幾分鐘查看纔會正常顯示。
爲了方便查看,能夠將剛纔新建立的設備或圖像加入到「圖像樹」上:點擊「Graph Tree」進入「圖像樹」面板->
點擊分支名稱或「Add」新的分支->
「Tree Item Type」中選擇「Host」,「Tree Item Value」的「host」中選擇剛纔新添加的主機「Node2」->
點擊「Create」。
好了,到這裏咱們配置的Cacti監控遠程主機配置到這裏就所有完成了,下面咱們繼續……
4、Cacti 優化之spine輪詢器
注,出於效率緣由,在大量採集數據時使用自帶的cmd.php輪詢器會比較慢,1分鐘1次的採集頻率可能沒法完成輪詢全部機器。這裏爲了優化,採用官方推薦的spine來高效輪詢。本例使用源代碼編譯安裝,下載的版本是spine-0.8.8b,所用cacti爲0.8.8b。
1.解決依賴關係
[root@node1 ~]# yum install -y mysql-devel net-snmp-devel
2.安裝spine
[root@node1 ~]# tar xf cacti-spine-0.8.8b.tar.gz [root@node1 ~]# cd cacti-spine-0.8.8b [root@node1 cacti-spine-0.8.8b]# ./configure [root@node1 cacti-spine-0.8.8b]# make && make install
3.提供配置文件並修改
[root@node1 cacti-spine-0.8.8b]# cp /usr/local/spine/etc/spine.conf.dist /usr/local/spine/etc/spine.conf [root@node1 cacti-spine-0.8.8b]# vim /usr/local/spine/etc/spine.conf DB_Host localhost DB_Database cactidb DB_User cactiuser DB_Pass cactiuser DB_Port 3306 DB_PreG 0
4.測試一下是否正常
[root@node1 cacti-spine-0.8.8b]# /usr/local/spine/bin/spine -C /usr/local/spine/etc/spine.conf SPINE: Using spine config file [/usr/local/spine/etc/spine.conf] SPINE: Version 0.8.8b starting SPINE: Time: 0.8907 s, Threads: 1, Hosts: 2
5.在cacti裏設置spine路徑
Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
輸入spine路徑:/usr/local/spine/bin/spine
以下圖,
6. 修改Cacti使用的Poller Type
Console -> Cacti Settings->Poller->Poller Type
在下拉中選擇spine,以下圖:
好了,到這裏咱們spine優化器就安裝完成了,這一篇博客就到這裏吧!在下一篇博文咱們主要講解Cacti的模板和自定義腳本的應用。但願你們有所收穫^_^……