天天看點

Cacti中文版安裝配置

 Cacti是一款優秀的開源監控軟體,使用php實作,它的主要特點是使用snmp服務擷取資料,然後用rrdtool存儲和更新資料,當使用者檢視資料的 時候,rrdtool生成圖表呈現給使用者。mysql資料庫用于存儲變量并進行調用。mysql資料庫并不存儲snmp捕獲到的資料,snmp捕獲到的數 據,存在于rrdtool生成的rrd檔案中,這些檔案位于cacti目錄下的rra目錄中。

本文主要介紹cacti中文版的安裝,配置,cacti插件的安裝,配置。英文版的安裝跟中文版大同小異,但是中文版會麻煩點,是以就以中文版為例。

系統:linux 5.6

軟體:cacti-0.8.7b

一、    準備軟體的安裝

由于cacti使用php來實作,通過WEB來管理,使用snmp來捕獲資料,使用rrdtool來生成圖表,使用mysql來存儲變量,是以需要先安裝這些軟體,直接使用yum進行安裝即可,共需安裝以下rpm包:

httpd/mysql-server/php/php-mysql/rrdtool/gd/net-snmp/php-snmp/net-snmp-utils/net-snmp-devel/mysql-devel/openssl-devel

各個rpm包的作用為:

httpd  WEB伺服器apache

mysql-server   資料庫mysql

php   cacti使用php來實作

php-mysql  php支援mysql

rrdtool   用來生成cacti圖像

gd      rrdtool繪制圖像需要的圖形庫

php-snmp   php支援snmp

net-snmp-utils   一些snmp的擴充指令,如:snmpwalk、snmpget等,cacti需要

net-snmp-devel/mysql-devel/openssl-devel   cactid/spine需要

如果之前有LAMP 環境就不需要安裝LAMP 了建議是php5.3的版本。如果沒安裝

yum -y install httpd gettext mysql mysql-server mysql-devel php php-mysql php-p

yum -y install php-mysql mysql perl mysql-server perl-DBI perl-DBD-MySQL httpd gcc glibc glibc-common gd gd-devel php

由于RH元件中是不帶rrdtool的需要源碼安裝之前安裝過了Nagios 是以不用在安裝

設定開機自啟動

#chkconfig httpd on

#chkconfig mysqld on

#chkconfig snmpd on

二、    MySQL資料設定

由于cacti依靠mysql來存儲必要的變量,我們有必要對MySQL做些設定。

啟動并初始化mysql資料庫

#service mysqld start

為root使用者設定密碼(以linuxpad為例),并更改登入權限,預設密碼為空

#mysql –u root –p      回車後輸入密碼(空)

mysql>use mysql;

mysql>update user set password=password(‘linuxpad’) where user=’root’;             

mysql>grant all privileges on *.* to [email protected] identified by ‘linuxpad’ with grant option;

mysql>flush privileges;

添加cacti庫和cacti使用者,并為其設定權限

mysql>create database cacti default character set utf8;    //資料庫字元集設定utf8,否則亂碼

mysql>grant all privileges on cacti.* to [email protected] identified by ‘linuxpad’ with grant option;

mysql>flush privileges;

三、    安裝Cacti

下載下傳cacti-0.8.7e-cn-utf8.tar.gz,位址為http://blogimg.chinaunix.net/blog /upfile2/090815172648.gz (這個連結是tar.gz格式的,請下載下傳後更改檔案格式),假設下載下傳目錄為/opt/soft,下面相同

#cd /opt/soft

#tar zxvf 090815172648.tar.gz

#mv cacti-0.8.7e-cn-utf8 /var/www/cacti

修改配置檔案

#vi /var/www/cacti/include/config.php

修改内容如下

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cacti";

$database_password = "linuxpad";

關于cacti添加使用者,網上常見的做法是添加一個cacti的使用者,并更改rra和log目錄屬主。經過本人測試這裡并不需要添加cacti使用者并更改 rra和log的屬主,直接使用root即可。原因是因為官方的安裝文檔上使用的是FreeBSD,在計劃任務那步使用的是:

*/5 * * * * cacti php /var/www/cacti/poller.php &>/dev/null,使用使用者cacti來執行任務。

但是centos并不是識别這個cacti參數,是以也就無需使用cacti來執行任務,我們直接使用root來執行任務就OK了,于是不用更改目錄權限,crontab内容為

*/5 * * * * php /var/www/cacti/poller.php >/dev/null &2>1

還有另外一種的解決方案,就是添加一個cacti使用者,更改rra和log目錄屬主為cacti,然後在cacti使用者環境下設定crontab,内容為

*/5 * * * * php /var/www/cacti/poller.php >/dev/null &2>1

這樣就能實作crontab計劃是由cacti使用者來執行的了。

