cacti+nagios


 <?php phpinfo();?>

rpm -ql mplayer | cat -n

yum install mysql mysql-server  mysql-devel
yum install httpd
yum install lm_sensors zlib libpng freetype libjpeg fontconfig gd libxml2
yum install perl-DBD-MySQL perl-Net-Daemon perl-PlRPC perl-DBI perl-rrdtool 
yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils

[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

yum install rrdtool rrdtool-devel

yum install php php-mysql php-snmp  php-pdo

(3)配置snmp
vi /etc/snmp/snmp.conf
将下边这行中的default
com2secnotConfigUser default public
改为127.0.0.1
com2secnotConfigUser 127.0.0.1 public
com2sec notConfigUser  127.0.0.1       public
将下边这行中的systemview
a 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 restart
(4)安装cacti
把解压后的包移动到你的相应的web目录
tar zxvf cacti-0.8.7g.tar.gz 
mv cacti-0.8.7g /var/www/html/cacti
service httpd start
service mysqld start

创建数据:
#mysql 
mysql> create database cacti;
或者(指定数据库默认编码为utf8)
mysql> create database cacti default character set utf8;   
添加数据库管理用户和权限:
mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;
或者
mysql> grant all privileges on cacti.* to [email protected] identified by 'cacti' with grant option;
刷新权限:
mysql>flush privileges;   
切换数据库:
mysql> use cacti;
导入数据库结构的sql脚本
mysql> source /var/www/html/cacti/cacti.sql;
或者
mysql -u cacti -pcacti cacti </var/www/html/cacti/cacti.sql
配置cacti以连接数据库
vi /var/www/html/cacti/include/config.php
修改以下内容:
$database_username = "cactiuser";
$database_password = "cactiuser";
改为
$database_username = "cacti";
$database_password = "cacti";


http://www.centos.bz/2012/01/cacti-install-tutorials/
http://blog.sina.com.cn/s/blog_4e424e2101000b5y.html
经过一番网络搜,发现原来是Perl少了组件,解决方法如下:
# perl -MCPAN -e shell
# cpan> install LWP::UserAgent

snmpwalk -v2c -c public 192.168.0.60
snmpwalk -v 2c -c public localhost if





监控机器(192.168.0.60),
vi /etc/snmp/snmpd.conf


com2sec notConfigUser  127.0.0.1       public
com2sec notConfigUser  192.168.0.42       public
com2sec notConfigUser  192.168.0.91       public

view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
view    systemview    included   .1.3.6.1.2.1.2
将下边这行中的systemview
a access  notConfigGroup ""      any       noauth    exact  systemview none none
改为all
access notConfigGroup "" any noauth exact all none none


#将下边这行的注释“#”号去掉
view all included  .1  80


被监控机器
vi /etc/snmp/snmpd.conf
com2sec notConfigUser  192.168.0.60       public
将下边这行中的systemview
a access  notConfigGroup ""      any       noauth    exact  systemview none none
改为all
access notConfigGroup "" any noauth exact all none none
将下边这行的注释“#”号去掉
#view all included  .1  80

ndoutils安装
#./configure --enable-mysql
#make
下面两条命令用来生成ndoutils所需要的数据库表等,这些表默认以“nagios_”为前缀;install脚本命令必须在db子目录内执行:
# cd db  
# ./installdb -u cacti -p cacti -h localhost -d cacti  


# cp ./src/ndomod-3x.o /usr/local/nagios/bin
# cp ./src/ndo2db-3x /usr/local/nagios/bin
# cp ./src/log2ndo /usr/local/nagios/bin
# cp ./src/file2sock /usr/local/nagios/bin
#cd ../config
#cp ndo2db.cfg-sample ndo2db.cfg
#cp ndomod.cfg-sample ndomod.cfg
#cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/
chmod 777 /usr/local/nagios/etc/ndo*

chown nagios:nagios /usr/local/nagios/etc/*

chown nagios:nagios /usr/local/nagios/bin/*

注:以上config目录中的ndo2db.cfg和ndomod.cfg在ndoutils-1.4b9中是以ndo2db.cfg-sample和ndomod.cfg-sample命名的,
如果使用的是这个版本的ndoutils,请在复制时做出如下相应的修改;
vim /usr/local/nagios/etc/nagios.cfg
在文件中添加:
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
event_broker_options=-1                //为Nagios开启event broker,3.2版本后会带
此外,请确保您的/usr/local/nagios/etc/nagios.cfg中有如上行出现,否则,请自行添加,很重要,不然会在npc插件中现实nagios off

[root@localhost downloads]# vi /usr/local/nagios/etc/ndomod.cfg
instance_name=default 
output_type=tcpsocket 
output=127.0.0.1 
tcp_port=5668 
output_buffer_items=5000 
buffer_file=/usr/local/nagios/var/ndomod.tmp 
file_rotation_interval=14400 
file_rotation_timeout=60 
reconnect_interval=15 
reconnect_warning_interval=15 
data_processing_options=-1 
config_output_options=2 

[root@localhost downloads]# vi /usr/local/nagios/etc/ndo2db.cfg
ndo2db_user=nagios 
ndo2db_group=nagios 
socket_type=tcp 
socket_name=/usr/local/nagios/var/ndo.sock 
tcp_port=5668 
db_servertype=mysql 
db_host=127.0.0.1 
db_port=3306 
db_name=cacti 
db_prefix=npc_ 
db_user=cacti 
db_pass=cacti
max_timedevents_age=1440 
max_systemcommands_age=10080 
max_servicechecks_age=10080 
max_hostchecks_age=10080 
max_eventhandlers_age=44640 
debug_level=1 
debug_verbosity=1 
debug_file=/usr/local/nagios/var/ndo2db.debug 
max_debug_file_size=1000000 
 
 
  


启动ndo2db
ps aux|grep ndo2db 
kill -s 9 pid

rm -rf /usr/local/nagios/var/ndo.sock
# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
# echo '/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg' >> /etc/rc.local 开机自动启动

重启动nagios
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# service nagios restart
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;
mysql> flush privileges;


安装npc
tar zxvf npc-2.0.4.tar.gz  
mv npc /var/www/html/cacti/plugins/
vim /var/www/html/cacti/include/global.php  
    # 加入:  
     $plugins[] = 'npc';
     
wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz 
tar zxvf json-1.2.1.tgz   
cd json-1.2.1  
phpize   ## 如果发现没有Phpize文件,则是因为php-devel包没有安装导致的  
-bash: phpize: command not found
yum install php-devel
# phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20050922
Zend Extension Api No:   220051025
./configure   
make && make install  

php -i | grep php.ini  ## 查看是否有导入信息 
4.打开php.ini文件添加对json的支持
 
vim /etc/php.ini 
 
   # 添加 
extension=json.so 


vim /etc/httpd/conf/httpd.conf 
# 添加一行:  
AddType application/x-httpd-php .php .phtml  
# 修改原DirectoryIndex内容为:  
DirectoryIndex index.html index.html.var index.php  
  
usermod -G cacti apache  
service httpd restart    ## 重启apache以让php生效  
php -m   ## 查看是否有json被加载

猜你喜欢

转载自stevenfeng.iteye.com/blog/1606571
今日推荐