Cacti監控軟件詳細配置 ——及功能介紹

 

Cacti 監控軟件詳細配置
——及功能介紹
 
目錄
 
 
 
 
1.1 操做系統:
操做系統( Redhat Enterprise Linux 5.3),i386單核CPU,兩個硬盤
1.2 須要的數據包

須要的源碼包
數據庫
mysql-5.0.46.tar.gz
PHP
php-5.3.4.tar.gz
apache
httpd-2.2.17
phpMyAdmin
phpMyAdmin-3.3.8-all-languages.tar.gz
apr
apr-1.4.2.tar.gz
Apr-util
apr-util-1.3.10.tar.gz
cacti
cacti-0.8.7g.tar.gz            注:取用官方最新的包
cacti-cactid
cacti-cactid-0.8.6i.tar.gz   注:取用官方最新的包
cacti-spine
cacti-spine-0.8.7g.tar.gz     
fontconfig
fontconfig-2[1].4.2.tar.gz     能夠 yum安裝
freetype
freetype-1.3.1.tar.gz          能夠 yum安裝
gd
gd-2.0.32.tar.gz               注:這個要源碼安裝
Jpeg源碼包
jpegsrc.v6b.tar.gz             注:這個要源碼安裝
libmcrypt
libmcrypt-2[1].5.7.tar.gz      源碼安裝好點
libxml2-
libxml2-2.6.28.tar.gz          源碼安裝好點
 
Rrdtool合成包
rrdtool-1.4.4-1.el5.wrl.i386.rpm
rrdtool-1.4.4-1.wrl.src.rpm
rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm
gcc gcc+
gcc                            yum安裝好,沒那麼多麻煩
openssl
openssl openssl-level          yum安裝好,沒那麼多麻煩
net-snmp-*
net-snmp-devel net-snmp net-snmp-utils net-snmp-libs
yum安裝好,沒那麼多麻煩
glbc
glbc*                          yum安裝好,沒那麼多麻煩
openldap
openldap*                      yum安裝好,沒那麼多麻煩
autoconf
autoconf                        yum安裝好,沒那麼多麻煩
 
cacti-memcached-1.0.tar.gz 
mysql的監控插件
mysql-cacti-templates-1.1.3.tar.gz 
http://code.google.com/p/mysql-cacti-templates/downloads/detail?name=mysql-cacti-templates-1.1.3.tar.gz&can=2&q=
 
cgilib-0.5.tar.tar 
Nginx 監控插件
cacti-nginx.tar.gz
mysql的監控插件
http://faemalia.com/Technology/

 
注:以上還缺什麼基礎包,先安裝了,再裝apache mysql php cacti,而後相關的插件
# tar zxvf mysql-5.0.46.tar.gz
# cd mysql-5.1.46
# groupadd -g 5050 mysql
# useradd -g mysql -u 5050 -s /sbin/nologin -M mysql
# ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-charset=gbk --localstatedir=/data --with-extra-charsets=all --enable-thread-safe-client
# make
# make install
#cd /usr/local/mysql/
# chown -R mysql:mysql .
# chown -R mysql:mysql /data
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# cp share/mysql/my-large.cnf /etc/my.cnf # 在源碼包解壓以後那裏複製
# echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
# ldconfig
# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile
# cp share/mysql/mysql.server   /etc/init.d/mysqld # 到自身系統裏面去,以便自動啓動
#     chmod 755 /etc/init.d/mysqld
#     chkconfig --add mysqld
#     chkconfig mysqld off
#     chkconfig --level 35 mysqld on
 
2.2 編譯安裝apache
編譯安裝支持庫
a    編譯安裝jpegsrc.v6b.tar.gz
#     tar zxvf jpegsrc.v6b.tar.gz
#     mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
#     cd jpeg-6b/
#     ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
#     make
#       make install
 
b   編譯安裝libpng-1.4.4.tar.gz
#     tar zxvf libpng-1.4.4.tar.gz
#     cd libpng-1.4.4
#     ./configure --prefix=/usr/local/libpng
#     make
#       make install
 
