云计算开源监控软件

本文详细介绍在Ubuntu上安装配置Nagios的过程,包括所需依赖包的安装、用户与用户组的设置、Nagios及插件的编译安装、自定义配置、web接口安装、启动Nagios等步骤,并提供了遇到问题时的解决方案。

nagios、cactiZabbix、ganglia

 nagios
+DDRTOOLS 开源软件可以把数据绘成各种图

cinder+nexenta

ICINGA项目是 由Michael Luebben、Hendrik Backer和JoergLinge等人发起的,他们都是现有的Nagios项目社区委员会的成员,他们承诺,新的开源项 目将完全兼容以前的Nagios应用程序及扩展功能。在新项目的网站上,他们是如此定义ICINGA的,这将是一个介于Nagios社区版和企业版间的产 品。特别将致力于解决Nagios项目现在的问题,比如不能及时处理Nagios项目的bug、新功能不能及时添加等。还有在新的ICINGA项目中,将 更好的实现数据库集成方面的功能,标准化第三发应用程序的接口等。
中文项目地址:http://icinga-cn.sourceforge.net/

http://blog.youkuaiyun.com/robberboyboy/article/details/8549036

Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息!

它类似于sar,能监控和收集服务器和关键应用的信息,支持实时终端显示和集中式数据库存储查询,还能向Nagios发送报警信息。Tsar模块化的设计利于通过开发新模块来扩展新的功能,非常方便。

1.模块化
Tsar的各个模块专门采集一类数据,通过配置文件和参数支持模块化,用户也可以根据需求编写自己的采集模块,集成到Tsar中即可生效
2.输出方式多样
支持本机查看
支持输出到远程数据库
配合nagios的被动监控,页面显示


由于需要用Nagios+Ganglia监控Hadoop集群,所以这里开始了Nagios+Ganglia的旅程.Nagios官网上资料已经很详尽,但在Ubuntu上安装Nagios方面,只停留在Ubuntu 6.10和Ubuntu 7.10版本.而在Ubuntu11.10或Ubuntu10.04上安装有些错误,所以这里记录下来.具体可以查看Nagios官网上Nagios在Ubuntu上安装说明:http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html

       1.所依赖包:

          1)Apache       #必须安装

          2)Php             #必须安装     

          3)Gcc             #必须安装

          4)Gd              #必须安装

          5) mailx #可选,让Nagios支持邮件

          6) postfix #可选,让Nagios支持邮件

           以上可以通过dpkp -L apache2等查看,如未安装,请通过sudo apt-get install apache2等安装,具体如下:

           sudo apt-get install apache2                         # 安装Apache

           sudo apt-get install php5                              # 安装Php

           sudo apt-get install libapache2-mod-php5 # 整合Apache+Php

           sudo apt-get install build-essential # 安装Ubuntu编译内核

           sudo apt-get install libgd2-xpm-dev # 安装Gd

           sudo apt-get install mailx

           sudo apt-get install postfix

        2.开始安装

           sudo -s # 切换到root

           1) 设置好用户和用户组

              /usr/sbin/useradd -m -s /bin/bash nagios # 添加用户nagios

              passwd nagios # 给新用户nagios设置密码

              /usr/sbin/groupadd nagios # 添加用户组nagios

              /usr/sbin/usermod -G nagios nagios # 将新用户nagios添加到用户组nagios

              /usr/sbin/groupadd nagcmd # 添加新的用户组nagcmd,用于接受外部命令,如通过web

              /usr/sbin/usermod -a -G nagcmd nagios # 添加用户nagios到用户组nagcmd

              /usr/sbin/usermod -a -G nagcmd www-data # 添加apache用户到用户组nagcmd

           2)下载nagios和nagios-plugin

               mkdir ~/downloads

               cd ~/downloads

               wget http://nchc.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz    # 下载插件

               wget  http://nchc.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.3.1/nagios-3.3.1.tar.gz #下载nagios

           3)安装Nagios

               cd ~/downloads

               tar xzf nagios-3.3.1.tar.gz 

               cd nagios

               ./configure --with-command-group=nagcmd

               make all

               #make install  #使用该命令会报错,替换成以下命令

               ./configure --with-command-group=nagcmd

               sed -i 's:for file in includes/rss/\*;:for file in includes/rss/\*.\*;:g' ./html/Makefile

               sed -i 's:for file in includes/rss/extlib/\*;:for file in includes/rss/extlib/\*.\*;:g' ./html/Makefile

               make fullinstall

               #以上避免了使用make install报错,报错内容查看博客结尾.具体原因不清楚,有知道的麻烦回帖告知.

               make install-init #安装初始化,貌似make fullinstall有了安装,但无所谓

               make install-config #安装配置

               make install-commandmode #安装命令模式

          4)自定义配置

              vi /usr/local/nagios/etc/objects/contacts.cfg #在里面修改,如email

          5)安装web接口,以便通过浏览器可以访问到nagios

              make install-webconf

              htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin #给nagios设置用户和密码

              /etc/init.d/apache2 reload #重载,让新设置的用户和密码生效

          6)编译nagios插件

              cd ~/downloads

              tar xzf nagios-plugins-1.4.15.tar.gz

              cd nagios-plugins-1.4.15

              ./configure --with-nagios-user=nagios --with-nagios-group=nagios

              make

              make install

          7)启动nagios

              ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios  #让nagios随机启动

              /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #验证naios配置文件是否正确

              /etc/init.d/nagios start #启动nagios

          8)通过浏览器进入nagios控制台

              http://localhost/nagios/ #再输入刚配置的用户nagiosadmin和你设置的密码

              

              

              

          最后附上用make install安装nagios时所报错误

