Nagios4.0.4 + Centreon2.5.0安装

本例在CentOS 6.5 64位系统测试

rpm -ivh  http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum update
yum upgrade

关闭防火墙和SELINUX

chkconfig --level 35 iptables off
vi /etc/selinux/config

将SELINUX=enforcing 修改为:SELINUX=disabled

然后重启系统

reboot


首先安装APACHE 也可根据情况安装NGINX

yum install httpd
usermod -U apache


安装GD库

yum install gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD


安装MySQL数据库

yum install openssl-devel perl-DBD-MySQL mysql-server mysql-devel


安装PHP和扩展

yum install php php-mysql php-gd php-ldap php-xml php-mbstring


安装Perl扩展

yum install perl-Config-IniFiles perl-DBI


安装RRDtool

yum install rrdtool perl-rrdtool


安装SNMP

yum install perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils
yum install perl-Socket6 perl-IO-Socket-INET6 net-snmp
yum install php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl

安装开发库

yum groupinstall "Development Tools"


其他库

yum install fping glib2-devel


安装PEAR

yum install php-pear
pear channel-update pear.php.net
pear upgrade-all


现在我们下载所需用的的软件

wget http://jaist.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.4/nagios-4.0.4.tar.gz
wget http://jaist.dl.sourceforge.net/project/nagios/ndoutils-2.x/ndoutils-2.0.0/ndoutils-2.0.0.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz
wget http://download.centreon.com/centreon/centreon-2.5.0.tar.gz
wget http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

centreon-clapi-1.5.2 下载地址 http://download.centreon.com/index.php?id=4296

安装Nagios

[root@jk soft]# useradd nagios
[root@jk soft]# groupadd nagcmd
[root@jk soft]# usermod -G nagios,nagcmd nagios
[root@jk soft]# tar xvzf nagios-4.0.4.tar.gz
[root@jk soft]# cd nagios-4.0.4
[root@jk nagios-4.0.4]# ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-nanosleep --enable-event-broker --enable-embedded-perl
[root@jk nagios-4.0.4]# make all&&make install&&make install-init&&make install-commandmode&&make install-config&&make install-webconf

安装Nagios插件

[root@jk nagios-4.0.4]# cd ..
[root@jk soft]# tar xvzf nagios-plugins-2.0.tar.gz
[root@jk nagios-plugins-2.0]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl --enable-perl-modules
[root@jk nagios-plugins-2.0]# make&&make install

如果出现类似如下错误:


Working in: /soft/nagios-plugins-2.0/perlmods/Test-Simple-0.98
Using Makefile.PL
Can‘t locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /soft/nagios-plugins-2.0/perlmods/Test-Simple-
0.98/blib/lib /soft/nagios-plugins-2.0/perlmods/Test-Simple-0.98/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5
/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 6.
BEGIN failed--compilation aborted at Makefile.PL line 6.
make[3]: Entering directory `/soft/nagios-plugins-2.0/perlmods/Test-Simple-0.98‘
make[3]: *** No targets specified and no makefile found.  Stop.
make[3]: Leaving directory `/soft/nagios-plugins-2.0/perlmods/Test-Simple-0.98‘
Can‘t run make. Please
        rm -rf /soft/nagios-plugins-2.0/perlmods/Test-Simple-0.98