c   編譯安裝freetype-2.4.3.tar.gz
#     tar zxvf freetype-2.4.3.tar.gz
#     cd freetype-2.4.3
#     mkdir -pv /usr/local/freetype
#     ./configure --prefix=/usr/local/freetype
#     make && make install
注:能夠yum,方便快捷點。
 
d、 編譯安裝 zlib-1.2.5.tar.gz     
#     tar zxvf zlib-1.2.5.tar.gz
#     cd zlib-1.2.5
#     mkdir /usr/local/zlib
#     ./configure --prefix=/usr/local/zlib
#     make
#       make install
注:能夠yum,方便快捷點。
 
e   編譯安裝curl-7.21.2.tar.gz
#     tar zxvf curl-7.21.2.tar.gz
#     mkdir -pv /usr/local/curl
#     cd curl-7.21.2
#     ./configure --prefix=/usr/local/curl
#     make
 #     make install
注:能夠不須要
 
f 、編譯安裝libxml2-sources-2.7.8.tar.gz
#     tar zxvf libxml2-sources-2.7.8.tar.gz
#     cd libxml2-2.7.8/
#     mkdir -pv /usr/local/libxml2
#     ./configure --prefix=/usr/local/libxml2
#     make
#     make install
注:最好源碼安裝,也能夠yum安裝
 
G 、編譯安裝libxslt-1.1.9.tar.gz                         
#     tar zxvf libxslt-1.1.9.tar.gz
#     mkdir -pv /usr/local/libxslt
#     cd libxslt-1.1.9
#     ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
#     make
#     make install
注:能夠安裝,也能夠不安裝
 
H 、編譯安裝fontconfig-2.8.0.tar.gz
#     tar zxvf fontconfig-2.8.0.tar.gz
#     cd fontconfig-2.8.0
#     mkdir -pv /usr/local/fontconfig
#     ./configure --prefix=/usr/local/fontconfig --disable-docs --with-freetype-config=/usr/local/freetype/bin/freetype-config
#     make
#     make install
 
I、編譯安裝  gettext-0.18.tar.gz        
能夠使用  yum install gettext安裝
#     tar zxvf gettext-0.18.tar.gz
#     cd gettext-0.18
#     mkdir /usr/local/gettext
#     ./configure --prefix=/usr/local/gettext
#     make
#      make install
 
J 、編譯安裝libart_lgpl-2.3.17.tar.tar
#     tar zxvf libart_lgpl-2.3.17.tar.tar
#     cd libart_lgpl-2.3.17
#     mkdir -pv /usr/local/libart
#     ./configure --prefix=/usr/local/libart             #也有加上參數 --disable-shared    意義暫時不明白
#     make
#      make install
 
K 、編譯安裝gd-2.0.32.tar.gz 
#     tar zxvf gd-2.0.35.tar.gz
#     cd gd-2.0.35
#     mkdir -pv /usr/local/gd2
#     ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg
#     tar zxvf httpd-2.2.15.tar.gz
 
注:這個源碼包特殊,最好安裝gd-2.0.32.tar.gz以上的包,否則會報錯,這個包一路裝下去也沒報錯。
L    httpd-2.2.17.tar.gz
    cd httpd-2.2.17
#     ./configure --prefix=/usr/local/apache2 --enable-so --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-rewrite --enable-deflate --enable-expires --disable-cgi --disable-cgid --disable-access --disable-env --disable-autoindex --disable-asis --disable-action --disable-negotiation --disable-include --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
#     make
#       make install
#     /usr/local/apache2/bin/apachectl -l      #查看編譯的模塊
#     /usr/local/apache2/bin/apachectl –k start    #啓動 http服務,
 
M 、安裝php
一、 編譯安裝 zxvf php-5.3.3.tar.gz
#     tar zxvf php-5.3.3.tar.gz
#     mkdir -pv /usr/local/php5
#     cd php-5.3.3
#     ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-gd --with-jpeg-dir=/usr/local/jpeg --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql
--enable-mbstring=all--enable-mbregex --enable-ftp --enable-soap --with-xsl=/usr/local/libxslt --with-config-file-path=/usr/local/php5/etc --enable-zip --with-libXML-dir=/usr/local/libxml2 -- enable [U1] -sockets  (這個enable-sockets重要必定要有) 
#     make
#     make install
 
