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

[经验分享] Nagios && Cacti

[复制链接]

尚未签到

发表于 2015-9-7 12:10:53 | 显示全部楼层 |阅读模式
1  简要介绍
  Nagios监控服务器的状态很强大,并且报警功能也很不错,但对像流量这样的持续数据的展现能力却比较弱,虽然有类似PNP这样的插件可以对数据进行存储展现,但在看习惯Cacti的图后,PNP这样粗燥的图就很难接受了,因此以下大体描述了一下如何整合Nagios和Cacti,将点状态和线状态都清晰的展现。
  cacti本身的thold的插件也可以提供报警功能,并且也可以支持msn,fetion,email,并且能够自己创建模版,例如可以定义流量比如在10M-100M之间是正常,超过这个区间就进行报警等等,这个是非常不错的。那么为什么要引进nagios呢,可以这么讲cacti所获取的信息都是通过snmp协议进行的,我们通过snmp可以获取什么呢,磁盘信息,流量信息,负载信息等等,那么我们需要探测一个http服务是否正常怎么办,Nagios就是最好的解决办法,并且nagios的检测插件非常丰富,可以直接拿来简单配置一下command就可以用了。因此在监控报警方面,cacti和nagios结合起来是比较好的选择。下来我就简单介绍一下如何架设这两个服务,并对他们进行结合。说结合其实只是表面的,cacti和nagios还是以他们原来的方式进行工作,ndo负责将nagios收集的数据存在数据库中,cacti的npc插件会从数据库中取数据在cacti的npc标签中来展现。是否需要结合其实按照自己的需求来吧,对于不同的系统管理员可能关心的东西不一样。
  
   
以下试验在Centos5.2系统下进行,并且需要yum支持(这个东西真是好啊)  
   
需要安装的软件:  
   
1 nagios-3.0.6  
   ndoutils-1.4b    <Nagios数据库支持>  
2 cacti-0.8.7b  
   cacti-plugin-arch       <cacti 插件管理>  
   settings-0.5      <cacti插件>  
   npc(nagios plugin for cacti)    <cacti插件>  
   thold(暂时放在这里以后再详细描述)    <cacti插件>  
   monitor(暂时放在这里)    <cacti插件>  
    
3  支持软件  
    httpd  mysql mysql-devel(ndoutils需要它的支持) php5.2(由于Npc需要Json的支持,php5.1不支持json),rrdtool,net-snmp,libtool  
   2 支持软件的安装:
  
yum install httpd mysql-server rrdtool net-snmp  
   
由于yum源提供的php目前版本为5.1.6不能够支持json,因此需要一个php的扩展源。  
在/etc/yum.repos.d生成utterramblings.repo,内容如下  
   
[utterramblings]     
name=Jason's Utter Ramblings Repo      
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/     
enabled=1     
gpgcheck=1     
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka   
   
yum install php php-mysql php-gd php-pdo php-json php-snmp  
   3  Cacti安装
  
yum install cacti  
安装完成后,需要简单配置一下  
1 修改......httpd/conf.d/cacti.conf   修改一下访问权限(默认只能本机访问)  
2 导入mysql的数据  
    建立一个名为cacti数据库  
   
        mysql>create database cacti;      
      
        mysql>grant all . cacti.* to cacti@localhost identified by 'XXXXXX';      
      
        mysql>flush privileges;      
   
    导入数据: mysql -ucacti -pXXXXXX cacti<cacti.sql  
3  进行一下cacti数据库相关配置  
    cacti/include/config.php  
    cacti/include/global.php  
    配置一下数据库的名称,用户及密码  
4  启动apache,通过http://youserver/cacti/ 就可以访问  
    第一次访问会检查一下配置,并安装,没有问题的话最后finish就ok了  
5  在cacti用户的cron里添加,这样cacti将每5分钟收集一次数据,poller.php路径按照自己的来  
   
     
*/5 * * * * php -f /var/www/cacti/poller.php >/dev/null 2>&1         
      
   4  cacti的插件安装
  
wget http://cactiusers.org/downloads/cacti-plugin-arch.tar.gz  
解压,然后将cacti-plugin-0.8.7b-PA-v2.1.diff复制到cacti的目录,  
执行patch -p1 -N < cacti-plugin-0.8.7b-PA-v2.1.diff  
(如果没有patch就安装一个yum install patch,----yum真是方便)  
   