to remake from this point) at ../tools/build_perl_modules line 235.
make[2]: *** [all-local] Error 2
make[2]: Leaving directory `/soft/nagios-plugins-2.0/perlmods‘
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/soft/nagios-plugins-2.0‘
make: *** [all] Error 2


这个是缺少Perl模块导致  安装

yum install perl-ExtUtils-MakeMaker

然后再次make&&make install

安装Nrpe

[root@jk nagios-plugins-2.0]# cd ..
[root@jk soft]# tar xvzf nrpe-2.15.tar.gz
[root@jk soft]# cd nrpe-2.15
[root@jk nrpe-2.15]# ./configure
[root@jk nrpe-2.15]# make all&&make install-plugin&&make install-daemon&&make install-daemon-config

安装Ndoutils

[root@jk nrpe-2.15]# cd ..
[root@jk soft]# tar xvzf ndoutils-2.0.0.tar.gz
[root@jk soft]# cd ndoutils-2.0.0
[root@jk ndoutils-2.0.0]# ./configure --prefix=/usr/local/nagios/ --enable-mysql --with-ndo2db-user=nagios --with-ndo2db-group=nagios
[root@jk ndoutils-2.0.0]# make&&make install
[root@jk ndoutils-2.0.0]# cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
[root@jk ndoutils-2.0.0]# cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
[root@jk ndoutils-2.0.0]# cp daemon-init /etc/init.d/ndo2db

修改启动脚本killproc_ndo2db()和 stop)的内容 修改成以下内容:


[root@jk ndoutils-2.0.0]# vi /etc/init.d/ndo2db
killproc_ndo2db ()
{
        kill `pidof ndo2db |cut -f1 -d " "` >/dev/null 2>&1
        kill `pidof ndo2db |cut -f1 -d " "` >/dev/null 2>&1
}
stop)
        echo  "Stopping $servicename..."
        killproc_ndo2db
         ;;
[root@jk ndoutils-2.0.0]# chmod +x /etc/init.d/ndo2db
[root@jk ndoutils-2.0.0]# chkconfig --add ndo2db
[root@jk ndoutils-2.0.0]# chkconfig --level 345 ndo2db on


安装Centreon

[root@jk ndoutils-2.0.0]# cd ../
[root@jk soft]# tar xvzf centreon-2.5.0.tar.gz
[root@jk soft]# cd centreon-2.5.0
[root@jk centreon-2.5.0]# ./install.sh -i
------------------------------------------------------------------------
        Checking all needed binaries
------------------------------------------------------------------------
rm                                                         OK
cp                                                         OK
mv                                                         OK
/bin/chmod                                                 OK
/bin/chown                                                 OK
echo                                                       OK
more                                                       OK
mkdir                                                      OK
find                                                       OK
/bin/grep                                                  OK
/bin/cat                                                   OK
/bin/sed                                                   OK
You will now read Centreon Licence.
        Press enter to continue.
安装回车和Q键
然后按Y
Do you accept GPL license ?
[y/n], default to [n]:
> y
------------------------------------------------------------------------
        Please choose what you want to install
------------------------------------------------------------------------
Do you want to install : Centreon Web Front
[y/n], default to [n]:
> y
Do you want to install : Centreon CentCore
[y/n], default to [n]:
> y
Do you want to install : Centreon Nagios Plugins
[y/n], default to [n]:
> y
Do you want to install : Centreon Snmp Traps process
[y/n], default to [n]:
> y
------------------------------------------------------------------------
        Start CentWeb Installation
------------------------------------------------------------------------
Where is your Centreon directory?
default to [/usr/local/centreon]
>
Do you want me to create this directory ? [/usr/local/centreon]
[y/n], default to [n]:
> y
Path /usr/local/centreon                                   OK
Where is your Centreon log directory
default to [/usr/local/centreon/log]
>
Do you want me to create this directory ? [/usr/local/centreon/log]
[y/n], default to [n]:
> y
Path /usr/local/centreon/log                               OK
Where is your Centreon etc directory
default to [/etc/centreon]
>
Do you want me to create this directory ? [/etc/centreon]
[y/n], default to [n]:
> y
Path /etc/centreon                                         OK
Where is your Centreon binaries directory
default to [/usr/local/centreon/bin]
>
Do you want me to create this directory ? [/usr/local/centreon/bin]
[y/n], default to [n]:
> y
Path /usr/local/centreon/bin                               OK
Where is your Centreon data informations directory
default to [/usr/local/centreon/data]
>
Do you want me to create this directory ? [/usr/local/centreon/data]
[y/n], default to [n]:
> y
Path /usr/local/centreon/data                              OK
Where is your Centreon variable library directory?
default to [/var/lib/centreon]
>
Do you want me to create this directory ? [/var/lib/centreon]
[y/n], default to [n]:
> y
Path /var/lib/centreon                                     OK
/usr/bin/rrdtool                                           OK
/bin/mail                                                  OK
/usr/bin/php                                               OK
Where is PEAR [PEAR.php]
default to [/usr/share/php/PEAR.php]
> /usr/share/pear/PEAR.php
Path /usr/share/pear                                       OK
/usr/bin/perl                                              OK
Finding Apache user :                                      apache
Finding Apache group :                                     apache
What is the Centreon group ? [centreon]
default to [centreon]
>
Do you want me to create this group ? [centreon]
[y/n], default to [n]:
> y
What is the Centreon user ? [centreon]
default to [centreon]
>
Do you want me to create this user ? [centreon]
[y/n], default to [n]:
> y
What is the Monitoring engine user ?
> nagios
What is the Broker user ? (optional)
> nagios
What is the Monitoring engine log directory ?
> /usr/local/nagios/var/log
Where is your monitoring plugins (libexec) directory ?
default to [/usr/lib/nagios/plugins]
> /usr/local/nagios/libexec
Path /usr/local/nagios/libexec                             OK
Add group centreon to user apache                          OK
Add group centreon to user nagios                          OK
Add group nagios to user apache                            OK
Add group nagios to user centreon                          OK
------------------------------------------------------------------------
        Configure Sudo
------------------------------------------------------------------------
Where is sudo configuration file
default to [/etc/sudoers]
>
/etc/sudoers                                               OK
What is the Monitoring engine init.d script ?
> /etc/init.d/nagios
What is the Monitoring engine binary ?
> /usr/local/nagios/bin/nagios
What is the Monitoring engine configuration directory ?
> /usr/local/nagios/etc
Where is the configuration directory for broker module ?
> /usr/local/nagios/etc
Where is the init script for broker module daemon ?
> /etc/init.d/ndo2db
Your sudo is not configured
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:
> y
Configuring Sudo                                           OK
        Configure Apache server
------------------------------------------------------------------------
Do you want to add Centreon Apache sub configuration file ?
[y/n], default to [n]:
> y
Create ‘/etc/httpd/conf.d/centreon.conf‘                   OK
Configuring Apache                                         OK
Do you want to reload your Apache ?
[y/n], default to [n]:
> y
Reloading Apache service                                   FAIL
Preparing Centreon temporary files
Change right on /usr/local/centreon/log                    OK
Change right on /etc/centreon                              OK
Change macros for insertBaseConf.sql                       OK
Change macros for sql update files                         OK
Change macros for php files                                OK
Change macros for perl binary                              OK
Change right on /usr/local/nagios/etc                      OK
Add group nagios to user apache                            OK
Add group nagios to user nagios                            OK
Add group centreon to user nagios                          OK
Copy CentWeb in system directory
Install CentWeb (web front of centreon)                    OK
Change right for install directory
Change right for install directory                         OK
Install libraries                                          OK
Write right to Smarty Cache                                OK
Copying libinstall                                         OK
Change macros for centreon.cron                            OK
Install Centreon cron.d file                               OK
Change macros for centAcl.php                              OK
Change macros for downtimeManager.php                      OK
Install cron directory                                     OK
Change right for eventReportBuilder                        OK
Change right for dashboardBuilder                          OK
Change macros for centreon.logrotate                       OK
Install Centreon logrotate.d file                          OK
Prepare centFillTrapDB                                     OK
Install centFillTrapDB                                     OK
Prepare centreon_trap_send                                 OK
Install centreon_trap_send                                 OK
Prepare centreon_check_perfdata                            OK
Install centreon_check_perfdata                            OK
Prepare centreonSyncPlugins                                OK
Install centreonSyncPlugins                                OK
Prepare centreonSyncArchives                               OK
Install centreonSyncArchives                               OK
Install generateSqlLite                                    OK
Install changeRrdDsName.pl                                 OK
Prepare export-mysql-indexes                               OK
Install export-mysql-indexes                               OK
Prepare import-mysql-indexes                               OK
Install import-mysql-indexes                               OK
Centreon Web Perl lib installed                            OK
------------------------------------------------------------------------
Pear Modules
------------------------------------------------------------------------
Check PEAR modules
PEAR                            1.4.9       1.9.4          OK
DB                              1.7.6                      NOK
DB_DataObject                   1.8.4                      NOK
DB_DataObject_FormBuilder       1.0.0RC4                   NOK
MDB2                            2.0.0                      NOK
Date                            1.4.6                      NOK
HTML_Common                     1.2.2                      NOK
HTML_QuickForm                  3.2.5                      NOK
HTML_QuickForm_advmultiselect   1.1.0                      NOK
HTML_Table                      1.6.1                      NOK
Archive_Tar                     1.1         1.3.11         OK
Auth_SASL                       1.0.1                      NOK
Console_Getopt                  1.2         1.3.1          OK
Net_SMTP                        1.2.8                      NOK
Net_Socket                      1.0.1                      NOK
Net_Traceroute                  0.21                       NOK
Net_Ping                        2.4.1                      NOK
Validate                        0.6.2                      NOK
XML_RPC                         1.4.5       1.5.5          OK
SOAP                            0.10.1                     NOK
Log                             1.9.11                     NOK
Archive_Zip                     0.1.2                      NOK
Do you want me to install/upgrade your PEAR modules
[y/n], default to [y]:
> y
Upgrading PEAR modules
Installing PEAR modules
DB_DataObject_FormBuilder       1.0.0RC4    1.0.2          OK
Check PEAR modules
PEAR                            1.4.9       1.9.4          OK
DB                              1.7.6       1.7.14         OK
DB_DataObject                   1.8.4       1.11.2         OK
DB_DataObject_FormBuilder       1.0.0RC4    1.0.2          OK
MDB2                            2.0.0       2.4.1          OK
Date                            1.4.6       1.4.7          OK
HTML_Common                     1.2.2       1.2.5          OK
HTML_QuickForm                  3.2.5       3.2.13         OK
HTML_QuickForm_advmultiselect   1.1.0       1.5.1          OK
HTML_Table                      1.6.1       1.8.3          OK
Archive_Tar                     1.1         1.3.11         OK
Auth_SASL                       1.0.1       1.0.6          OK
Console_Getopt                  1.2         1.3.1          OK
Net_SMTP                        1.2.8       1.6.2          OK
Net_Socket                      1.0.1       1.0.14         OK
Net_Traceroute                  0.21        0.21.3         OK
Net_Ping                        2.4.1       2.4.5          OK
Validate                        0.6.2       0.8.5          OK
XML_RPC                         1.4.5       1.5.5          OK
SOAP                            0.10.1      0.13.0         OK
Log                             1.9.11      1.12.7         OK
Archive_Zip                     0.1.2       0.1.2          OK
All PEAR modules                                           OK
------------------------------------------------------------------------
                Centreon Post Install
------------------------------------------------------------------------
Create /usr/local/centreon/www/install/install.conf.php    OK
Create /etc/centreon/instCentWeb.conf                      OK
------------------------------------------------------------------------
        Start CentStorage Installation
------------------------------------------------------------------------
Where is your Centreon Run Dir directory?
default to [/var/run/centreon]
>
Do you want me to create this directory ? [/var/run/centreon]
[y/n], default to [n]:
> y
Path /var/run/centreon                                     OK
Where is your CentStorage binary directory
default to [/usr/local/centreon/bin]
>
Path /usr/local/centreon/bin                               OK
Where is your CentStorage RRD directory
default to [/var/lib/centreon]
>
Path /var/lib/centreon                                     OK
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved...
install www/install/createTablesCentstorage.sql            OK
Creating Centreon Directory ‘/var/lib/centreon/status‘     OK
Creating Centreon Directory ‘/var/lib/centreon/metrics‘    OK
Install CentStorage binary                                 OK
Change right : /var/run/centreon                           OK
Change macros for centstorage init script                  OK
Replace CentStorage sysconfig script Macro                 OK
Do you want me to install CentStorage init script ?
[y/n], default to [n]:
> y
CentStorage init script installed                          OK
CentStorage sysconfig script installed                     OK
Do you want me to install CentStorage run level ?
[y/n], default to [n]:
> y
CentStorage Perl lib installed                             OK
Install logAnalyser                                        OK
Install logAnalyserBroker                                  OK
Install nagiosPerfTrace                                    OK
Change macros for centstorage.cron                         OK
Install CentStorage cron                                   OK
Change macros for centstorage.logrotate                    OK
Install Centreon Storage logrotate.d file                  OK
Create /etc/centreon/instCentStorage.conf                  OK
------------------------------------------------------------------------
        Start CentCore Installation
------------------------------------------------------------------------
Where is your CentCore binary directory
default to [/usr/local/centreon/bin]
>
Path /usr/local/centreon/bin                               OK
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved...
Copy CentCore in binary directory                          OK
Change right : /var/run/centreon                           OK
Change right : /var/lib/centreon                           OK
Change macros for centcore.logrotate                       OK
Install Centreon Core logrotate.d file                     OK
Replace CentCore init script Macro                         OK
Replace CentCore sysconfig script Macro                    OK
Do you want me to install CentCore init script ?
[y/n], default to [n]:
> y
CentCore init script installed                             OK
CentCore sysconfig script installed                        OK
Do you want me to install CentCore run level ?
[y/n], default to [n]:
> y
CentCore Perl lib installed                                OK
Create /etc/centreon/instCentCore.conf                     OK
------------------------------------------------------------------------
        Start CentPlugins Installation
------------------------------------------------------------------------
Where is your CentPlugins lib directory
default to [/var/lib/centreon/centplugins]
> /usr/local/nagios/libexec
Path /usr/local/nagios/libexec                             OK
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved...
Change macros for CentPlugins                              OK
Installing the plugins                                     OK
Change right on centreon.conf                              OK
CentPlugins is installed
------------------------------------------------------------------------
        Start CentPlugins Traps Installation
------------------------------------------------------------------------
Where is your SNMP configuration directory
default to [/etc/snmp]
>
/etc/snmp                                                  OK
Where is your CentreonTrapd binaries directory
default to [/usr/local/centreon/bin]
>
/usr/local/centreon/bin                                    OK
Finding Apache user :                                      apache
Preparing Centreon temporary files
/tmp/centreon-setup exists, it will be moved...
Change macros for snmptrapd.conf                           OK
Replace CentreonTrapd init script Macro                    OK
Replace CentreonTrapd sysconfig script Macro               OK
Do you want me to install CentreonTrapd init script ?
[y/n], default to [n]:
> y
CentreonTrapd init script installed                        OK
CentreonTrapd sysconfig script installed                   OK
Do you want me to install CentreonTrapd run level ?
[y/n], default to [n]:
> y
trapd Perl lib installed                                   OK
Install : snmptrapd.conf                                   OK
Install : centreontrapdforward                             OK
Install : centreontrapd                                    OK
Create /etc/centreon/instCentPlugins.conf                  OK

装完后,启动服务

[root@jk centreon-2.5.0]# /etc/init.d/httpd start
Starting httpd:                                            [  OK  ]
[root@jk centreon-2.5.0]# /etc/init.d/mysqld start
Starting mysqld:                                           [  OK  ]
[root@jk centreon-2.5.0]# mysqladmin -u root -p password ‘mysqlpasswd‘
[root@jk centreon-2.5.0]# /etc/init.d/ndo2db start
Starting ndo2db: done.



启动nrpe

修改/usr/local/nagios/etc/nrpe.cfg

#allowed_hosts=127.0.0.1 这句修改为

allowed_hosts=127.0.0.1,192.168.1.225

command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1这句修改如下

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /

启动

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

把上面这句加到/etc/rc.d/rc.loal

这个步骤完成后,我们进行网页端安装

http://192.168.1.225/centreon 打开安装程序

如图:

填写正确的路径

填写管理员密码和邮箱

填写数据库用户名和密码

遇到下面这个错误

在/etc/my.cn 的MYSQLD段添加下面一句

innodb_file_per_table=1

然后重新启动MYSQL

service mysqld restart

Configuration->Monitoring Engines->Generate 勾选所有,然后点击Export



先把默认服务删除

添加一个check_ping命令

$USER1$/check_ping  -H $HOSTADDRESS$  -w $ARG1$ -c $ARG2$ -p $ARG3$

Configuration->Commands->Add

$USER1$/check_ping  -H $HOSTADDRESS$  -w $ARG1$ -c $ARG2$ -p $ARG3$

接着添加一个服务模板

Configuration->Services-Templates->Add

检查是否正确并生成配置:管理-》nagios 勾选所有动作-》导出

再添加一个命令check_nrpe ,Configuration->Commands->Add

$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$


下面添加服务

配置-》服务-》模板-》增加

添加check_load

添加check_users

添加check_ disk

添加check_zombie_procs

添加check_total_procs

关联模板:因为 Centreon-Server继承的是Servers-Linux主机模板,所以我们在Servers-Linux模板里将刚才的服务模板都关联上

检查是否正确并生成配置:管理-》nagios 勾选所有动作-》导出

过一会 如下图

下面说说nrpe监控WINDOWS

首先现在NRPE客户端 下载地址如下:

http://nsclient.org/nscp/downloads

在这里我们下载的是NSCP-0.4.2.88-x64.msi

然后安装这个软件

由于系统自带check_nt_cpu /check_nt_disk/check_memuse 我们再添加两个

添加一个check_nt_uptime命令

$USER1$/check_nt -H $HOSTADDRESS$ -p $ARG1$ -v UPTIME -s $ARG2$

再添加一个check_nt_service命令

$USER1$/check_nt -H $HOSTADDRESS$ -p $ARG1$ -v SERVICESTATE -d SHOWALL -l $ARG2$ -s $ARG3$

添加完成后我们依次添加服务模板

添加check_nt_cpu

添加check_nt_disk

添加check_nt_mem

添加check_nt_uptime

添加check_nt_services

添加完成后我们添加一台WINDOWS主机

添加完成后我们关联模板

检查是否正确并生成配置:管理-》nagios 勾选所有动作-》导出

过一会儿如下:

我们现在说说批量添加  这个要用脚本

脚本名称 add_host.pl

内容如下:

#!/usr/bin/perl
## ====================================================
use strict;
use warnings;
use DBI;
use DBD::mysql;
# ----------------------------------------------------
my $DB_HOST = "127.0.0.1"; //数据IP
my $DB_USER = "root"; //数据库用户名
my $DB_PASSWD = "passwd"; //数据库密码
my $DB_NAME = "centreon"; //数据库名称
my $dbh = DBI->connect("DBI:mysql:database=$DB_NAME;host=$DB_HOST",
                       "$DB_USER", "$DB_PASSWD", { RaiseError => 1 });
# ----------------------------------------------------
my $file_path = "./hosts";  //HOST文件
my $tpl_name = "Servers-Linux";  //模板
my $nagios_name = "Central";
foreach my $arg (@ARGV) {
    # == file of hostname and ipaddress ==
    if ($arg eq ‘-f‘) {
        $file_path = shift;
        }
    # == name of template ==
    elsif ($arg eq ‘-t‘) {
        $tpl_name = shift;
        }
    # == name of nagios name ==
    elsif ($arg eq ‘-n‘) {
        $nagios_name = shift;
        }
    else {
        &print_help();
        exit 1;
        }
    }
# -----------------------------------------------------
open (HOST, "$file_path") || die "Cannot open $file_path for read";
my $sql;
my $sth;
my $line;
my ($host, $ipaddr);
my ($host_id, $tpl_id, $nagios_id) = (0, 0, 0);
while (defined($line = <HOST>)) {
    # == skip blank lines =================
    next if ($line =~ /^\s*$/);
    # == skip if # ========================
    next if ($line =~ /^\s*#/);
    # == get host and ipaddress ===========
    ($ipaddr, $host) = split(/\s+/, $line);
    next if ($ipaddr eq ‘‘ || $host eq ‘‘);
    # == insert the host to table host ====
    $sql = "insert host set
host_template_model_htm_id=‘2‘,host_name=‘$host‘,host_alias=‘$host‘,host_address=‘$ipaddr‘,host_active_checks_
enabled=‘2‘,host_passive_checks_enabled=
‘2‘,host_checks_enabled=‘2‘,host_event_handler_enabled=‘2‘,host_flap_detection_enabled=‘2‘,host_process_perf_
data=‘2‘,host_retain_status_information=
‘2‘,host_retain_nonstatus_information=‘2‘,host_notifications_enabled=‘2‘,host_register=‘1‘,host_activate=‘1‘";
    $sth = $dbh->do($sql);
    sleep(1);
    # == get host_id ======================
    $sql = "select host_id from host where host_name=‘$host‘";
    $sth = $dbh->prepare($sql);
        $sth->execute();
    while (my $ref = $sth->fetchrow_hashref()) {
               $host_id = $ref->{‘host_id‘};
            print "host_id is $host_id\n";
                        }
        next if ($host_id == 0);
    # == insert extended_host_information ==
    $sql = "insert extended_host_information set host_host_id=‘$host_id‘";
    $sth = $dbh->do($sql);
    # == insert host_template_relation =====
    $sql = "select host_id from host where host_name=‘$tpl_name‘";
    $sth = $dbh->prepare($sql);
        $sth->execute();
    while (my $ref = $sth->fetchrow_hashref()) {
                        $tpl_id = $ref->{‘host_id‘};
            print "template id is $tpl_id\n";
                        }
        next if ($tpl_id == 0);
    $sql = "insert host_template_relation set host_host_id=‘$host_id‘,host_tpl_id=‘$tpl_id‘,`order`=‘1‘";
    $sth = $dbh->prepare($sql);
        $sth->execute();
    # == insert ns_host_relation ===========
    $sql = "select id from nagios_server where name=‘$nagios_name‘";
        $sth = $dbh->prepare($sql);
        $sth->execute();
        while (my $ref = $sth->fetchrow_hashref()) {
                        $nagios_id = $ref->{‘id‘};
            print "nagios id is $nagios_id\n";
                        }
        next if ($nagios_id == 0);
        $sql = "insert ns_host_relation set host_host_id=‘$host_id‘,nagios_server_id=‘$nagios_id‘";
        $sth = $dbh->prepare($sql);
        $sth->execute();
    # == insert complete ==
    print "insert $host to centreon complete\n";
    }
close(HOST);
$dbh->disconnect();
exit 0;
# --------------------------------------------------------------------------------
sub print_help {
    print "Usage ./insert_host.pl [-f path of host file] [-n nagios name] [-t template name]\n";
    print "\n";
    }


hosts文件格式如下:

192.168.1.222webserver1

192.168.1.223webserver2

.........

这个脚本只能批量添加主机无法添加服务,所以我们还得安装centreon-clapi

[root@jk soft]# tar xvzf centreon-clapi-1.5.2.tar.gz
[root@jk soft]# cd centreon-clapi-1.5.2
[root@jk centreon-clapi-1.5.2]# ./install.sh -i
##############################################################################
#
#                                                                             #
#              Module : Centreon CLAPI version 1.5                    #
#                                                                             #
##############################################################################
#
------------------------------------------------------------------------
        Checking all needed binaries
------------------------------------------------------------------------
rm                                                         OK
cp                                                         OK
mv                                                         OK
/bin/chmod                                                 OK
/bin/chown                                                 OK
echo                                                       OK
more                                                       OK
mkdir                                                      OK
find                                                       OK
/bin/grep                                                  OK
/bin/cat                                                   OK
/bin/sed                                                   OK
------------------------------------------------------------------------
        Load parameters
------------------------------------------------------------------------
Please specify the directory that contains "instCentWeb.conf"
> /etc/centreon/
------------------------------------------------------------------------
        Centreon CLAPI Module Installation
------------------------------------------------------------------------
Replacing macros                                           OK
Setting right                                              OK
Setting owner/group                                        OK
Create module directory                                    OK
Copying module                                             OK
Delete temp install directory                              OK
The centreon-clapi.1.5 installation is finished            OK
[root@jk centreon-clapi-1.5.2]#
cd /usr/local/centreon/www/modules/centreon-clapi/core/
vi centreon

require_once "$centreon_etc/centreon.conf.php";

改为

require_once "/etc/centreon/centreon.conf.php";

查看主机

[root@jk core]# ./centreon -uadmin -p111222 -o HOST -a show

id;name;alias;address;activate

14;Centreon-Server;Monitoring Server;127.0.0.1;1

16;windows;windows;192.168.1.254;1


应用关联模板 对WebServer1应用模板

./centreon -uadmin -p111111 -o HOST -a applytpl -v "WebServer1"




设置引导自动启动服务

[root@jk ~]# chkconfig --level 345 nagios on

[root@jk ~]# chkconfig --level 345 centcore on

[root@jk ~]# chkconfig --level 345 centstorage on

[root@jk ~]# chkconfig --level 345 ndo2db on

[root@jk ~]# chkconfig --level 345 httpd on

[root@jk ~]# chkconfig --level 345 mysqld on



[root@jk var]# service centstorage restart

Stopping centstorage:                                      [FAILED]

Starting centstorage:                                      [  OK  ]


这个服务一直启动不起来,多方测试均不可以 如下方法解决

/usr/bin/perl /usr/local/centreon/bin/centstorage --logfile=/usr/local/centreon/log/centstorage.log --severity=error


--config=/etc/centreon/conf.pm &

这样启动



如果要查看Nagios的页面要新建一个用户 如下  用户名必须是nagiosadmin


[root@jk ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

New password:

Re-type new password:

Adding password for user nagiosadmin

[root@jk ~]#

现在可以通过http://www.xxx.com/nagios访问


如果Poller States 红色状态,请查看/var/log/message

jk ndo2db: mysql_error: ‘Unknown column ‘importance‘ in ‘field list‘‘

如果有类似上面的错误,请重新新建一个nagios的数据库

到ndoutils-2.0.0的安装目录的 db目录

本例是/soft/ndoutils-2.0.0/db执行


./installdb -u root -p passwd -h localhost -d nagios

改成自己的mysql的用户名和密码

改完之后请在NDO2DB.CFG修改数据库名为nagios

查看/usr/local/centreon/log/sql-error.log文件 如果有以下错误

2014-04-10 13:36|0|0|DB Error: no such table QUERY : DELETE FROM centreon_acl WHERE group_id NOT IN (SELECT


DISTINCT acl_group_id FROM centreon.acl_res_group_relations)

这个是缺少个字段 解决办法如下:


mysql -u root -p

  use nagios;


 CREATE TABLE IF NOT EXISTS `centreon_acl` (

 `id` int(11) NOT NULL auto_increment,

 `host_name` varchar(255) default NULL,

 `service_description` varchar(255) default NULL,

 `group_id` int(11) default NULL,

 PRIMARY KEY (`id`),

 KEY `host_name` (`host_name`),

 KEY `service_description` (`service_description`),

 KEY `group_id` (`group_id`)

 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


如果系统日志不显示NOD2DB的相关日志  系统日志提示如下:

ndo2db: Warning: Retrying message send. This can occur because you have too few messages allowed or too few


total bytes allowed in message queues. You are currently using 64 of 3739 messages and 65536 of 65536 bytes in the


queue. See README for kernel tuning options.


那么修改 /etc/sysctl.conf

如果没有则添加,如果有则修改数值

kernel.msgmnb = 431072000

kernel.msgmni = 100000

kernel.msgmax = 6553600


修改完成之后 sysctl -p


如果还有其他错误  请检查nagios配置一些路径 在网页端对照一下


Nagios4.0.4 + Centreon2.5.0安装,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。