Centos配置Cacti

CentOS6.5搭建Cacti

 
一、首先要安裝Apache、PHP、MySQL、Net-SNMP和RRDTool,運用yum命令(在線安裝)安裝所有cacti依賴軟件。過程如下:
 
    #yum install mysql mysql-server php-mysql httpd php php-pdo lm_sensors net-snmp php-snmp net-snmp-utils perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL net-snmp-libs
 
注:yum安裝rrdtool中,由於rrdtool依賴的包比較多,所以請首先增加源,方式如下:
    #vi /etc/yum.repos.d/CentOS-Base.repo
文件末尾增加如下鏈接:
    [dag]
    name=Dag RPM Repository for Red Hat Enterprise Linux
    baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
    gpgcheck=1
    gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
enabled=1
(退出vi編輯器命令  :q!(退出不保存), :wq(保存並退出)
    #rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
 
安裝完成以後,可以查看以下httpd和mysqld服務的狀態
    #service httpd status
#service mysqld status
 
二、配置SNMP
    #vi /etc/snmp/snmpd.conf
--將下邊這行中的default
    com2sec notConfigUser default public
--改爲127.0.0.1
    com2sec notConfigUser 127.0.0.1 public  (注意:如果以後往cacti裏添加其他設備,只要在被監控的設備上把127.0.0.1改爲cacti服務器的地址就行了,其實這個地址就是cacti服務器地址)
--將下邊這行中的systemview
    access notConfigGroup "" any noauth exact systemview none none
--改爲all
    access notConfigGroup "" any noauth exact all none none
--將下邊這行的註釋"#"號去掉
    #view all included .1 80
--啓動snmpd服務
    #service snmpd start  (查看服務狀態的命令:service 服務名稱 status,如service snmpd status)
--啓動httpd/mysql服務
    #service httpd start
#service mysqld start
查看Apache是否運行正常的方法,瀏覽器輸入127.0.0.1,看是否出現Apache的測試頁面。
   
設置服務開機自啓的命令:
  #chkconfig xxx(需要自啓服務的名稱) on  如下例:
  #chkconfig httpd on
可以將httpd、mysqld、snmpd服務設置成開機自啓
 
三、安裝cacti
 
1、下載cacti:
    #wget http://www.cacti.net/downloads/cacti-0.8.8d.tar.gz
    #tar -zvxf cacti-0.8.8d.tar.gz
    #mv cacti-0.8.8d /var/www/html/cacti  --將其放到/var/www/html目錄下並改名
     
 
2、在數據庫中建庫、授權、導入數據庫結構
 
請記得給數據庫root設置一個密碼,以保護安全。可以使用如下的命令來設置數據庫root的密碼:
#mysqladmin --user=root password somepassword
#mysqladmin --user=root --password reload  --爲用戶root設置數據庫密碼
#mysql -u root   --使用root身份登陸mysql,如 mysql -u root –p
    mysql> create database cacti;  --創建一個名爲cacti的數據庫
mysql> grant all privileges on cacti.* to cacti@localhost(Linux用戶主機名) identified by 'cacti'(該用戶登錄數據庫的密碼)with grant option;
例如:mysql> grant all privileges on cacti.* to root@localhost identified by 'root' with grant option;  --授權用戶root的(遠程)連接權限
mysql> grant all privileges on cacti.* to [email protected] identified by 'cacti' with grant option;
mysql> grant all on cacti.* to root;
mysql> grant all on cacti.* to root@localhost;
mysql> grant all on cacti.* to cacti;
mysql> grant all on cacti.* to cacti@localhost;
     
    mysql> use cacti;  --啓用cacti數據庫
    mysql> source /var/www/html/cacti/cacti.sql;  --導入數據庫結構
mysql> quit  --退出數據庫
退出數據庫後,可以嘗試root是否還可以重新登錄mysql。
 
--配置cacti以連接數據庫
    #vi /var/www/html/cacti/include/config.php
     
    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "root";
    $database_password = "剛纔設置的mysql數據庫root的密碼";
    $database_port = "3306";
     
 
3、添加cacti用戶,否則cacti不能寫入rrd和log目錄,將會無法生成圖片(如果使用root用戶,則可以不用添加,跳過該步驟)
 
    #useradd cacti -d /var/www/html/cacti -s /bin/false
    #chown -R cacti /var/www/html/cacti/rra /var/www/html/cacti/log
 
4、增加入一個計劃任務,使得 cacti 每五分鐘生成一個監控圖表。
 
    #crontab -e
 
--加入如下內容。注意poller.php的路徑
 
    */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
 
有可能存在crontab命令沒有安裝的情況,具體安裝方法如下:
1. 確認crontab是否安裝:
執行 crontab 命令如果報 command not found,就表明沒有安裝
2. 安裝 crontab
執行 yum install -y vixie-cron
3. 確認是否安裝成功:
執行 crontab -l
4. 看是否設置了開機自動啓動
chkconfig --list crond
5. 啓動crontab
service crond start
 
--如果暫時未看到圖表,可以手工執行,生成圖表
#php /var/www/html/cacti/poller.php > /dev/null 2>&1
 
5、到處完成cacti最後的配置,在瀏覽器輸入:http://localhost/cacti,將進入cacti登錄頁面,第一次登錄用戶名和密碼都是admin,它會要求你立即設置新密碼。
6、完成設置後,通過http://localhost/cacti/,添加要監控的服務器、交換機等等。
 
四、錯誤處理:
 
1、字體在圖形中顯示不正常的解決方法:下載並安裝cjkuni-fonts中文字體,字體名ukai.ttf;
 
    #wget http://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
     
 
2、cacti無法顯示監控圖表的解決方法:
 
1)    查看/var/www/html/cacti/rra目錄是否可寫,設置用戶權限;
2)    系統時間設置問題;
3)    RRDTool版本設置是否正確(查看RRDTool版本命令:#rrdtool -v),設置方法:Console -> Cacti Settings -> Genera -> RRDTool Utility Version -> RRDTool 1.3.X;(根據自己安裝的rrdtool選擇,查看rrdtool版本的方法:rrdtool -v)
 
3、登陸http://localhost/cacti訪問cacti管理頁面,提示如下:
You don't have permission to access /cacti on this server.
原因是SeLinux的設置導致權限問題,因此,我們需要關閉 Selinux
 
1).查看SELinux狀態:
# /usr/sbin/sestatus -v      // 如果SELinux status參數爲enabled即爲開啓狀態
SELinux status:  enabled
# getenforce                      //也可以用這個命令檢查
 
