设为首页 收藏本站
查看: 1158|回复: 0

[经验分享] cacti + nagios + npc 整合部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-7 12:54:57 | 显示全部楼层 |阅读模式
  centos5.5 + cacti + nagios + npc
  搞了2天总算整合成功了,这就写博客上面,好多的问题之前头疼得很,弄好后心情格外开心呢,废话不多说了,这次好多都是用的yum做的,源码的以后写,软件版本如下:
cacti-0.8.7e.tar.gz
cacti-plugin-0.8.7e-PA-v2.6.zip
nagios-3.4.1.tar.gz
nagios-plugins-1.4.16.tar.gz
ndoutils-1.4b9.tar.gz
npc-2.0.4.tar.gz
PDO_MYSQL-1.0.2.tgz
php-json-ext-1.2.1.tar.gz
rrdtool-1.4.4.tar.gz
  
一、安装环境LAMP

  • #yum -y install *gcc*  
  • #yum -y install httpd httpd-manual mysql mysql-devel mysql-server php php-devel php-mysql php-common php-pdo php-gd lm_sensors net-snmp php-snmp net-snmp-utils   

  • # chkconfig mysqld on  
  • # chkconfig httpd on  
  • # chkconfig snmpd on  
  • # service mysqld start  
  • # service httpd start  
  • # service snmpd start  

  • # mysqladmin -u root password 'redhat321'  

  • # mysql -u root -p  
  • :输入密码  
  • mysql> create database cacti;  
  • Query OK, 1 row affected (0.00 sec)  

  • mysql> grant all on cacti.* to cactiadmin@localhost identified by 'cacti321';  
  • Query OK, 0 rows affected (0.01 sec)  

  • mysql> flush privileges;  
  • Query OK, 0 rows affected (0.00 sec)  

  • mysql> \q  
  二、安装cacti
1、安装rrdtool需要的软件包
# yum -y install cairo-devel libxml2-devel pango pango-devel
  2、安装rrdtool

  • # tar xf rrdtool-1.4.4.tar.gz  
  • # cd rrdtool-1.4.4  
  • # ./configure --prefix=/usr/local/rrdtool && make && make install  
  • # ln -s /usr/local/rrdtool/bin/* /usr/local/bin/
  3、安装cacti-0.8.7.e

  • # tar xf cacti-0.8.7e.tar.gz -C /var/www/html/  
  • # cd /var/www/html/  
  • # mv cacti-0.8.7e/ cacti  
  • # chown -R root.root /var/www/html/cacti/
  4、导入数据库

  • # mysql -u root -p cacti < cacti/cacti.sql  
  • Enter password:
  5、修改cacti配置文件,连接数据库

  • # vim /var/www/html/cacti/include/config.php  
  • $database_username = "cactiadmin";  
  • $database_password = "cacti321";  

  • # vim /var/www/html/cacti/include/global.php  
  • $database_username = "cactiadmin";  
  • $database_password = "cacti321";
  6、安装插件cacti-plugin

  • # wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip  
  • # unzip cacti-plugin-0.8.7e-PA-v2.6.zip   
  • # cd cacti-plugin-arch/  
  • # cp cacti-plugin-arch/{cacti-plugin-0.8.7e-PA-v2.6.diff,pa.sql} /var/www/html/cacti/  
  • # cd /var/www/html/cacti/
  7、打补丁导入数据库

  • # patch -p1 -N <cacti-plugin-0.8.7e-PA-v2.6.diff   
  • # mysql -uroot -p cacti<pa.sql  
  8、修改配置文件,如下:

  • # vim include/global.php  
  • $config['url_path'] = '/cacti/';
  9、添加计划任务

  • # crontab -e  
  • */5 * * * * /usr/bin/php /var/www/html/cacti/poller.php  
  • # service crond restart
  10、浏览器输入http://192.168.163.143/cacti/install初始化cacti,最后如下:
DSC0000.png
  另外cacti无法显示图片,图片显红叉,但是点进去有图:
解决方法:
settings里面的RRDTOOLS版本设置不对,默认为1.0.x,改为1.2.x就行了。

  三、被监控端配置

1、安装snmp服务
# rpm -ivh lm_sensors-2.10.7-4.el5.i386.rpm net-snmp-5.3.2.2-7.el5.i386.rpm

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、建立用户

  • # useradd -s /sbin/nologins nagios  
  • # mkdir -p /usr/local/nagios  
  • # chown -R  nagios.nagios /usr/local/nagios/
  2、编译安装nagios

  • # tar xf nagios-3.4.1.tar.gz   
  • # cd nagios  
  • # ./configure --prefix=/usr/local/nagios/  
  • # make all   
  • # make install   
  • # make install-init   
  • # make install-commandmode   
  • # make install-config   
  • # make install-webconf  

  • # chkconfig --add nagios  
  • # chkconfig nagios on  
  • # service nagios start
  3、安装插件

  • # tar xf nagios-plugins-1.4.16.tar.gz   
  • # cd nagios-plugins-1.4.16  
  • # ./configure --prefix=/usr/local/nagios/ && make && make install
  
4、修改apache的配置文件

  • # vim /etc/httpd/conf/httpd.conf  

  • 最后添加如下内容,设置成需要输入密码才能登陆  
  • ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"  
  • <Directory "/usr/local/nagios/sbin">
  •         AuthType Basic  
  •         Options ExecCGI  
  •         AllowOverride   None  
  •         Order allow,deny  
  •         Allow from all  
  •         AuthName "Nagions Access"  
  •         AuthUserFile /usr/local/nagios/etc/htpasswd  
  •         Require valid-user  
  • </Directory>

  • Alias /nagios   "/usr/local/nagios/share"  
  • <Directory "/usr/local/nagios/share">
  •         AuthType Basic  
  •         Options None  
  •         AllowOverride None  
  •         Order allow,deny  
  •         Allow from all  
  •         AuthName "Nagios Access"  
  •         AuthUserFile /usr/local/nagios/etc/htpasswd  
  •         Require valid-user  
  • </Directory>
  5、配置nagios添加主机,服务信息
