閱讀291 返回首頁    go 中電雲集


cacti 安裝與配置

Cacti中文版RPM快速安裝2009-10-05 15:06環境:

RHEL 5.2

自己搭建一個yum源,可以避免RPM包安裝時的關聯性

//怎麼搭建,請看前麵的文章

https://hi.baidu.com/bubu600/blog/item/abe2c5b3bb587cadd8335a5e.html

1.基本安裝

cacti是運作在apache+php+mysql+net-snmp工具集+rrdtool這樣的一個工作環境之下,所以我們先要做一個基本的工作的環境

#yum -y install mysql mysql-server php-mysql httpd php

上麵完成一個php,http,mysql的環境,接下來安裝要用到的包

#yum -y install php-pdo lm_sensors net-snmp php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL

注意:這裏有幾個包在RHEL5.2的包裏麵沒有

我分別列出來:

perl-Net-Daemon

perl-PlRPC

rrdtool

perl-rrdtool

這幾個包可以到

https://rpmfind.net/這個裏麵搜素,選擇對應係統版本的包,我用的RHEL5.2×86-64的,所以我選擇的是DAG packages for Red Hat Linux el5 x86_64 這個對應的包

還有一個需要注意的是,在安裝rrdtool時 還需要下載一個包rrdtool-devel,而且rrdtool perl-rrdtool rrdtool-devel要一起安裝,如rpm -ivh rrdtool perl-rrdtool rrdtool-devel

安裝完,啟動相關的程式,和設置開機啟動

#chkconfig mysqld on

#chkconfig httpd on

#server mysqld start

2.數據庫設置

準備數據庫,和設置權限,安裝cacti。

#mysql -uroot -p

mysql>create database cacti default character set utf8;

mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON cacti.* TO cacti@localhost IDENTIFIED BY ‘passwd’;

mysql>flush privileges;

mysql> \q

3.下載安裝

下載中文的cacti,解壓到/var/www/cacti.後進入cacti的目錄.導入cacti的數據結構

下載地址: cacti-0.8.7b-cn-utf8.tar.gz

# cd /var/www/cacti

# mysql -u cacti -p cacti < cacti.sql

修改配置文件

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

$database_type = “mysql”;

$database_default = “cacti”;

$database_hostname = “localhost”;

$database_username = “cacti”;

$database_password = “passwd”;

$database_port = “3306″;

添加cacti用戶

#useradd cacti

#chown -R cacti /var/www/cacti/rra /var/www/cacti/log

#chgrp -R cacti /var/www/cacti

#chmod 664 /var/www/cacti/poller.php

這個上麵可能添加不行試試:

#chown -hR cacti /var/www/cacti/rra /var/www/cacti/log

4. 配置httpd服務器的配置文件

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

Alias /cacti /var/www/cacti

<Directory /var/www/cacti>

DirectoryIndex index.php

AllowOverride all

order deny,allow

deny from all

allow from all

AddType application/x-httpd-php .php

php_flag magic_quotes_gpc on

php_flag track_vars on

</Directory>

重起httpd的服務,讓上麵的修改生效

# /etc/init.d/httpd restart

5.測試安裝是否正常

打開下麵的url.

https://server.ip.or.name/cacti

打開網站,點next.選擇new install,使用一路回車法.最後完成

最後的用戶名為: admin 密碼為: admin

6.收尾

讓係統每5分鍾收集,需要

crontab -e -u cacti

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

第一運行 poller.php一定是cacti賬戶 否則後麵的數據將無法寫入

7。字體在圖形中顯示不正常的解決方法

下載並安裝cjkuni-fonts中文字體,字體名ukai.ttf,下載地址

https://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/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/ukai.ttf

安裝完成後注意在”設置”中更改下麵兩個必改項.

常規->RRDTool應用程序版本 改為1.2.x,默認為1.0.x.不改可能圖像不能正常顯示出來.

路徑->RRDTool默認字體路徑 改為上麵安裝的ukai.ttf的文件路徑,如/usr/share/fonts/ukai.ttf

8,被監控主機snmp文件設置

被監控主機需要配置snmp.(謝謝網友園園的提醒)

vi /etc/snmp/snmpd.conf

更改

com2sec notConfigUser default public

改為

com2sec notConfigUser 127.0.0.1 public

2、更改