N 整合apache和php
修改 httpd.conf文件使支持php
#     vi /usr/local/apache/conf/httpd.conf
查看是否有這一行,若是沒有,須要增長上,理論上 apache2.2.17與php5.3.4編譯安裝完成後,會自動生成這一行
LoadModule php5_module        modules/libphp5.so
在第 310行下面增長下面的內容,309與310行的內容是
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在這兩行下面加入下面的內容,就能支持 php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
注:關於沒有 php.ini的解決,從源碼目錄複製
cp php.ini-development /usr/local/php5/etc/php.ini       #注 php5.33以上都沒有php,ini文件應該不叫php.ini-dist,這個文件是php5.2.14的
增長一個php測試頁面 (如今的家目錄在 $apache_home/htdocs下面)另外,測試完後不要忘記刪掉這個頁面
#     vi /usr/local/apache/htdocs/index.php
<BODY>
<? phpinfo();
?>
  O 、安裝cacti
注:請在編譯安裝 cacti前安裝好apache+mysql+php   配置web目錄的具體方式在此不介紹,會在之後補充完整
一、 mysql+apache+php
mysql                          /usr/local/mysql
apache                         /usr/local/apache
web目錄                        /usr/local/apache/htdocs/cacti
php                              /usr/local/php5
 
P 、安裝rrdtool
解決依賴關係
第一步:先安裝這個包
# rpm –ivh rrdtool-devel-1.4.4-1.el5.wrl.i386.rpm
第二步:要這樣安裝這樣的包 (這兩個包要同時安裝)
# rpm –ivh  rrdtool-1.4.4-1.el5.wrl.i386.rpm rrdtool-1.4.4-1.wrl.src.rpm
Q 、安裝cacti
#     tar zxvf cacti-0.8.7g.tar.gz
#     mv cacti-0.8.7g /usr/local/apache/htdocs/cacti
#     vi /usr/local/apache/htdocs/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "127.0.0.1";
$database_username = "cacti";                                #用戶名本身弄一個
$database_password = "mysql";                                  #密碼本身弄一個
$database_port = "3306";
#     useradd cacti
#     chown -R cacti:cacti /usr/local/apache/htdocs/cacti       這一步至關的重要,涉及到權限問題
#     crontab -e -u cacti
*/5 * * * * /usr/local/php5/bin/php /var/www/cacti/poller.php > /dev/null 2>&1
注:能夠先在 cacti用戶中運行一次
su - cacti
/usr/local/php5/bin/php /usr/local/apache/htdocs/cacti/poller.php
R 、啓動mysql創建cacti數據庫和用戶,導入數據庫模板
 Mysql –u root –p mysql
> create database cacti;
> use cacti;
> source /usr/local/apache/htdocs/cacti/cacti. sql [U2]  
> grant all privileges on cacti.* to cacti@localhost identified by 'mysql';
> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'mysql';
> flush privileges;
註解:grant all privileges on *.* to 用戶名@登陸主機 identified by "密碼";給予全局權限
 
S 、安裝cactid
#     tar zxvf cacti-cactid-0.8.6k.tar.gz
#     cd cacti-cactid-0.8.6k
#     ./configure --with-mysql=/usr/local/mysql
#     make
#      make install
#     cp cactid cactid.conf /usr/local/cactid/
#     vi /usr/local/cactid/cactid.conf
DB_Host         127.0.0.1
DB_Database     cacti
DB_User        cacti
DB_Pass         mysql
DB_Port         3306
T 、安裝snmp
#     yum  install net-snmp-*
#     vi /etc/snmp/snmpd.conf
com2sec notConfigUser default       public                    
改成 127.0.0.1 這一個是cacti監控服務器的IP地址
com2sec notConfigUser  127.0.0. 1 [U3]        public
access notConfigGroup ""    any   noauth    exact systemview none none     
改成
access  notConfigGroup ""    any  noauth    exact  all [U4]        none none
#view all    included .1                               80                
去掉註釋 #
view all    included .1                               80
 
3.1 首次安裝cacti
    而後登錄的時候,初始的用戶名:admin 密碼:admin,所以,你須要做修改,把密碼修改成其它密碼,爲了安全性,必修改。
   