Java代码   收藏代码
  1. root@guoyun:/media/europa/callisto/nagios___/nagios-3.3.1/nagios# make install  
  2. cd ./base && make install  
  3. make[1]: Entering directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/base'  
  4. make install-basic  
  5. make[2]: Entering directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/base'  
  6. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin  
  7. /usr/bin/install -c -m 774 -o nagios -g nagios nagios /usr/local/nagios/bin  
  8. /usr/bin/install -c -m 774 -o nagios -g nagios nagiostats /usr/local/nagios/bin  
  9. make[2]: Leaving directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/base'  
  10. make strip-post-install  
  11. make[2]: Entering directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/base'  
  12. /usr/bin/strip /usr/local/nagios/bin/nagios  
  13. /usr/bin/strip /usr/local/nagios/bin/nagiostats  
  14. make[2]: Leaving directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/base'  
  15. make[1]: Leaving directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/base'  
  16. cd ./cgi && make install  
  17. make[1]: Entering directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/cgi'  
  18. make install-basic  
  19. make[2]: Entering directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/cgi'  
  20. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/sbin  
  21. for file in *.cgi; do \  
  22.                 /usr/bin/install -c -m 775 -o nagios -g nagios $file /usr/local/nagios/sbin; \  
  23.         done  
  24. make[2]: Leaving directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/cgi'  
  25. make strip-post-install  
  26. make[2]: Entering directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/cgi'  
  27. for file in *.cgi; do \  
  28.                 /usr/bin/strip /usr/local/nagios/sbin/$file; \  
  29.         done  
  30. make[2]: Leaving directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/cgi'  
  31. make[1]: Leaving directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/cgi'  
  32. cd ./html && make install  
  33. make[1]: Entering directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/html'  
  34. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share  
  35. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/media  
  36. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/stylesheets  
  37. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/contexthelp  
  38. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/docs  
  39. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/docs/images  
  40. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/images  
  41. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/images/logos  
  42. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes  
  43. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes/rss  
  44. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes/rss/extlib  
  45. /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/ssi  
  46. /usr/bin/install -c -m 664 -o nagios -g nagios robots.txt /usr/local/nagios/share  
  47. rm -f /usr/local/nagios/share/index.html  
  48. rm -f /usr/local/nagios/share/main.html  
  49. rm -f /usr/local/nagios/share/side.html  
  50. for file in *.php; \  
  51.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share; done  
  52. for file in stylesheets/*.css; \  
  53.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/stylesheets; done  
  54. for file in contexthelp/*.html; \  
  55.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/contexthelp; done  
  56. for file in images/*.gif; \  
  57.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done  
  58. for file in images/*.jpg; \  
  59.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done  
  60. for file in images/*.png; \  
  61.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done  
  62. for file in images/*.ico; \  
  63.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done  
  64. for file in images/logos/*.*; \  
  65.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images/logos; done  
  66. for file in includes/*.*; \  
  67.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/includes; done  
  68. for file in includes/rss/*; \  
  69.         do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/includes/rss; done  
  70. /usr/bin/install: omitting directory `includes/rss/extlib'  
  71. /usr/bin/install: omitting directory `includes/rss/htdocs'  
  72. /usr/bin/install: omitting directory `includes/rss/scripts'  
  73. make[1]: *** [install] Error 1  
  74. make[1]: Leaving directory `/media/europa/callisto/nagios___/nagios-3.3.1/nagios/html'  
  75. make: *** [install] Error 2  
  76. root@guoyun:/media/europa/callisto/nagios___/nagios-3.3.1/nagios#


被监控机安装nrpe

准备工作:
apt-get install openssl
apt-get install libcurl3-openssl-dev
apt-get install xinetd

下载:

http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz

tar -zxf nrpe-2.13.tar.gz
cd nrpe-2.13

开始安装:
./configure
make all && make install-plugin && make install-daemon && make install-daemon-config
make install-xinetd

编辑 /etc/xinetd.d/nrpe 将nagios的服务器ip添加进去
将NRPE进程端口加到/etc/services中
nrpe 5666/tcp
重新启动xinetd服务
service xinetd restart

确认nrpe是否在xinetd下运行
netstat -at |grep nrpe

测试nrpe是否工作
/usr/local/nagios/libexec/check_nrpe -H localhost

服务器配置:

同样安装nrpe.

检查命令行是否可查到被监控主机nrpe信息:
/usr/local/nagios/libexec/check_nrpe -H 192.168.0.被监控

1:创建command定义

编辑/usr/local/nagios/etc/objects/commands.cfg增加以下配置信息

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

2:定义主机和服务设定

先建立一个模板用于之后的主机监控的继承设定(在/usr/local/nagios/etc/objects/templates.cfg已经有添加了这个模板规则,只是notification_period不一样而已,关于这个的解释也非常有意思可以自己看看)
define host{
name linux-server ; Name of this template
use generic-host ; Inherit default values
check_period 24×7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24×7
notification_interval 30
notification_options d,r
contact_groups admins
register 0 ; DONT REGISTER THIS – ITS A TEMPLATE
}

3:编辑/usr/local/nagios/etc/objects/localhost.cfg(也可以自己创建文件,只要在nagios.cfg中添加对应配置)

增加被监控的主机对象

define host{
use linux-server
host_name web-server ;nrpe check host
alias ubuntu server (WWW)
address 192.168.200.244
}

增加监控远程服务器的服务对象

define service{
use generic-service
host_name web-server
service_description CPU Load
check_command check_nrpe!check_load
}

define service{
use generic-service
host_name web-server
service_description Current Users
check_command check_nrpe!check_users
}

磁盘监控需要确认自己的硬盘是hda 还是sda,nrpe安装的默认配置是check_hda1,所以需要你手动修改被监控服务器的/usr/local/nagios/etc/nrpe.cfg,将hda修改为sda。并重新启动xinetd服务

define service{
use generic-service
host_name web-server
service_description /dev/sda1 Free Space
check_command check_nrpe!check_sda1
}

define service{
use generic-service
host_name web-server
service_description Total Processes
check_command check_nrpe!check_total_procs
}

define service{
use generic-service
host_name web-server
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}

 

配置完成后,运行/etc/init.d/nagios checkconfig

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

安装nrpe时提示错误:configure: error: cannot find ssl headers

起首安装SSL库,openssl或者libssl:


sudo apt-get install openssl


sudo apt-get install libssl


configure的时辰加上选项:


./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu(可能64位和32位有所不合)

http://wenku.baidu.com/view/9c69fc61783e0912a2162a40.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值