access notConfigGroup “” any noauth exact systemview none none

改為

access notConfigGroup “” any noauth exact all none none

3、#view all included .1 80

將前麵的 # 注釋 去掉。

保存退出

9.測試snmp是否正常

#snmpwalk -c public -v 2c localhost

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

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

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

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

也可以用snmpd -f -Le 命令查看當前有沒有出什麼錯

FQA:

1如果磁盤監控不到

請使用Cacti 中自帶的模板 ucd/net – Get Monitored Partitions ,然後在被監控的機器的snmpd.conf(/etc/snmp/snmpd.conf)中加入

disk / (比如我們監視根分區)

然後可以用snmpwalk -v 1 -c public 192.168.0.52 dsktable這個命令來檢查

2.如果圖出不來

1.檢查你的主機是不是活的,一定要能測試通過,狀態是活的才行,可以用命令來檢查是否有輸出

2.另外cacti默認選擇的rrdtool的版本是RRDTool 1.1.x 的!—-點擊Console->System Utilities->Technical Support->RRDTool Version選擇RRDTool 1.2.x,不然有可能出不了圖.

3.網卡流量達到100M以上圖像有問題?

這與snmp的版本有關,snmp1的數據是32位而snmp2c以上是64位(AS4默認是不支持64位的)。

1.首先要確定你使用的是snmp2c或以上,是否支持64位MIB庫.如下如果返回的有幾行含有“Counter64:”的話.那麼表明是支持的。

#snmpwalk -c public -v 2c localhost IF-MIB::ifHCInOctets

IF-MIB::ifHCInOctets.1 = Counter64: 3174458

IF-MIB::ifHCInOctets.2 = Counter64: 1585772167

IF-MIB::ifHCInOctets.3 = Counter64: 35696997927

IF-MIB::ifHCInOctets.4 = Counter64: 0

2.然後點擊Cacti的頁麵:“Console ->; Create New Graphs ->;Data Query”。你在下麵看到“Select a graph type:”的下拉菜單(默認是“In/Out bits”),要取64bits的數據所以將其改為“In/Out bits(64-bit Counters)”,然後選擇你要監測的網卡即可。另外,該監測點的“Maximum Value”必須設置為100M以上。

3.設備管理中,選擇的主機中的SNMP版本,一定要是2.

4.RedHat AS4的(net-snmp5.2以下不支持)snmp不支持64位計數器的解決方法(本方法由嘻嘻哈哈提供 https://www.haw-haw.org/node/654)

可以下載一個src.rpm再在/usr/src/redhat/SPECS/net-snmp.spec文件的configure下加上一句–enable-mfd-rewrites \

然後再

#cd /usr/src/redhat/

#rpmbuild -bb SPECS/net-snmp.spec

生成一堆的x86_64.rpm在/usr/src/redhat/RPMS/x86_64下,如果是32位的就在i386下.在安裝就行了.

注 :64位計數器是在net-snmp 5.2上新加入的IF-MIB ,它可以轉換更多的 MIB 對象 (e.g. ifXTable with 64-bit ifHC* counters). 所有象RHEL4,Centosd4上,如果使用默認的5.2的src包,就算加入了enable-mfd-rewrites其實也是不行的.所以要下載5.2的src包來安裝.

下載地址

net-snmp5.2.src.rpm

這個包中默認就加入了enable-mfd-rewrites.下載後,直接用上麵方法中的rpmbuild -bb SPECS/net-snmp.spec編譯後安裝就行.

這個有時還得不到數據,要注意你的snmpd.conf是否配置對了.其中的如下,read選項要是全部.

access notConfigGroup “”      any       noauth    exact all none none

如果不想編譯,可以下載在這下載redhat4的rpm直接安裝就行了

https://ftp.freshrpms.net/pub/freshrpms/redhat/testing/EL4/net-snmp/

源 : https://www.php-oa.com/2008/01/12/centos5-cacti.html

===========

這篇文章大部分是參考 cacti搭建參考_扶凱 我修正了裏麵的一些錯誤。

這個隻是前期的一些搭建,cacti還有很多插件模版 等等需要大家慢慢鑽研!

最後更新:2017-01-04 22:34:32

  上一篇:go 在linux下建立ISO的鏡象文件的方法
  下一篇:go 如何安裝yum工具