大綱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。服務器
1、實驗環境說明多線程
1.實驗拓撲ssh
注,一臺監控機Cacti 192.168.18.201,另外一臺是遠程主機Node1 192.168.18.202或者多臺遠程主機都是同樣的。(咱們這裏實驗只有兩臺主機,一臺Cacti 另外一臺遠程主機)tcp
2.各節點時間同步工具
1
2
|
[root@node1 ~]
# ntpdate 202.120.2.101
[root@node2 ~]
# ntpdate 202.120.2.101
|
3.安裝yum源
1
2
|
[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
1
|
[root@node2 ~]
# yum install -y net-snmp net-snmp-utils net-snmp-libs
|
5.修改net-snmp配置文件
1
2
3
4
5
|
[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.啓動服務並設置開機自啓動
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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上簡單測試一下
1
2
3
4
5
6
7
8
9
10
|
[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.解決依賴關係
1
|
[root@node1 ~]
# yum install -y mysql-devel net-snmp-devel
|
2.安裝spine
1
2
3
4
|
[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.提供配置文件並修改
1
2
3
4
5
6
7
8
|
[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.測試一下是否正常
1
2
3
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路徑
1
|
Console -> Configuration -> Settings -> Paths -> Alternate Poller Path -> Spine Poller File Path
|
輸入spine路徑:/usr/local/spine/bin/spine
以下圖,
6. 修改Cacti使用的Poller Type
1
|
Console -> Cacti Settings->Poller->Poller Type
|
在下拉中選擇spine,以下圖:
好了,到這裏咱們spine優化器就安裝完成了,這一篇博客就到這裏吧!在下一篇博文咱們主要講解Cacti的模板和自定義腳本的應用。但願你們有所收穫^_^……