<?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被加载