2).關閉SELinux:
a、臨時關閉(不用重啓機器):
# setenforce 0                       // 設置SELinux 成爲permissive模式  (關閉SELinux)
# setenforce 1                       // 設置SELinux 成爲enforcing模式     (開啓SELinux)
 
b、修改配置文件需要重啓機器:
# vi /etc/selinux/config
將SELINUX=enforcing 改爲SELINUX=disabled
重啓機器即可
 
 
附註:
在CentOS下添加和刪除用戶命令:
添加用戶 test:adduser test
修改test密碼:passwd test
刪除用戶test: userdel test
刪除用戶以及用戶目錄: userdel -f test
 
Service httpd start
Service mysqld start
Service snmpd start
Service crond start
Setenforce 0
Iptables –F
 
設置IP地址、網關、DNS
 
約定:
第一塊網卡爲外網
第二塊網卡爲內網(沒有外網的機器也要將內網配置在第二塊網卡上)
 
說明:CentOS 6.5默認安裝好之後是沒有自動開啓網絡連接的!
輸入賬號root
再輸入安裝過程中設置的密碼,登錄到系統
 
vi  /etc/sysconfig/network-scripts/ifcfg-eth0   #編輯配置文件,添加修改以下內容
 
BOOTPROTO=static   #啓用靜態IP地址
ONBOOT=yes  #開啓自動啓用網絡連接
IPADDR=192.168.21.129  #設置IP地址
NETMASK=255.255.255.0  #設置子網掩碼
GATEWAY=192.168.21.2   #設置網關
DNS1=8.8.8.8 #設置主DNS
DNS2=8.8.4.4 #設置備DNS
IPV6INIT=no  #禁止IPV6
:wq!  #保存退出
 
service ip6tables stop   #停止IPV6服務
chkconfig ip6tables off  #禁止IPV6開機啓動
service yum-updatesd stop   #關閉系統自動更新
chkconfig yum-updatesd off  #禁止開啓啓動
service network restart  #重啓網絡連接
ifconfig  #查看IP地址
 
設置主機名
 
約定:
主機名命名規範:業務.機房.主備.域名
這裏設置主機名爲:bbs.hz.m.osyunwei.com
 
1、hostname “bbs.hz.m.osyunwei.com”
#設置主機名爲bbs.hz.m.osyunwei.com
2、vi /etc/sysconfig/network  #編輯配置文件
HOSTNAME= bbs.hz.m.osyunwei.com
#修改localhost.localdomain爲bbs.hz.m.osyunwei.com
:wq!  #保存退出
3、vi /etc/hosts #編輯配置文件
127.0.0.1  bbs.hz.m.osyunwei.com localhost
#修改localhost.localdomain爲bbs.hz.m.osyunwei.com
:wq!  #保存退出
shutdown -r now  #重啓系統
 
Linux修改主機名
 
1.臨時修改主機名
顯示主機名:
spark@master:~$ hostname
master
修改主機名:
spark@master:~$ sudo hostname hadoop
spark@master:~$ hostname
hadoop
PS:以上的修改只是臨時修改,重啓後就恢復原樣了。

2.永久修改主機名
redhat/centos上永久修改
 
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.10.1
修改network的HOSTNAME項。點前面是主機名,點後面是域名。沒有點就是主機名。
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=master
這個是永久修改,重啓後生效。目前不知道怎麼立即生效。
想立即生效,可以同時採用第一種方法。
 
還有一個修改是:
/etc/hosts
127.0.0.1              localhost.localdomain
127.0.0.1後面的那一部分。
 
deb/ubuntu上修改:
 
hostname
localhost.localdomain
sudo vi /etc/hostname
在/etc/hostname裏面直接填上hostname爲master
spark@localhost:~$ cat /etc/hostname
localhost
重啓後,提示符變成了。
spark@master:~$
如果不想重啓,則用hostname名令。
 
3. 其他修改方式
 
用sysctl 修改kernel.hostname
查看:
spark@master:~$ sysctl kernel.hostname
kernel.hostname = master
修改:
spark@master:~$ sudo sysctl kernel.hostname=hadoop
kernel.hostname = hadoop
 
重新打開shell就變成如下hostname了hadoop
 
spark@master:~$
 
centos徹底刪除mysql
 
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
查看是否還有mysql軟件:
rpm –qa | grep mysql
有的話繼續刪除


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章