cacti-0.8.8a+nagios-3.4.3

cacti+nagios:看了網上好多的文檔,自己實驗整理了一下,都是用的最新軟件,與大家分享,如有問題之處請批評指正!
所有軟件在我的51cto下載也可以下載到這是下載地址http://down.51cto.com/data/656170
環境:
系統:Linux Centos5.5
Web:httpd-2.2.3-65.el5.centos.3
MySQL:mysql-5.0.95-1.el5_7.1
PHP:php-5.1.6-39.el5_8
Cacti:cacti-0.8.8a
Nagios:nagios-3.4.3
nagios-plugins-1.4.16
一、配置LAMP環境

1、yum安裝所需軟件
安裝開發工具,解決編譯時缺少庫文件的問題
yum groupinstall "Development Tools"
Cacti中文是運作在apache+php+mysql+net-snmp工具集+rrdtool這樣的一個工作環境之下,所以我們先要做一個基本的工作的環境
yum -y install mysql mysql-server php-mysql mysql-devel httpd php php-devel gd-devel
上面完成一個php,http,mysql的環境,接下來安裝要用到的包
yum -y install php-pdo lm_sensors net-snmp php-snmp net-snmp-utils net-snmp-devel perl-Net-Daemon perl-PlRPC perl-DBI rrdtool perl-rrdtool perl-DBD-MySQL
下面兩個軟件包yum安裝找不到,可在下面地址手動下載安裝
perl-PlRPC
wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/perl-PlRPC-0.2020-1.el5.rf.noarch.rpm
perl-Net-Daemon
wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/perl-Net-Daemon-0.43-1.el5.rf.noarch.rpm

2、下載所需軟件到:/usr/local/src
下載Rrdtool/這是兩個版本的下載地址,可根據需要自己選擇
wget http://packages.express.org/rrdtool/rrdtool-perl-1.2.30-1.el5.wrl.i386.rpm
wget http://packages.express.org/rrdtool/rrdtool-1.2.30-1.el5.wrl.i386.rpm
wget http://packages.express.org/rrdtool/rrdtool-devel-1.2.30-1.el5.wrl.i386.rpm
wget http://packages.express.org/rrdtool/rrdtool-1.4.5-1.el5.wrl.i386.rpm
wget http://packages.express.org/rrdtool/rrdtool-perl-1.4.5-1.el5.wrl.i386.rpm
wget http://packages.express.org/rrdtool/rrdtool-devel-1.4.5-1.el5.wrl.i386.rpm
cacti文件下載
wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7g-PA-v2.8.tar.gz
nagios文件下載
wget http://jaist.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.1/nagios-3.4.1.tar.gz
wget http://jaist.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.4.3/nagios-3.4.3.tar.gz
Nagios-plugins下載
wget http://jaist.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
ndoutils
wget http://jaist.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.5.2/ndoutils-1.5.2.tar.gz


3、設置httpd mysqld snmpd開機啓動,並啓動
chkconfig --level 35 mysqld on
chkconfig --level 35 httpd on
chkconfig --level 35 snmpd on
service httpd start
service mysqld start
service snmpd start
4、配置PHP
1.激活PHP擴展
vi /etc/php.ini
extension_dir="usr/lib/php/modules"/默認已開啓
2.激活mysql擴展
vi /etc/php.d/mysql.ini
extension=mysql.so

5、配置Apache
配置支持PHP //默認已經支持再確認一下
vi /etc/httpd/conf.d/php.con
LodModule php5_module modules/libphp5.so
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
6、配置mysql數據庫
mysqladmin -u root password centos


二、Cacti安裝配置
1、安裝rrdtool
cd /usr/local/src
yum localinstall rrdtool-* --nogpgcheck
2、安裝cacti
useradd -s /sbin/nologin cacti
cd /usr/local/src
tar zxvf cacti-0.8.8a.tar.gz -C /var/www/
cd /var/www/
ln -s cacti-0.8.8a cacti
chown -R root.root cacti-0.8.8a/
cd cacti
chown -R cacti.cacti log rra

