fdeli 发表于 2013-9-18 09:31:54

nagios+cacti+nconf部署文档

这是我在线上部署参考的文档,期间遇到各种问题,比如nagios为off状态,没有数据显示等等,最后和百度大神一起都一一解决了,
Nagios+Cacti+Nconf
系统:CentOS5.8-x86_64
安装前的准备工作yum install -y httpd-* mysql-* php-* net-snmp* gcc glibc glibc-common gd gd-devel一、nagios 环境的搭建1.安装nagioswget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.3.1/nagios-3.3.1.tar.gzuseradd nagiostar zxf nagios-3.3.1.tar.gzcd nagios./configure -prefix=/var/www/html/nagiosmake allmake install && make install-init && make install-commandmode && make install-config && make install-webconf2.增加nagios登陆认证文件,一定要用默认的nagiosadmin作为用户,否则需要修改其他文件。htpasswd -c /var/www/html/nagios/etc/htpasswd.users nagiosadmin3. 安装插件:wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gztar -zvxf nagios-plugins-1.4.15.tar.gzcd nagios-plugins-1.4.15./configure -prefix=/var/www/html/nagios/makemake install4.将运行Apache的用户添加到nagios组里,这样Apache才有权限读取文件usermod -G nagios apache ##将apache用户加到nagios组。5.阶段测试chown nagios.nagios /var/www/html/nagios/ -Rservice httpd restartchkconfig httpd on/etc/init.d/nagios start二:cacti环境的搭建1.rrdtool的安装,#tar -zxvf rrdtool-1.4.5.tar.gz#./configure --prefix=/usr/local/rrdtool#make#make install安装rrdtool的时候报错
解决方法:yum -y install zlib zlib-devel libpng libpng-devel freetype freetype-devel libart_lgpllibart_lgpl-devel libxml2 libxml2-devel gd gd-devel cairo cairo-devel pango pango-devel2.配置snmpvim /etc/snmp/snmpd.conf# 修改3项 127.0.0.1 、 all、启用项(修改的内容详见我Cacti的安装文档,上面有非常详细的内容介绍)com2sec notConfigUser 127.0.0.1 publicaccess notConfigGroup "" any noauth exact all none noneview all included .1 80service snmpd restart3.安装cactiwget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gztar zxvf cacti-0.8.7h.tar.gzmv cacti-0.8.7h /var/www/html/cacti4.创建cacti数据库#mysqlmysql> create database cacti;mysql> grant all on cacti.* to 'cacti' @'localhost' identified by 'cacti';mysql> flush privileges;5.将cacti的表内容导入创建的数据库cd /var/www/html/cactimysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql6.分别编辑两个.php文件,以适应环境,修改内容相同。vim /var/www/html/cacti/include/config.phpvim /var/www/html/cacti/include/global.php$database_username = "cacti";$database_password = "cacti";useradd -r -M cactichown -R cacti /var/www/html/cacti/rra/chown -R cacti /var/www/html/cacti/log/7.在cacti用户下创建计划任务以画图su cacticrontab -e*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1php /var/www/html/cacti/poller.php > /dev/null 2>&1exit8.从web页面启动cacti,安装,并查看图形化界面三:整合Nagios与Cacti1.下载并安装ndoutilswget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b7/ndoutils-1.4b7.tar.gz/downloadtar zxvf ndoutils-1.4b7.tar.gzcd ndoutils-1.4b7./configuremake2.准备配置文件cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bincd db./installdb -ucacti -pcacti -hlocalhost -d cacticd ..cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /var/www/html/nagios/etcmv /var/www/html/nagios/etc/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfgmv /var/www/html/nagios/etc/ndomod.cfg-sample /var/www/html/nagios/etc/ndomod.cfgchmod 644 /var/www/html/nagios/etc/ndo*chown nagios:nagios /var/www/html/nagios/etc/*chown nagios:nagios /var/www/html/nagios/bin/*3.修改nagios.cfg配置文件以适应当前环境vim /var/www/html/nagios/etc/nagios.cfg# 在文件中添加:broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg# 检查event_broker_options=-1 ## 为Nagios开启event broker4.修改ndo2db.cfg以适应当前环境vim /var/www/html/nagios/etc/ndo2db.cfg# 确保下列内容为唯一项socket_type=unixdb_servertype=mysqldb_host=localhostdb_port=3306db_name=cactidb_prefix=nagios_db_user=cactidb_pass=cacti5.修改ndomod.cfg以适应当前环境vim /var/www/html/nagios/etc/ndomod.cfg# 确保下列项的唯一内容为output_type=unixsocketoutput=127.0.0.16.ndo2db启动/var/www/html/nagios/bin/ndo2db-3x -C /var/www/html/nagios/etc/ndo2db.cfg7.启动守护进程与nagiosservice ndo2db starttail -20 /var/log/messages ## 查看其中是否有错误出现。如无报错请继续service nagios start四:安装ncp,以在Cacti中展现Nagios1.先安装cacti扩展模块wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gztar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gzcp -R cacti-plugin-arch/* /var/www/html/cacti/cd /var/www/html/cacti/mysql -ucacti -pcacti cacti < pa.sqlpatch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff## 为cacti配置文件打补丁的时候注意在为include/config.php打补丁的时候有可能它将 include/config.php.dist给打补丁了,我们只需要手动加入下面的内容即可。vim include/config.php# 修改(或新加入)为$url_path = "/cacti/";从web进入cacti,启用cacti plugin扩展2.安装npchttp://en.sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fgibtmirdas%2Fnpc-2.0.4.tar.gztar zxvf npc-2.0.4.tar.gzmv npc /var/www/html/cacti/plugins/vim /var/www/html/cacti/include/config.php# 加入:$plugins[] = 'npc';
3.安装 npc支持:jsonwget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgztar zxvf json-1.2.1.tgzcd json-1.2.1phpize ## 如果发现没有Phpize文件,则是因为php-devel包没有安装导致的./configuremake && make install
php -i | grep php.ini ## 查看是否有导入信息4.打开php.ini文件添加对json的支持vim /etc/php.ini# 添加extension=json.so5.为apache添加php支持。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 apacheservice httpd restart ## 重启apache以让php生效php -m ## 查看是否有json被加载6从Web进入Cacti,确保正确使用npc选项。6.1修改配置文件以让npc读取到新的数据。vim /var/www/html/nagios/etc/ndo2db.cfgdb_prefix=npc_
6.2 修改mysql中的表结构:#mysql -ucacti -pcactimysql> use cacti;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;7.重启ndo2db进程,重新加载配置文件重启nagios服务。service ndo2db restartservice nagios restart8.在Web上配置NPC以使之正常读取工作。在Settings->npc中 ,勾上Remote CommandsNagios Command File Path= /var/www/html/nagios/var/rw/nagios.cmdNagios URL=你的地址(http://ocalhost/nagios/)接下来刷新npc就可以看到数据啦:
五:Nconf的安装与配置1.nconf的准备工作# 进入mysql数据库mysql> create database nconf;# 创建nconf数据库mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';# 创建nconf用户并赋权mysql> flush privileges;# 刷新特权表mysql> quit2.安装nconfwget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/downloadtar -zxf nconf-1.2.6-0.tgz -C /var/www/html/cd /var/www/html/nconfchown -R apache.apache config/ temp/ static_cfg/ output/3.进入Web页面在web页面按照安装提示一步步安装4.使用刚才创建的nconf数据库和nconf数据库用户/密码五:Nconf的安装与配置1.nconf的准备工作# 进入mysql数据库mysql> create database nconf;# 创建nconf数据库mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';# 创建nconf用户并赋权mysql> flush privileges;# 刷新特权表mysql> quit2.安装nconfwget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/downloadtar -zxf nconf-1.2.6-0.tgz -C /var/www/html/cd /var/www/html/nconfchown -R apache.apache config/ temp/ static_cfg/ output/3.进入Web页面在web页面按照安装提示一步步安装4.使用刚才创建的nconf数据库和nconf数据库用户/密码5.成功连接mysql数据库,之后一切保持默认,直到下面的,设置nconf管理员密码,此时默认登录用户为admin6.之后,网页安装完成。rm -rf INSTALL INSTALL.php UPDATE UPDATE.php# 删除安装所需的初始化文件ln -s /var/www/html/nagios/bin/nagios bin/nagioschmod +x /var/www/html/nconf/bin/generate_config.plchown -R apache.apache binchmod +x /var/www/html/nagios/bin/nagioschmod +x /var/www/html/nconf/ADD-ONS/deploy_local.shvim /var/www/html/nconf/ADD-ONS/deploy_local.sh修改里面的Nagios路径为 /var/www/html/nagios/etc/7.重新刷新页面,输入admin/您设置的密码,进入nconf页面8.点击Generate Nagios config尝试生成配置文件,以测试是否与nagios成功关联9.最后的设置①在web页面对监控服务和主机配置完毕,点击Generate Nagios config②deploy_local.sh是nconf自带配置文件导入脚本/var/www/html/nconf/ADD-ONS/deploy_local.sh手动执行此脚本,将在/var/www/html/nagios/etc下生成两目录Default_collector与global③修改nagios主配置文件vim /var/www/html/nagios/etc/nagios.cfg# 将其中cfg_file=*******字段全部注释 ,并加入cfg_dir=/var/www/html/nagios/etc/Default_collectorcfg_dir=/var/www/html/nagios/etc/globalservice nagios reload# 重载nagios配置文件使之生效

lizh 发表于 2013-9-24 05:38:04

恋爱就是无数个饭局,结婚就是一个饭局。

a6266318 发表于 2013-9-30 05:01:56

解释就是掩饰,掩饰就是编故事!

wzh789 发表于 2013-10-4 08:32:17

睡眠是一门艺术——谁也无法阻挡我追求艺术的脚步!

古城堡 发表于 2013-10-8 08:12:45

找到好贴不容易,我顶你了,谢了

tangbinde 发表于 2013-10-13 23:00:16

沙发!沙发!

archer05 发表于 2013-10-21 17:27:36

听君一席话,省我十本书!
页: [1]
查看完整版本: nagios+cacti+nconf部署文档