安装文件中有一个pa.sql的数据库文件需要导入  
mysql -ucacti -pxxxxxx cacti<pa.sql  
   
修改cacti/include/global.php文件  
   
     
$config['url_path'] = '/cacti/';      
这个url需要修改,按照自己的配置改吧。  5  Nagios安装
  
yum install nagios nagios-plugins  
   
安装完后有几个地方需要进行配置  
1  还是httpd的访问权限,安全起见还是生成一个passwd的吧  
    htpasswd -c /etc/nagios/htpasswd.users nagiosadmin  
    这里需要说明一下用户名如果不是nagiosadmin的话,还需要修改cgi.cfg(yum 安装会将nagios的配置文件放在/etc/nagios下)  
   
authorized_for_system_information=nagiosadmin      
authorized_for_configuration_information=nagiosadmin      
authorized_for_system_commands=nagiosadmin      
authorized_for_all_services=nagiosadmin      
authorized_for_all_hosts=nagiosadmin      
authorized_for_all_service_commands=nagiosadmin      
authorized_for_all_host_commands=nagiosadmin   
修改以上几个的nagiosadmin为自定义的用户名,否则你将没有权限看见服务器的信息。  
   
2  nagios的安装到这里就完成了,至于详细的配置网上也有很多例子。nagios-3X支持模版继承,这个东西非常好,可以使今后的配置简单许多。Nagios的配置很灵活,可以根据自己的想法来规整配置文件,可以将100个主机的信息写在一个配置文件里,也可以分开写在100个配置文件里。Nagios的配置无非就是主机,服务,报警的配置,可以写成简单的脚本来实现快速添加。  6  ndoutils-1.4b安装
  
这个东东其实是将Nagios的配置及监控信息存储到数据库里,NPC通过调用ndo所存储的数据来展现Nagios的信息。  
获取:http://sourceforge.net/project/s ... p;release_id=550909  
这个需要用到mysql的mysql-lib及mysql-inc,因此需要安装mysql-devel(yum install mysql-devel)  
解压后,进入目录执行  
   
     
DSC0000.gif ./configure --prefix=/usr/local/nagios/ --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib64/mysql --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios      
   
依照自己安装的mysql-lib和mysql-inc指定它的目录,如果configure没有任何错误信息,就可以make一下,这里--prefix=/usr/local/nagios/其实要不要无所谓,并不实际安装它,make后我们仅需要它的部分文件。  
执行make来进行编译  
编译完成后(不需要make install)  
进入 ndoutils-1.4b7/src目录<以下为ndo的执行文件>  
    cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/bin/  
进入 ndoutils-1.4b7/config目录<以下为ndo的配置文件>  
    cp ndo2db.cfg ndomod.cfg /etc/nagios/  
   
配置ndo2db.cfg  
   
socket_name=/var/nagios/ndo.sock      
db_name=cacti      
db_prefix=npc_      
db_user=cacti      
db_pass=xxxxx      
debug_level=1      
debug_file=/var/nagios/ndo2db.debug   
以上为需要根据自己的实际情况配置的信息,其他配置可以根据自己需求来进行配置。  
   
配置ndomod.cfg  
   
output=/var/nagios/ndo.sock      
buffer_file=/var/nagios/ndomod.tmp   
以上是需要根据自己的实际情况修改的,yum安装和源码安装相关文件的位置可能不一样,根据自己的情况来写吧,ndo默认的配置是按照源码默认安装的文件配置的。  
   
配置nagios.cfg文件  
   
check_external_commands=1      
command_check_interval = -1     
event_broker_options = -1      
broker_module = /usr/bin/ndomod-3x.o config_file=/etc/nagios/ndomod.cfg      
process_performance_data=1                                                      
   
以上为需要更改的nagios.cfg的内容。  
   
   7  Npc的安装
   
获取http://www.assembla.com/spaces/n ... c-2.0.0b.166.tar.gz   
     
解压,然后将整个文件夹cp至cacti/plugins/下   
修改cacti/include/global.php   
添加:   
     
$plugins[] = 'npc';      
让cacti知道有这个插件   
     
进入http://yourserver/cacti/        
      
在'User Management'中选择'admin',在下边'Realm Permissions'中钩选'Plugin Management'。这时右侧会出现'Plugin Management'连接,进去后在'uninstalled'中安装npc,然后在'intalled'中enable npc,然后在回去admin的'Realm Permissions'中会出现'use npc',如果没有钩选就把它选中。      
      