建立并編輯apache的cacti配置檔案

#vi /etc/httpd/conf.d/cacti.conf

内容如下:

Alias /cacti /var/www/cacti

<Directory /var/www/cacti>

DirectoryIndex index.php

AllowOverride all

order deny,allow

allow from all

php_flag magic_quotes_gpc on

php_flag track_vars on

</Directory>

導入資料庫

#mysql –u root –p cacti < /var/www/cacti/cacti.sql

啟動服務,然後通路http://ip/cacti開始安裝cacti

#service mysqld start

#service httpd start

#service snmpd start

直接下一步,選擇”全新安裝”,來到下面的一個界面,如圖1

請确認所有路徑都已找到,并選擇SNMP應用程式版本為5.x,RRDTool版本為1.3.x。

完成之後來到登入頁面,預設使用者名admin,密碼admin,登入之後會提示你強制更改密碼。

設定計劃任務

#crontab –e

追加以下内容

*/5 * * * * php /var/www/cacti/poller.php >/dev/null &2>1

安裝ttf-arphic-ukai_0.1.20060928.orig.tar.gz字型

Tar zxvf ttf-arphic-ukai_0.1.20060928.orig.tar.gz

cd ttf-arphic-ukai-0.1.20060928

cp ukai.ttf /usr/share/fonts/zh_CN/TrueType/

cd /usr/share/fonts/zh_CN/TrueType/

ttmkfdir –d在目前目錄下會更新fonts.scale檔案,把新的字型ukai.ttf加入此檔案。

以上所有軟體安裝完。

打開Cacti,控制台->配置->設定->路徑:

将RRDTool預設字型路徑設為/usr/share/fonts/zh_CN/TrueType/ukai.tttf

配置無誤,會顯示檔案已找到。

四、    配置本機snmp

yum -y install net-snmp*  php-snmp    

編輯snmp配置檔案/etc/snmp/snmp.conf

修改:

com2sec notConfigUser  default       public

改為:

com2sec notConfigUser  127.0.0.1       public

修改:

access  notConfigGroup ""      any       noauth    exact  systemview none none

改為:

access  notConfigGroup ""      any       noauth    exact  all none none

去掉這句的注釋

#view all    included  .1                               80

重新開機snmp服務并測試

#service snmpd restart

# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex  

IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1

IP-MIB::ipAdEntIfIndex.xxx.xxx.xxx.xxx = INTEGER: 2

IP-MIB::ipAdEntIfIndex.xxx.xxx.xxx.xxx = INTEGER: 3

Cacti中文版安裝配置

顯示以上資訊,則snmp配置成功,xxx.xxx.xxx.xxx會根據你本機的IP資訊配置而不同。

Find  / -name   rrdtool  把路徑寫入下面的配置。

Cacti中文版安裝配置

圖1

如果配置正确,隔幾分鐘,我們的cacti就會有資料了,如圖2,你也可以手動執行以下指令手動生成rrd圖像

#/usr/bin/php /var/www/cacti/poller.php &>/dev/null

Cacti中文版安裝配置
Cacti中文版安裝配置
Cacti中文版安裝配置

圖2

五、    安裝Spine

由于預設cmd.php來輪詢資料,速度會很慢,特别是在監控節點比較多的情況下,cmd.php就更顯不足了,是以我們采用Spine來輪詢資料。cacti-spine是一個由C語言開發的,用于替代cmd.php的快速擷取速度的引擎。

下載下傳位址:http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz

安裝spine之前請確定它所依賴的包net-snmp-devel、mysql-devel、openssl-devel都已安裝完畢。

以下是安裝步驟

#cd /opt/soft

#wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7e.tar.gz

#tar zxvf cacti-spine-0.8.7e.tar.gz

#cd cacti-spine-0.8.7e

#./configure

#make && make install

編輯spine配置檔案

#vi /usr/local/spine/etc/spine.conf

修改内容如下:

DB_Host         localhost

DB_Database     cacti

DB_User         cacti

DB_Pass         linuxpad

DB_Port         3306

将spine啟動并設定開機自啟動

#/usr/local/spine/bin/spine

#echo /usr/local/spine/bin/spine >>/etc/rc.d/rc.local

Cacti設定:

Cacti控制台->配置->設定

路徑:将Spine輪詢器路徑設定為/usr/local/spine/bin/spine

Cacti中文版安裝配置

輪詢器:輪詢器類型選擇Spine

到此為止,我們已經成功安裝Spine輪詢器并使用。

php add_device.php --list-snmp-queries  檢視裝置類型

php add_device.php --list-host-templates 檢視主機模版

php add_device.php  --list-graph-templates  檢視圖形模版

php add_device.php --list-communities 檢視共同體名