在/usr/local/nagios/etc/objects/下建立2个文件:

  • (1)hosts.cfg定义主机的文件  
  • define host{  
  • use linux-server  
  • host_name 192.168.163.143  
  • alias 192.168.163.143  
  • address 192.168.163.143  
  • }  

  • (2)services.cfg 定义主机服务的文件  
  • define service{  
  • use local-service  //引用local-service的属性信息,在template.cfg中定义  
  • host_name 192.168.163.143 //监控那个主机,host-142在hosts.cfg中定义  
  • service_description ssh //对监控内容的描述  
  • check_command check_ssh //指定监控的命令,check_ping在commands.cfg中定义  
  • }  
  • define service{  
  • use local-service  
  • host_name 192.168.163.143  
  • service_description Ping  
  • check_command check_ping  
  • }  

  • # chown nagios.nagios /usr/local/nagios/etc/objects/{hosts.cfg,services.cfg}
  6、建立登陆的用户名密码
# htpasswd -c /usr/local/nagios/etc/htpasswd nagiosadmin
  7、修改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
  8、启动nagios以后访问输入用户名密码就可以看到Nagios了
DSC0001.png
  如果启动有问题,可以使用下面的命令检查:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  四、整合cacti+nagios
整合cacti和nagios是利用了cacti的一个插件nagios for cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的库中),然后cacti读取数据库信息将nagios
  的结果展示出来。
  1、安装php-json扩展,因为NPC使用了ExtJS,如过没有json的扩展NPC界面无法出来。

  • # tar xf php-json-ext-1.2.1.tar.gz  
  • # cd php-json-ext-1.2.1  
  • # phpize   
  • 如果没有命令的话安装下面的软件包  
  • # rpm -ihv /media/CentOS/php-devel-5.1.6-27.el5.i386.rpm  

  • # sh configure && make && make install
  2、新建文件,添加信息如下:

  • # vim /etc/php.d/json.ini  
  • extension=json.so
  安装完成后如果先验证的话,可以写个index.php的页面看下,有json信息即可,如下:
DSC0002.png
  3、安装ndoutils,需要安装mysql-devel前面已经装过这里就不用再装了

  • # tar xf ndoutils-1.4b9.tar.gz   
  • # cd ndoutils-1.4b9  
  • # ./configure --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql --enable-mysql --with-ndo2db-user=nagios --with-ndo2db-group=nagios
  • # make(不用make install)
  4、复制文件

  • # cp src/{ndomod-3x.o,ndo2db-3x,log2ndo,file2sock} /usr/bin/  
  • # cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg  
  • # cp config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg  
  • # chmod 644 /var/www/html/nagios/etc/ndo*  
  5、修复配置文件信息,连接数据库

  • # vim /usr/local/nagios/etc/ndo2db.cfg   
  • socket_type=tcp
  • db_host=127.0.0.1  
  • db_port=3306
  • db_name=cacti
  • db_prefix=npc_
  • db_user=cactiadmin
  • db_pass=cacti321
  • debug_level=1

  • # vim /usr/local/nagios/etc/ndomod.cfg   
  • output_type=tcpsocket
  • output=127.0.0.1
  6、添加启动脚本,并修改Ndo2dbBin

  • # cp /download/ndoutils-1.4b9/daemon-init /etc/init.d/ndo2db  
  • # vim /etc/init.d/ndo2db  
  • Ndo2dbBin=/usr/bin/ndo2db-3x  

  • # chmod +x /etc/init.d/ndo2db  
  • # service ndo2db start
  7、安装npc

  • # tar xf npc-2.0.4.tar.gz   
  • # mv npc /var/www/html/cacti/plugins/  

  • 修改配置文件,添加如下信息  
  • # vim /var/www/html/cacti/include/global.php  
  • $plugins = array();  
  • $plugins[]='npc';
  8、修改nagios添加信息:

  • # vim /usr/local/nagios/etc/nagios.cfg  
  • broker_module=/usr/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg  
  • event_broker_options=-1
  # service nagios restar
  启动之后在cacti中添加npc,如下:
DSC0003.png
DSC0004.png
DSC0005.png
DSC0006.png
DSC0007.png
  
当访问到npc这个页面的时候已经擦不多了
  9、但是看npc里发现空白的,没有数据,是因为php没有PDO_MYSQL支持,所以安装PDO_MYSQL

  • # wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz  
  • # tar zxvf PDO_MYSQL-1.0.2.tgz   
  • # cd PDO_MYSQL-1.0.2  
  • # /usr/local/php/bin/phpize   
  • #./configure --with-php-config=/usr/bin/php-config  
  • #make  
  • #make install  

  • 修改php.ini,添加如下信息,之后重启httpd即可  
  • extension = "pdo_mysql.so"
  10、之后再访问还不行,还要修改数据库结构:

  • # mysql -u root -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;
  之后再访问就可看到有数据了:

DSC0008.png   
  到此,cacti+nagios的整合就完事,搭建这个确实有好多问题,百度、谷歌才解决,希望能对有的人有帮助,如果有问题请及时指出,谢谢~
  
  本文出自 “改变从现在开始” 博客,请务必保留此出处http://peaceweb.blog.iyunv.com/3226037/1065783

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-110587-1-1.html 上篇帖子: 安装与配置cacti 0.8.8b 下篇帖子: 使用cacti 监控oracle 10g/snmp配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表