3.3 進入系統
   
 
3.4 系統詳細功能介紹
    
   3.4.1 Console 控制檯
        
 
  3.4.2 graphs 圖型直觀圖
        
3.4.3要建立設備在圖上所示
     
          點擊create devices,要建立監控圖點擊create graphs.view瀏覽整個圖表
 
3.4.4 管理工具
 Graph management 圖形管理;graph trees 樹形;data sources 數據來源 devices 設備
   
 
    解說devices的具體狀況,以下圖
    
3.4.5收集方法
    Collection methods 收集方法; Data Queries收據查詢; Data Input Methods數據輸入方法
具體界面圖以下:
3.4.6模板庫
     這裏面系統已經含有三個模板庫,能夠自行應用
    
3.4.7 導入額外的莫板塊,實現插件監控和別的功能
 
 Import templates 倒進去模板,或者插件,監控別的功能
 
    Import templates 導出圖表或者別的功能
   
    導出只能是xml格式的文件。
3.4.8 系統配置
 Setting,設置
  
  
 
 
3.4.9 公用配置
Utilities 公用配置
 
User management 在這裏能夠添加管理用戶和密碼
 
以上就是功能列表介紹,具體的介紹,不說了,之後你們用了,就會明白了。
 
mysql 數據庫監控
4.1 腳本下載,編譯

4.2 模板導入
     cacti管理界面(Import Templates)導入cacti_host_template_temysql_host-step300-heartbeat600.xml
cacti_host_template_memcached_host-step300-heartbeat600.xml模板文件。

4.3 建立監控Mysql須要的帳戶以及權限
     配置 MySQL服務器,讓cacti所在機器可以訪問MySQL服務器的狀態信息,必須擁有」process」權限。若是要監控InnoDB狀態,還必須有」SUPER」權限。
mysql> grant process,super on *.* to 'cacti'@'%' identified by 'mysql';
mysql> grant all privileges on cacti.*  to cacti@"%" identified by "mysql";

4.4 添加設備
     建立 Graph。在Console選項卡下的左側菜單欄中選擇Devices,爲要監控的主機新建一個Devices或選擇已有Devices。在Associated Graph Templates中添加想要監控MySQL狀態的Graph Templates(如teMySQL – Index Usage模板,此套模板是以teMySQL開頭的一系列模板)。並點擊最上面的Create Graphs for this Host連接,在Graph Templates的選擇框中選擇teMySQL - Locking and Slow,而後點擊Create按鈕,出現如下WEB頁。
監控的對象有:
teMySQL - CPU Usage    
teMySQL - Index Usage
teMySQL - InnoDB Buffers Pages/Mem
teMySQL - InnoDB File I/O
teMySQL - InnoDB InsBuffer
teMySQL - InnoDB Locks
teMySQL - InnoDB Row
teMySQL - Load Average
teMySQL - Locking and Slow
teMySQL - Network Usage
teMySQL - Old Command Stats
teMySQL - Old Handler Stats
teMySQL - Query Cache
teMySQL - Replication
teMySQL - Select Handler
teMySQL - Select Queries
teMySQL - Sorts
teMySQL - Temporary Objects
teMySQL - Threads/Abends
teMySQL - Volatile Handler
teMySQL - Volatile Queries
 
4.5 腳本下載及設置
wget http://mysql-cacti-templates.googlecode.com/files/mysql-cacti-templates-1.1.3.tar.gz
tar -xzvf mysql-cacti-templates-1.1.3.tar.gz
cd mysql-cacti-templates-1.1.3
cp ss_get_mysql_stats.php /usr/local/apache/htdocs/cacti/scripts
修改 ss_get_mysql_stats.php 文件 第30行
 
$mysql_user = 'cacti';
$mysql_pass = 'mysql';
$cache_dir = "/usr/local/apache/htdocs/cacti/cacti/cache/";
 
設置準備監控的數據庫的帳戶相關信息
 
mkdir /usr/local/apache/htdocs/cacti/cacti/cache/
chown -R cacti.cacti /xok.la/cacti/cache/
chmod 777 -R /usr/local/apache/htdocs/cacti/cacti/cache/
 
注意:默認在獲取的數據/tmp/下,會有cacti不能讀取的狀況。因此放在cacti目錄來。
 