3、配置mysql數據庫Cacti用戶
mysql -uroot -p
mysql>create database cacti default character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE,LOCK TABLES,CREATE TEMPORARY TABLES,DROP,REFERENCES ON Cacti.* TO Cacti@localhost IDENTIFIED BY 'passwd';
Query OK, 1 row affected (0.00 sec)
mysql>flush privileges;
Query OK, 1 row affected (0.00 sec)
\q

4、導入cacti數據庫
cd /var/www/cacti
mysql -u cacti -p cacti <cacti.sql

5、配置mysql連接參數
vi /var/www/cacti/include/config.php
/* make sure these values refect your actual database/host/user/password */
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti.centos.";
$database_port = "3306";
$database_ssl = false;
vi include/global.php
/* Default database settings*/
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti.centos.";
$database_port = "3306";
$database_ssl = false;

/* define default url path */
$url_path = "/";

6、修改httpd配置文件
vi /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/cacti"
<Directory "/var/www/cacti">

保存退出並重啓httpd
service httpd restart
7、初始化cacti
http://192.168.35.192
配置rrdtool等文件路徑
默認用戶名密碼:admin

8、安裝cacti-spine
cd /usr/local/src
tar zxvf cacti-spine-0.8.8a.tar.gz
cd cacti-spine-0.8.8a
./configure
make
make install
cd /usr/local/spine/etc
cp spine.conf.dist spine.conf
vi spine.conf//配置一下內容
DB_Hostlocalhost
DB_Databasecacti
DB_Usercacti
DB_Passcacti.centos.
DB_Port3306
DB_PrgG0

啓用spine
登錄cacti的網頁,點擊Settings,在頁面上方點擊Paths,找到Alternate Poller Path,寫入spine的路徑:/usr/local/spine/bin/spine,然後點擊Save保存。
再點擊頁面上方的Poller,找到Poller Typer項,在下拉列表中選擇spine,然後點擊Save保存。

9、定製自動收集數據
crontab -u cacti -e
*/5 * * * * /usr/bin/php /var/www/cacti/poller.php &> /dev/null
service crond restart

