cacti config.php,cacti监控系统的安装配置
1、cacti簡介
1)、cacti是用php語言實現(xiàn)的一個軟件,它的主要功能是用snmp服務(wù)獲取數(shù)據(jù),然后用rrdtool儲存和更新數(shù)據(jù),當(dāng)用戶需要查看數(shù)據(jù)的時候用rrdtool生成圖表呈現(xiàn)給用戶。因此,snmp和rrdtool是cacti的關(guān)鍵。Snmp關(guān)系著數(shù)據(jù)的收集,rrdtool關(guān)系著數(shù)據(jù)存儲和圖表的生成。
2)、mysql配合PHP程序存儲一些變量數(shù)據(jù)并對變量數(shù)據(jù)進行調(diào)用,如:主機名、主機ip、snmp團體名、端口號、模板信息等變量。
3)、snmp抓到數(shù)據(jù)不是存儲在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目錄的rra文件夾下)。rrdtool對數(shù)據(jù)的更新和存儲就是對rrd文件的處理,rrd文件是大小固定的檔案文件(Round Robin Archive),它能夠存儲的數(shù)據(jù)筆數(shù)在創(chuàng)建時就已經(jīng)定義。
2、軟件包準備
cacti-0.8.8b.tar.gz
httpd-2.2.23.tar.gz
php-5.4.10.tar.gz
cmake-2.8.11.2.tar.gz
mysql-5.5.28.tar.gz
rrdtool-1.4.8.tar.gz
net-snmp-5.7.2.1.tar.gz
Python-2.7.6.tgz
libxml2-2.9.1.tar.gz
zlib-1.2.8.tar.gz
jpegsrc.v9a.tar.gz
libpng-1.6.12.tar.gz
freetype-2.5.3.tar.gz
libart_lgpl-2.3.21.tar.gz
gettext-0.19.2.tar.xz
libgd-2.1.0.tar.gz
curl-7.37.1.tar.gz
3、apache安裝配置
# tar zxvf httpd-2.2.23.tar.gz
# cd httpd-2.2.23
# ./configure --prefix=/usr/local/apache2 --enable-so
# make && make install
# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
4、mysql安裝配置
# tar zxvf cmake-2.8.11.2.tar.gz
# cd cmake-2.8.11.2
# ./configure
# make && make install
# groupadd mysql
# useradd mysql
# tar zxvf mysql-5.5.28.tar.gz
# cd mysql-5.5.28
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ ?-DMYSQL_DATADIR=/usr/local/mysql/data ?-DWITH_INNOBASE_STORAGE_ENGINE=1 ?-DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock ?-DMYSQL_USER=mysql ?-DWITH_DEBUG=0
# make && make install
# vim /root/.bashrc
PATH=/usr/local/mysql/bin:${PATH}
export PATH
# source /root/.bashrc
# cp support-files/my-medium.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# chmod 755 /usr/local/src/mysql-5.5.28/scripts/mysql_install_db
# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# chown -R mysql.mysql /usr/local/mysql/data
# service mysqld start
# mysqladmin -uroot password 123456
# mysqladmin --user=root -p create cacti
# mysql -uroot -p cacti
mysql>GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
mysql>flush privileges;
5、GD安裝配置
1)、安裝libxml2
# tar zxvf Python-2.7.6.tgz #貌似只能是這個版本,否則編譯libxml2時會報錯
# cd Python-2.7.6
# ./configure --prefix=/usr/local/python
# make && make install
# tar zxvf libxml2-2.9.1.tar.gz
# cd libxml2-2.9.1
# ./configure --prefix=/usr/local/libxml2
# make && make install
2)、安裝zlib
# tar zxvf zlib-1.2.8.tar.gz
# cd zlib-1.2.8
# ./configure --prefix=/usr/local/zlib2
# make && make install
# yum install -y zlib-devel
3)、安裝jpegsrc
# tar zxvf jpegsrc.v9a.tar.gz
# cd jpeg-9a
# ./configure --prefix=/usr/local/jpegsrc9
# make && make install
4)、安裝libpng
# tar zxvf libpng-1.6.12.tar.gz
# cd libpng-1.6.12
# ./configure --prefix=/usr/local/libpng2
# make && make install
5)、安裝freetype
# tar zxvf freetype-2.5.3.tar.gz
# cd freetype-2.5.3
# ./configure --prefix=/usr/local/freetype2
# make && make install
6)、安裝libart_lgpl
# tar zxvf libart_lgpl-2.3.21.tar.gz
# cd libart_lgpl-2.3.21
# ./configure --prefix=/usr/local/libart
# make && make install
7)、安裝gettext
# xz -d gettext-0.19.2.tar.xz
# tar xvf gettext-0.19.2.tar
# cd gettext-0.19.2
# ./configure --prefix=/usr/local/gettext
# make && make install
8)、安裝GD
# tar zxvf libgd-2.1.0.tar.gz
# cd libgd-2.1.0
9)、安裝curl
# tar zxvf curl-7.37.1.tar.gz
# cd curl-7.37.1
# ./configure --prefix=/usr/local/curl
# make && make install
6、php安裝配置
# yum install -y libxml2-devel freetype-devel
# tar zxvf php-5.4.10.tar.gz
# cd php-5.4.10
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg9/ --with-png-dir=/usr/local/libpng2/ --with-gd --with-freetype-dir=/usr/local/freetype2/ --with-zlib-dir=/usr/local/zlib2/ --with-mysql=/usr/local/mysql --with-curl=/usr/local/curl --with-gettext=/usr/local/gettext --enable-sockets
# make && make install
# cp php.ini-development /usr/local/php/lib/php.ini
# ln -s /usr/local/php/bin/php /usr/bin
# vim /usr/local/apache2/conf/httpd.conf
在#AddType application/x-tar.tgz后追加:AddType application/x-httpd-php .php
在#LoadModule foo_module modules/mod_foo.so后追加:LoadModule php5_module ?modules/libphp5.so
在DirectoryIndexindex.html后面追加index.php
7、rrdtool安裝配置
# yum install -y freetype-devel libart_lgpl-devel gd-devel cairo cairo-devel pango pango-devel
# tar zxvf rrdtool-1.4.8.tar.gz
# cd rrdtool-1.4.8
# ./configure --prefix=/usr/local/rrdtool
# make && make install
# ln -s /usr/local/rrdtool/bin/rrdtool /usr/bin
8、net-snmp安裝配置
# tar zxvf net-snmp-5.7.2.1.tar.gz
# cd net-snmp-5.7.2.1
# ./configure --prefix=/usr/local/net-snmp
# make && make install
# ln –s /usr/local/net-snmp/bin/* /usr/local/bin/
# cp /usr/local/src/net-snmp-5.7.2.1/EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf
# vim /usr/local/net-snmp/share/snmp/snmpd.conf
添加以下內(nèi)容
view ? ?all ? ? ? ? ? included ? .1
view ? ?systemview ? ?included ? .1.3.6.1.2.1.2
# /usr/local/net-snmp/sbin/snmpd
# lsof -i:161
COMMAND ? PID USER ? FD ? TYPE DEVICE SIZE/OFF NODE NAME
snmpd ? 41107 root ? ?8u ?IPv4 616363 ? ? ?0t0 ?UDP localhost:snmp
# snmpwalk -v 1 -c public localhost system
# vim /etc/rc.d/rc.local
追加以下內(nèi)容,開機自啟動
/usr/local/net-snmp/sbin/snmpd
# 關(guān)于snmpd.conf的內(nèi)容還可以引用以下配置
com2sec notConfigUser ?default ? ? ? test
group ? notConfigGroup v1 ? ? ? ? ? notConfigUser
group ? notConfigGroup v2c ? ? ? ? ? notConfigUser
view ? ?all ? ? ? ? ? included ? .1
view ? ?systemview ? ?included ? .1.3.6.1.2.1.1
view ? ?systemview ? ?included ? .1.3.6.1.2.1.2
view ? ?systemview ? ?included ? .1.3.6.1.2.1.25.1.1
access ?notConfigGroup "" ? ? ?any ? ? ? noauth ? ?exact ?all none none
com2sec local ? ? localhost ? ? ? ?test
com2sec mynetwork 10.0.2.0/24 ? ? ?test
view mib2 ? included ?.iso.org.dod.internet.mgmt.mib-2 fc
9、cacti安裝配置
# tar zxvf cacti-0.8.8b.tar.gz
# mv cacti-0.8.8b /usr/local/cacti
# vim /usr/local/apache2/conf/httpd.conf
DocumentRoot "/usr/local/apache2/htdocs" => DocumentRoot "/usr/local/cacti"
=>
# vim /usr/local/cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactipassword";
$database_port = "3306";
$database_ssl = false;
/* load up old style plugins here */ ? #enable plugins
$plugins = array();
//$plugins[] = 'thold';
# useradd cactiuser
# chown -R cactiuser.cactiuser ./rra ./log
# service httpd restart
# rrdtool fetch localhost_users_6.rrd AVERAGE|MAX#查看rrd文件是否有數(shù)據(jù)
10、被監(jiān)控機安裝snmp服務(wù)
# yum install -y net-snmp*
# vim /etc/snmp/snmpd.conf
view ? ?all ? ? ? ? ? included ? .1
view ? ?systemview ? ?included ? .1.3.6.1.2.1.2
# service snmpd start
# lsof -i:161
11、問題匯總
問題1:
Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /usr/local/apache2/htdocs/cacti/include/global_constants.php on line 165
解決方法:
# vim /usr/local/php/lib/php.ini
修改
date.timezone = PRC
并取消注釋
問題2:
PHP Strict Standards: ?Only variables should be passed by reference in /usr/local/nginx/html/cacti/lib/ping.php on line 382
解決方法:
socket_select($r = array($this->socket), $w = NULL, $f = NULL, $to_sec, $to_usec){
=>修改為
$r = array($this->socket);
$w = NULL;
$f = NULL;
switch(socket_select($r, $w, $f, $to_sec, $to_usec)){
問題3:
WARNING: Cron is out of sync with the Poller Interval! ?The Poller Interval is '300' seconds, with a maximum of a '300' second Cron, but 2135 seconds have passed since the last poll!
解決方法:
*/1 ? ? * ? ? ? * ? ? ? * ? ? ? * ? ? ? /usr/bin/php /usr/local/apache2/htdocs/cacti/poller.php ?> /dev/null 2>&1
總結(jié)
以上是生活随笔為你收集整理的cacti config.php,cacti监控系统的安装配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux登oracle登陆不了,ora
- 下一篇: oracle查询grant信息,Orac