4.6 建立監控Mysql須要的帳戶以及權限
配置 MySQL服務器,讓cacti所在機器可以訪問MySQL服務器的狀態信息,必須擁有」process」權限。若是要監控InnoDB狀態,還必須有」SUPER」權限。
Mysql>use cacti;
mysql> grant process,super on *.* to 'cacti'@'%' identified by 'mysql';
mysql> grant all privileges on cacti.* to cacti@"%" identified by "mysql";
 
4.7 模板導入
cacti管理界面(Import Templates)導入cacti_host_template_x_db_server_ht_0.8.6i.xml。
 
4.8 添加設備
建立 Graph。在Console選項卡下的左側菜單欄中選擇Devices,爲要監控的主機新建一個Devices或選擇已有Devices。在Associated Graph Templates中添加想要監控MySQL狀態的Graph Templates(如X MySQL Connections GT模板)。並點擊最上面的Create Graphs for this Host連接,在Graph Templates的選擇框中選擇X MySQL Connections GT,而後點擊Create按鈕,出現如下WEB頁。
 
監控的對象有:
 
X InnoDB Buffer Pool Activity GT
X InnoDB Buffer Pool GT
X InnoDB I/O GT
X InnoDB I/O Pending GT
X InnoDB Insert Buffer GT
 
X InnoDB Log GT
X InnoDB Row Operations GT
X InnoDB Semaphores GT
X InnoDB Transactions GT
X MyISAM Indexes GT
X MySQL Binary/Relay Logs GT
X MySQL Command Counters GT
X MySQL Connections GT
X MySQL Files and Tables GT
 
X MySQL Handlers GT
X MySQL Network Traffic GT
X MySQL Processlist GT
X MySQL Query Cache GT
X MySQL Query Cache Memory GT
X MySQL Replication GT
X MySQL Select Types GT
X MySQL Sorts GT
X MySQL Table Locks GT
 
X MySQL Temporary Objects GT
X MySQL Threads GT
X MySQL Transaction Handler GT
 
 
5.1 第一次配置,引起錯誤
前期工做都準備好了,都配置完成,而後進行輸入 IP地址測試。會發現,有如下的報錯
 
date() [function.date]: It is not safe to rely on the system's timezone settings…………..後面緊跟着還有一大串的報錯,說明這個定義時間,有問題,如是,能夠按照如下方法設置。
1. 在頁頭使用date_default_timezone_set()設置個人默認時區爲北京時間,路勁爲:
vi /usr/local/apache/htdocs/cacti/include/ global_constants.php


<?php
date_default_timezone_set("PRC");
?>就能夠了。

2
。在php.ini中設置date.timezone的值爲PRC,設置好之後的爲:date.timezone=PRC,同時取消這一行代碼的註釋,即去掉前面的分號就能夠了。
我試了用第二種方法試了,不行,後來用了第一種方法,能夠了,如是,報下面的錯。
 
5.2 新手的,第二種報錯
 
 
 這個報錯的解決方法是,在安裝 php配置擴張項的時候,如加載:--enable-sockets就能夠了,參考 PHP的加載命令
'./configure' \
'--prefix=/usr/local/php' \
'--with-apxs2=/usr/local/apache/bin/apxs' \
'--with-config-file-path=/usr/local/php/etc' \
'--with-mysql=/usr/local/mysql' \
'--with-libxml-dir=/usr/local/libxml2' \
'--with-gd' \
'--with-jpeg-dir' \
'--with-png-dir' \
'--with-bz2' \
'--with-iconv-dir' \
'--with-zlib-dir' \
'--with-openssl=/usr/local/openssl' \
'--with-mcrypt=/usr/local/libmcrypt' \
'--enable-soap' \
'--enable-gd-native-ttf' \
'--enable-memory-limit' \
'--enable-ftp' \
'--enable-mbstring' \
'--enable-exif' \
'--disable-ipv6' \
'--disable-cgi' \
'--enable-sockets' \
 
這個是參考命令,具體的命令,你們按照 help來幫助就能夠了。
 
你們想要清晰的文檔,請下載文檔。有待更新。
相關文章
相關標籤/搜索