三、被監控端配置
1、安裝snmp服務
yum install lm_sensors net-snmp
2、修改配置文件如下:(這裏我省略掉了#行和空行)
# vim /etc/snmp/snmpd.conf
com2sec notConfigUser default public
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
access notConfigGroup "" any noauth exact mib2 none none
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat

3、重啓服務
# service snmpd restart
到此就差不多了,我們可以做些檢測在服務器上,有信息返回說名正常:
# snmpwalk -v 2c -c public ServerIP if


四、Nagios安裝配置
1、創建Nagios用戶和組
groupadd nagcmd
useradd -G nagcmd nagios
把apache加入到nagcmd組,以便通過 web Interface操作nagios時具有足夠的權限
usermod -a -G nagcmd apache
2、編譯安裝Nagios
cd /usr/local/src
tar zxvf nagios-3.3.4.tar.gz
cd nagios
./configure --sysconfdir=/etc/nagios --with-command-group=nagcmd --enable-enent-broker
make all
make install
make install-init
make install-commandmode
make install-config
創建Nagios的web接口
make install-webconf
創建用戶配置文件
htpasswd -c /etc/nagios/htpasswd.users nagiosadmin
把nagios添加成系統服務並開機啓動
chkconfig --add nagios//將nagios添加到服務
chkconfig --level 35 nagios on//設置開機啓動

3.安裝nagios插件
cd /usr/local/src
tar /nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

4、允許nagios運行cgi
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin
chcon -R -t httpd_sys_content_t /usr/local/nagios/share
或者直接關閉selinux
setenforce=0

5、添加監控主機服務
cd /etc/nagios/objects/
(1)hosts.cfg定義主機文件
define host{
uselinux-server
hostnamelocalhost
aliasmyhost
address127.0.0.1
}
(2)services.cfg定義主機服務
define service{
uselocal_service//引用local_service的屬性信息,在template.cfg中定義
hostnamelocalhost//被監控主機,在hosts.cfg中定義
service_description ssh//監控內容描述
check_command check_ssh//指定監控命令,在commands.cfg中定義
}
define service{
use local-service
host_namelocalhost
service_description Ping
chk_command check_Ping
}
chown -R nagios.nagios /etc/nagios/etc/objects

修改nagios.cfg文件,添加路徑信息:
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
測試nagios.cfg配置文件配置是否正確
/usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
service nagios restart
service httpd restart


五、整合cacti和nagios
1、安裝json使php支持json
npc展示部分用到json,需要在php中安裝php-json的支持,centos 5下的php 版本默認是5.1.6 不帶json支持,無法簡單地通過yum install php5-json方式來安裝。

cd /usr/local/src
tar jxvf php-json-ext-1.2.1.tar.bz2
cd php-json-ext-1.2.1
./configure
make
make install

vi /etc/php.ini 添加以下行
extension=json
或者
vi/etc/php.d/json.ini
extension=json.so
保存退出

php -m//檢查php是否支持json
或者在網站根目錄下建一個phpinfo.php文件測試
<?php
phpinfo();
?>

2、安裝ndoutils
ndoutils是將Nagios的配置及監控信息存儲到數據庫裏,NPC通過調用ndo所存儲的數據來展現Nagios的信息。ndoutils需要用到mysql的mysql-lib及mysql-inc,因此需要安裝mysql-devel。由於剛裝系統的時候已經裝過了.這個軟件本節就不用安裝.
cd /usr/local/src
tar zxvf ndoutils-1.5.2.tar.gz
cd ndoutils-1.5.2
./configure --prefix=/usr/local/nagios/ --sysconfdir=/etc/nagios --enable-mysql --disable-pgsql
make
make install(不需要 make install)

cp src/{nodmd-3x.o,ndo2db-3x,file2sock,log2ndo} /usr/local/nagios/bin
chown nagios:nagios /usr/local/nagios/bin/
cp config/ndo2db.cfg-sample /etc/nagios/ndo2db.cfg
cp config/ndomod.cfg-sample /etc/nagios/ndomod.cfg
chown nagios.nagios /etc/nagios/ndo*
chmod 644 /etc/nagios/nod*

3、修改配置文件,鏈接數據庫
vi /etc/nagios/ndo2db.cfg
ndo2db_user=nagios
ndo2db_group=nagcmd
socket_type=tcp
db_host=localhost
db_port=3306
db_name=cacti
db_prefix=npc_
db_user=cacti
db_pass=cact.centos.
debug_level=1

vi /etc/nagios/ndomod.cfg
output_type=tcpsocket
output=localhost

4、添加啓動腳本,並修改Ndo2dbBin
cd /usr/local/src/ndoutils-1.5.2/
cp daemon-init /etc/init.d/ndo2db
vi /etc/init.d/ndo2db
Ndo2db=/usr/local/ngaios/bin/ndo2db-3x

chmod +x /etc/init.d/ndo2db
chkconfig --add ndo2db
chkconfig --level 35 ndo2db on
service ndo2db start
5、安裝npc
cd /usr/local/src/
tar zxvf npc-2.0.4.tar.gz -C /var/www/cacti/plugins/npc
6、修改nagios添加信息
vi /etc/nagios/nagios.cfg
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg
event_broker_options=-1

service nagios restart
7、安裝npc
console-->Plugin Management-->
配置npc
console-->settings-->npc
勾選Remote Commands
Nagios command File Path/usr/local/nagios/var/rw/nagios.cmd
Nagios URL http://IP/nagios
然後save
8、如果不出圖可能是數據格式問題
mysql -u cacti -p
mysql>alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;
mysql>alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;
mysql>alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;
mysql>alter table npc_notifications add long_output TEXT NOT NULL default '' after output;
mysql>alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;
mysql>alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;
mysql>alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;
mysql>alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;
到此cacti+nagios配置完成
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章