php add_device.php --list-snmp-fields   --host-id=405 檢視主機snmp類型

php add_device.php   --list-trees #檢視樹的id

php add_device.php --list-hosts #  檢視存在主機

php -q add_tree.php --list-trees #檢視樹的ID

Cacti如何監控Mysql

Cacti如何監控Mysql:Cacti和Nagios是現在比較用得多的網絡監控軟體。cacti偏重于網絡流量,系統負載方面的監控。Nagios則比較注重于主機和服務的監控。但是他們詳細的差別在哪兒呢。本文講述的是Cacti如何監控Mysql

AD:

cacti監控mysql資料庫的方法

環境:

Cactiez或者cacti主機:192.168.12.5

被監控mysql資料庫主機:192.168.5.231

1. 安裝監控插件

1 cd /opt  

2  

3 tar -xzvf mysql-cacti-templates-1.1.2.tar.gz  

4  

5 cp /opt/mysql-cacti-templates-1.1.2/ss_get_mysql_stats.php /var/www/html/scripts/  

6  

其實裡面我們要監控mysql用到的是:acti_host_template_x_db_server_ht_0.8.6i.xml和mysql_definitions.pl

其他則是監控Apache和Nginx的,接下來我們會介紹到,這裡不再詳細的講了。

7 chown -R apache.apache /var/www/html/scripts  

8  

9 chmod -R 755 /var/www/html/scripts  

10  

使用 http 通路 cacti主機 導入

11 /opt/mysql-cacti-templates-1.1.2/cacti_host_template_x_db_server_ht_0.8.6i.xml  

12  

13 http://192.168.12.5  

14  

預設CactiEZ 和Cacti别是 admin admin

控制台 - 導入導出 - 模闆導入 - 浏覽

選中 cacti_host_template_x_db_server_ht_0.8.6i.xml

儲存

2. 配置cacti的mysql插件

修改 ss_get_mysql_stats.php

15 vi /var/www/html/scripts/ss_get_mysql_stats.php  

16  

17 $mysql_user = 'cacti';  

18  

19 $mysql_pass = 'cacti';  

20  

21 $cache_dir = "/tmp/cacti/cache/";  

22  

這個賬戶和密碼是 被監控端主機 給 Cacti主機 授權的 賬戶和密碼

Cacti需要這個賬戶和密碼去連接配接 被監控機 查詢狀态

23 mkdir -p /tmp/cacti/cache  

24  

25 chown -R apache.apache /tmp/cacti  

26  

27 chmod -R 755 /tmp/cacti  

28  

設定 cacti 緩存目錄在 /tmp/cacti/cache/ 并給予權限

3. 配置被監控端(192.168.5.231)的mysql 給 cacti 主機授權

29 mysql -uroot -p  

30  

31 grant process,super on *.* to 'cacti'@'192.168.12.5' identified by 'cacti';  

32  

33 exit  

34  

grant process,super on *.* to '賬戶'@'Cacti主機IP位址' identified by '密碼';此指令意義

隻允許IP為 192.168.12.5 的主機 以賬戶 cacti 密碼 cacti 去通路 本機資料

4. 在Cacti主機上(192.168.12.5) 監控Mysql

4.1 為主機添加mysql子產品

控制台 - 管理 - 裝置 - 選中之前建立好的主機

然後移到最下面的 添加圖形模版 選中 Mysql相關子產品 然後儲存

4.2 為mysql子產品建立圖形

控制台 - 建立 - 建立圖形 - 選中該主機 - 選中mysql子產品 - 建立

4.3 插件mysql性能資料

螢幕 - 選中該主機 - 查閱對應的mysql

完畢

-----一些資料庫操作語句

35 mysqld_safe --user=mysql &  

36  

37 mysql -uroot -p  

38  

39 mysql -uroot -proot  

40  

41 grant ALL PRIVILEGES ON *.* to ‘root’@"%" identified by "root" WITH GRANT OPTION;  

42  

43 exit  

44  

45 grant select,insert,update,delete on cacti.* to ‘cacti’@”*”identified by "cacti";  

46  

47 exit  

48  

49 grant process,super on *.* to 'cacti'@'%' identified by 'cacti';  

50  

51 grant all privileges on cacti.* to ‘cacti’@"%" identified by "cacti";  

52  

用戶端開啟Cacti通路本機mysql的權限

53 grant process,super on *.* to 'cacti'@'192.168.12.5' identified by 'cacti';  

54  

55 grant process,super on *.* to 'cacti'@'192.168.5.231' identified by 'cacti';  

56  

57 = = = = =  

58  

59 mysql -ucacti -pcacti -h 192.168.5.231  

轉載于:https://www.cnblogs.com/centos-python/articles/8532031.html