接着在右侧栏目中选择settings,点选npc的标签      
钩选Remote Commands      
Nagios Command File Path:      /var/nagios/rw/nagios.cmd      
<这个文件启动nagios后会产生,根据实际的位置写>      
Nagios URL:      http://yourserver/nagios/      
保存就可以了。      
      
      
至此安装就完成了      
启动mysql httpd ndo nagios      
service mysqld start      
service httpd start      
/usr/bin/ndo2db-3x -c /etc/nagios/ndo2db.cfg      
service nagios start      
      
访问http://yourserver/cacti/      
选择npc标签就可以看到nagios所检测的主机信息,唯一不足的是我打开这个页面的速度有些慢,需要进一步寻找原因来进行优化.npc提供的这一套界面很好看(个人感觉)。   
    
  文章二:
  一、cacit与nagios-------------------安装   
1、LAMP环境   
2、cacti安装   
3、nagios安装   
4、nagios与cacti的整合(联系)   
4、安装snmp协议   
6、推荐的cacti模板   
  http://docs.cacti.net/templates(官方模板)   
7、安装linux服务器插件(客户端)------nrpe   
8、监控windows服务器插件(客户端)   
二、cacti与nagios的使用   
cacti是使用snmp协议监控所有的设备,而nagios可以使用snmp监控,也可以使用perl写的脚本插件监控   
1、cacti添加监控服务   
         1)cacti监控nginx服务   
         2)cacti监控squid服务   
         3)cacti监控mysql服务   
         4)cacti监控apache服务   
         5)cacti监控memca的服务   
2、cacti插件的使用   
         1)Threshold、setting这两个插件是一起使用的  报警设置   
         2)npc         这个插件是cacti与nagios整合使用的插件   
         3)monitor    这个插件服务器运行的状态   
          wget http://www.constructaegis.com/downloads/npc-2.0.4.tar.gz   
          wget http://cactiusers.org/downloads/settings.tar.gz   
           wget http://cactiusers.org/downloads/thold.tar.gz   
          wget http://cactiusers.org/downloads/routerconfigs.tar.gz   
          wget http://cactiusers.org/downloads/monitor.tar.gz   
    cacti旧版本的插件  http://cactiusers.org/downloads/      
                               (在新架构的cacti-plugins可以显示旧架构不能使用,那就下载新版本)   
    cacti新版本的插件 http://svn.cacti.net/viewvc/?root=Plugins   
    新版下载方法: # cd /usr/local/http/htdocs/cacti/plugins   
                             #svn co svn://svn.cacti.net/cacti_plugins/monitor   
                             #mv monitor/trunk  monitor    (因为trunk这个目录下的为最新版本)   
3、nagios配置文件说明   
4、nagios监控服务   
        1)监控mysql数据库   
        2)nagios监控memcache   
        3)nagios监控squid     
5.安装nagios使用snmp采集方式   
             nagios大量的监控插件http://www.monitoringexchange.org(含有很多支持snmp插件)   
6.流量图的方式展示nagios   
7.cacti字体在图形中显示不正常的解决方法   
下载并安装cjkuni-fonts中文字体,字体名ukai.ttf   
#wget   http://ftp.tw.debian.org/debian/pool/main/t/ttf-arphic-ukai/ttf-arphic-ukai_0.1.20060928.orig.tar.gz   
#tar zxvf ttf-arphic-ukai_0.1.20060928.orig.tar.gz   
#cd ttf-arphic-ukai-0.1.20060928/   
#cp ukai.ttf /usr/lshare/fonts/ukai.ttf   
    另外一种方法就是cp  ukai.ttf /usr/local/rrdtool/share/rrdtool/fonts/,再在cacti控制面板---设置--路径--RRDTool默认字体路径填上/usr/local/rrdtool/share/rrdtool/fonts/ukai.tt   
三、实现cacti与nagios的迁移   
四、报警设置   
           1.nagios报警设置   
           2.限制Nagios报警次数   
nagios-cn中文文档 :http://nagios-cn.sourceforge.net/nagios-cn/

运维网声明 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-110555-1-1.html 上篇帖子: Monitor Windows via WMI from Cacti on Linux 下篇帖子: Cacti的插件安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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